Moin!
Nach ein paar Monaten (trügerischer) Ruhe nervt mich wieder mal ein Hardwareproblem: Mein kürzlich montierter JustBoom DAC HAT gibt keinen Ton von sich, wenn ich ihn via ALSA oder PulseAudio ansteuern will! In meiner /boot/config.txthabe ich den Onboard-Sound rausgeschmissen und dafür das Overlay für den JustBoom aktiviert:
Dann habe ich die Konfiguration überprüft:
pi@autoradio:~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: sndrpijustboomd [snd_rpi_justboom_dac], Gerät 0: JustBoom DAC HiFi pcm512x-hifi-0 []
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Mit alsamixerkomme ich sofort in die Mixer-Einstellungen meiner Soundkarte. Nun habe ich es mal mit ALSA direkt und mal mit PulseAudio probiert. Hier die entsprechenden .asoundrc-Files (oben ALSA, unten PulseAudio):
In der /etc/libao.conf habe ich den Parameter default_driver entsprechend angepasst und zusätzlich debug eingeschaltet. Für PulseAudio habe ich noch in der /etc/pulse/default.pa die Zeile load-module module-native-protocol-tcp load-module module-zeroconf-publish und den Server mit pulseaudio -D gestartet.
Beides klappt leider nicht. Ein Test mit speaker-test unter PulseAudio (nach einem Reboot natürlich) ergab das hier:
pi@autoradio:~ $ speaker-test
speaker-test 1.0.28
Wiedergabe-Gerät ist default
Stream-Parameter sind 48000 Hz, S16_LE, 1 Kanäle
Verwende 16 Oktaven rosa Rauschen
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Verbindung verweigert
Fehler beim Öffnen des Gerätes: -111, Verbindungsaufbau abgelehnt
Komisch, nicht? Alles läuft auf localhost, und trotzdem wird die Verbindung verweigert? Greife ich direkt auf ALSA zu, schaut's leider auch nicht viel besser aus:
pi@autoradio:~ $ speaker-test
speaker-test 1.0.28
Wiedergabe-Gerät ist default
Stream-Parameter sind 48000 Hz, S16_LE, 1 Kanäle
Verwende 16 Oktaven rosa Rauschen
Kanal-Anzahl 1 nicht unterstützt: Das Argument ist ungültig
Fehler beim Setzen der Hardware-Parameter: Das Argument ist ungültig
Wo zum Teufel steht denn, dass ich nur einen einzigen Kanal will, zumal der Alsamixer zwei analoge Ausgänge anzeigt?! Noch deutlicher wird ALSA, wenn ich eine Ogg-Datei abspielen möchte:
pi@autoradio:/import/valen/autoradio $ ogg123 -v Emergency_Alert_System_Attention_Signal_20s.ogg
debug: Loaded driver null (built-in)
debug: Loaded driver wav (built-in)
debug: Loaded driver raw (built-in)
debug: Loaded driver au (built-in)
debug: Loading driver plugins from /usr/lib/ao/plugins-4...
debug: Loaded driver oss
debug: Loaded driver pulse
debug: Loaded driver nas
debug: Loaded driver esd
debug: Loaded driver alsa
debug: Testing drivers to find playback default...
Audio Device: Advanced Linux Sound Architecture (ALSA) output
Author: Bill Currie <bill@taniwha.org>/Kevin Cody, Jr. <kevinc@wuff.dhs.org>
Comments: Outputs to the Advanced Linux Sound Architecture version 0.9/1.x
Playing: Emergency_Alert_System_Attention_Signal_20s.ogg
Ogg Vorbis stream: 1 channel, 44100 Hz
Vorbis format: Version 0
Bitrate hints: upper=-1 nominal=96000 lower=-1 window=0
Encoded by: Xiph.Org libVorbis I 20030909
Encoder: Cool Edit
ao_alsa debug: Trying to open ALSA device 'default'
ao_alsa debug: snd_pcm_hw_params_set_channels() failed.
ao_alsa debug: Unable to open ALSA device 'default'
ao_alsa ERROR: Unable to open ALSA device 'default' for playback => Das Argument ist ungültig
ERROR: Cannot open device alsa.
Display More
Sehe ich richtig, dass der Methode snd_pcm_hw_params_set_channels()ein Argument übergeben wurde, das dem JustBoom zuwider ist?
Danke für jeden zweckdienlichen Hinweis!