Trying to get the I2S audio working
I've found this tutorial https://onion.io/2bt-omega-i2s-audio/ by @Pavel-Metrokhin. It touts that "the very latest release of the Omega OS has support for I2S audio devices!", and goes on to point that in order to get the I2S support, b177 firmware version must be installed. I have the 0.2.1 (b199) firmware version, that should be containing the I2S support, unless it was removed in later versions.
So I set out to purchase the MAX98367A I2S mono amp breakout board. Today it finally arrived and I proceeded with the setup commands described in that link. However, when trying to play an mp3 file, I get this error:
root@Omega-ABCD:~# mpg123 Test.mp3 ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: No such file or directory ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default [alsa.c:170] error: cannot open device default [audio.c:645] error: failed to open audio device [audio.c:180] error: Unable to find a working output module in this list: alsa [audio.c:545] error: Failed to open audio output module [mpg123.c:913] error: Failed to initialize output, goodbye.
There's an identical error when trying to play a wav file with
$ aplay Test.wav
It appears the problem is connected to alsa not seeing any soundcard:
root@Omega-ABCD:~# aplay -Ll null Discard all samples (playback) or generate zero samples (capture) aplay: device_list:268: no soundcards found...
I am not sure what to do with this. How can I add a soundcard? The author of that tutorial made it look so simple and straightforward. Maybe I am missing some configuration command?
Do you see your I2S audio configured when you start the
root@Omega-ABCD:~# ls /usr/bin | grep alsa alsamixer root@Omega-ABCD:~# alsamixer cannot open mixer: No such file or directory
I think it's because there are zero sound cards to show configuration for:
root@Omega-E1F5:/usr/bin# alsamixer -c 0 invalid card index: 0 try `alsamixer --help' for more information
Somehow I must tell the system that there is one soundcard that should output to I2S.
Version b193 have a I2S. I use this version in my last project
@Andrew-Naumenko Well I have b199, shouldn't it work for me, too? What's your output from
aplay -Ll? It would be interesting to see what are the configuration differences between your system and mine.
@Pavils-Jurjans I tried to install b199 and received the same errors as yours. I decided to just roll back to the older version. Apparently when the developers added hardware PWM (b195), they decided to turn off the I2S.
@Andrew-Naumenko wow, you're totally right! I wonder, is this a bug or intentional removal of feature? Perhaps @Lazar-Demin knows to comment? b195 version is still the old console, and it even pleads to upgrade to the latest firmware at the setup. Kind of awkward.
root@Omega-ABCD:~# aplay -Ll null Discard all samples (playback) or generate zero samples (capture) default:CARD=AudioI2S Audio-I2S, Default Audio Device sysdefault:CARD=AudioI2S Audio-I2S, Default Audio Device **** List of PLAYBACK Hardware Devices **** card 0: AudioI2S [Audio-I2S], device 0: ralink-i2s-HiFi HiFi-0  Subdevices: 1/1 Subdevice #0: subdevice #0
Another strange thing I have noticed is that the wav file playback by
$ aplay Test.wavdid not succeed: no sound, and Omega just shuts down after few seconds, no error message whatsoever. Not that I cannot survive with only mp3 file support, but something fishy is going on there.