BUG - Left channel only heard when using USB DAC

Build: CoreELEC 9.0.3 Stable
Device: Odroid N2 4GB RAM (Amlogic S922X)

Steps to reproduce:

  1. Fresh CoreELEC install
  2. Connect Outlaw Audio RR2150 to USB port
  3. Select ‘ALSA: UAC3553B USB-DAC, Analog’ as Audio output device in Kodi system settings
  4. Playback some audio (music, or even system sounds)
  5. Result: Audio only on left channel

Logs (with increased audio verbosity enabled): https://pastebin.com/335fZHGv

Additional data points:
-Switching the audio output to HDMI (which is eventually fed into the same amplifier via line-out) works just fine.
-Tested on LibreELEC 9.02 with a Raspberry Pi 3B and this issue is not exhibited, which indicates to me this is a CoreELEC-specific issue

Thanks in advance for any assistance with this. Please let me know if there is anything else I can provide that would be helpful!

Or an Odroid N2 issue or a hardware defect.

Edit :
2019-07-04 03:55:57.110 T:4034909040 DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL, UNKNOWN1 (ALSA: FL UNKNOWN)

Can you post a debug log with LE on the Pi ?

Edit 2 : I am not an audio specialist myself but I bet that could be useful for others:
alsa-info.sh --stdout|paste
and paste the link here.

seems to be a driver problem for device 5&6 (USBDAC), as it reports wrong m_channels info:

Blockquote
2018-06-22 11:11:51.625 T:4043301744 NOTICE: Device 5
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_deviceName : @:CARD=USBDAC,DEV=0
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_displayName : UAC3553B USB-DAC
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_displayNameExtra: Analog
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_deviceType : AE_DEVTYPE_PCM
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_channels : UNKNOWN1, FL, FR
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_sampleRates : 48000
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_dataFormats : AE_FMT_S16NE,AE_FMT_S16LE
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_streamTypes : No passthrough capabilities
2018-06-22 11:11:51.625 T:4043301744 NOTICE: Device 6
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_deviceName : iec958:CARD=USBDAC,DEV=0
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_displayName : UAC3553B USB-DAC
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_displayNameExtra: S/PDIF
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_deviceType : AE_DEVTYPE_IEC958
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_channels : UNKNOWN1, FL, FR
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_sampleRates : 8000,11025,16000,22050,32000,44100,48000
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_dataFormats : AE_FMT_RAW,AE_FMT_S24NE3,AE_FMT_S16NE,AE_FMT_S16LE
2018-06-22 11:11:51.625 T:4043301744 NOTICE: m_streamTypes : STREAM_TYPE_AC3,STREAM_TYPE_DTSHD_CORE,STREAM_TYPE_DTS_1024,STREAM_TYPE_DTS_2048,STREAM_TYPE_DTS_512

Thank you for the quick responsej!

Kodi log (from LibreELEC on RPi): https://pastebin.com/j0PqhXHG
alsa-info.sh (from LibreELEC on RPi): http://ix.io/1NI8
alsa-info.sh from the CoreELEC Odroid N2: http://ix.io/1NIa

Just wanted to check in and see if there was any additional insight into this problem. While I’m not an expert in decoding these debug logs, there definitely appears ot be a difference in the channel information returned.

CoreELEC:

2019-07-04 03:55:57.110 T:4034909040 DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL, FR
2019-07-04 03:55:57.110 T:4034909040 DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL, UNKNOWN1 (ALSA: FL UNKNOWN)

LibreELEC:

2019-07-04 09:47:49.527 T:1906492272 DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL, FR
2019-07-04 09:47:49.527 T:1906492272 DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL, FR (ALSA: FL FR)

Obviously the kernel versions between the two are very different (LE 4.19.36 and CE 4.9.182). Is this perhaps the culprit?

I use Odroid C2, I had same issue in most of the systems DietPi, Librelec and CoreElec.The only kernel avaiable for Odroid at the moment is 3.14.x or 3.16.x and both had this bug. The only the workaround for me was to use “Pulseaudio (Bluetooth)” as the “Audio Device” in Kodi settings, ignore that it says bluetooth,. Then run (addded this script in autostart.sh) following script, so that Pulseaudio detects USB device:
pactl load-module module-udev-detect

I have feeling that this bug is due to snd-usb-audio kernel module reporting the channles as FL and UKNOWN to Kodi when ALSA is being used. May be that is fixed in later version of module.

1 Like

This worked for me!!
Thanks!
Can now use my USB wireless headset