RPi4 no 5.1 audio with USB sound card

  • Hi!

    I borrowed a Raspberry Pi 4 4GB model from a friend, loaded the LibreELEC-RPi4.arm-9.1.001.img.gz image on it, connected my Creative SB X-Fi (USB id 041e:30df) to it and booted it up. The USB DAC works fine as long as i only want it to output 2 channel audio but as soon as i switch to 5.1 the systems goes quiet, no GUI or movie sounds on any of the channels.

    The same DAC works fine on x86 with LibreELEC-Generic.x86_64-9.0.2.

    I attached the kodi.log.zip i fetched from the Pi4.

  • Hi!

    Have you managed to solve this issue?


    I used to have: RPi3 (latest libreELEC) + USB SB X-Fi 5.1 + Genius SW-HF 5000. I was running this setup for two years with full 5.1 surround working just fine (except occasional cracking which a RPi reset always solved). I've recently bought a RPi4 4GB to replace my old RPi3. Now I have the same issue as you - only 2.0 sound works, everything else results in absolute silence.

    I've been trying to sort this out for two days in a row now with no result...

    Cheers!

  • I'm sorry i didn't answer earlier but i gave the board back to it's owner and i kinda forgot about it. Now i bought my own and i can confirm that this issue still exists in LibreELEC 9.2.3. Since the fix for the issue you linked from github is in the newer kernel versions i don't think that's the problem.

    Anyways, here is a debug log from kodi with the audio component logging enabled. I deleted the parts that were about extracting thumbnails from my media collection because they made the logfile huge. Didn't touch anything else.

    I also attached the output of the dmesg (the contents of that are a little bit suspicious to me but i don't know how to debug this) and the lsusb commands if that helps. logs.zip

  • Your dmesg is spammed with "Not enough bandwidth for new device state.". This indicates you're probably running into a limitation of the USB controller, see eg this thread here: Not enough bandwidth for new device state. - Raspberry Pi Forums

    There's a beta USB firmware available here Raspberry Pi 4 VL805 firmware release 0138a1 - Raspberry Pi Forums which could help (it increases the maximum allowed size of isochronous endpoints).

    First make sure that your bootloader and USB firmwares are up-to-date (in Settings->LibreELEC->Update). If they are up-to-date but you still have the issue you can try to update to the beta USB firmware. You can do this from LE as well - copy the vl805-000138a1.bin over, run rpi-eeprom-update -u vl805-000138a1.bin and then reboot.

    so long,

    Hias

  • Thanks for the suggestions!

    I upgraded everything, even tried the beta usb firmware, but the "Not enough bandwidth for new device state." message remains and there's still no 5.1 audio output.

    Reading the information on your links makes me think this is a general USB related issue with the Rpi4, not a LibreELEC bug, so I guess i'll just stick with my old Raspberry Pi 3 for now.

  • I gave it another go on Libreelec 10.0.3. The card still does not work in 6 channel mode with the PCIe USB controller but supplying the board through the GPIO, setting the USB-C port into host mode and using a USB-C -> USB-A adapter did the trick (the type you can plug stuff into your mobile phone with, but i can not write the proper term because this forum automatically censors the word f*m*le for some stupid reason).

    For this to work i needed to put otg_mode=1 in /flash/config.txt (this wasn't supported by LE9).

    I also had to create a custom alsa channel mapping in the /storage/.config/asound.conf file:

    pcm.myoutput {

    type hw

    card "Pro"

    chmap [ "FL,FR,FC,LFE,SL,SR" ]

    channels 6

    hint.description "my output with fixed chmap"

    }

    Then after selecting the output inside Kodi it seems to work. Finally.