Debian / raspi3-image-spec

contains the files to build the https://wiki.debian.org/RaspberryPi3 image
127 stars 32 forks source link

non-HDMI audio not detected #54

Closed kelnos closed 5 years ago

kelnos commented 5 years ago

I've built an image using this tool (over the weekend, on Jan 19), but the non-HDMI audio doesn't seem to be detected. HDMI audio is detected:

$ cat /proc/asound/cards 
 0 [vc4hdmi        ]: vc4-hdmi - vc4-hdmi
                      vc4-hdmi

and I'm able to output audio that way when connected to a display, using aplay -D iec958 $FILE; however, connecting a powered speaker to the 3.5mm jack doesn't produce any output. I've tried adding dtparam=audio=on in /boot/firmware/config.txt, but that doesn't change anything.

Using a 32-bit Raspbian image, snd_bcm2835 is loaded and shows up as:

$ cat /proc/asound/cards 
 0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA
                      bcm2835 ALSA

Manually loading snd_bcm2835 doesn't do anything. Is the 3.5mm jack not yet supported in 64-bit mode? I see a couple references in the issue tracker here to HDMI audio, but nothing else related to the 3.5mm jack. I'm planning to use this RPi3 headless, but with a speaker attached, so the HDMI audio isn't something I can use.

gwolf commented 5 years ago

Hi, I can only confirm what you have reported. I tried to boot with and without an HDMI output connected, as it makes some differences, to no avail :-( We are using a stock Debian kernel. I do notice that:

# modprobe snd_bcm2835
[   68.047169] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.

So there might be something to it. snd_bcm2835 seems to correctly register and start its dependencies:

snd_bcm2835            32768  0
snd_soc_core          192512  1 vc4
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               114688  4 vc4,snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_timer              36864  1 snd_pcm
snd                    90112  4 snd_bcm2835,snd_timer,snd_soc_core,snd_pcm
soundcore              16384  1 snd
vchiq                 323584  1 snd_bcm2835

But I cannot provide any further insight ☹

kelnos commented 5 years ago

Yeah, the kernel message you see is just the module itself initializing; it prints that before it even tries to detect any hardware. On 32-bit Raspbian it also prints:

[    4.532065] bcm2835_alsa bcm2835_alsa: card created with 8 channels

but this is missing on 64-bit.

gwolf commented 5 years ago

This issue remains open. I am moving it over to salsa.debian.org as salsa.debian.org issue #4, please follow up there.