[Odroid-C2] HiFi Shield Plus

  • Hi,

    First thing, Thanks for keeping this lil bord updated. I was shocked this mornig wen I see a LE11 build for it!

    So, I just installed LE 11.0.3 on my C2. I use the HiFi Shield Plus to get RCA for my amp.

    In Kodi audio output i only have ALSA: odroid-c2 analog, HDMI and Pulse bluetooth

    Audio Work over HDMI.

    What i get over ssh:

    modprobe snd-soc-pcm5102
    modprobe: FATAL: Module snd-soc-pcm5102 not found in directory /lib/modules/6.1.38


    aplay -l

    **** List of PLAYBACK Hardware Devices ****
    card 0: ODROIDC2 [ODROID-C2], device 0: fe.dai-link-0 (*) []
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    The driver or module is in the le11 odroid package? or it's now unssuported?

    Thanks in advance for your help!

  • I've update it with this image, nothig goes wrong except for the hifi shield. Still nothing new in kodi settings / audio or harware devices in ssh.

    I've applied update on a fresh install just to be sure and i double cheked the hifi wire.

  • Nope, official updates are normally done using .tar files as those are faster to unpack/update from. The .img.gz also works but needs an extra step. Both have identical KERNEL/SYSTEM and .dtb files inside.

    I did a little research on the HK forum and we need to construct a new device-tree overlay that adds nodes for the pcm5102 chip and audio card routing. Update to this file (again, it's been updated):

    https://chewitt.libreelec.tv/testing/LibreELEC-AMLGX.aarch64-11.80.0.tar

    Then run the following from the SSH console:

    Code
    mount -o remount,rw /flash
    cp /usr/share/bootloader/meson-gxbb-odroidc2-hifishield.dtb /flash/
    sed -i 's/meson-gxbb-odroidc2/meson-gxbb-odroidc2-hifishield/g' /flash/extlinux.conf
    mount -o remount,ro /flash
    rebooot

    This should switch u-boot over to the hifishield device-tree file, and then we discover how accurate my blind guesswork was?

    Please share URLs from "dmesg | paste" and "aplay -l | paste" and "aplay -L | paste" so we can see if anything happened.

    To be clear, I'm not expecting audio output in Kodi yet, as I suspect audio mixer routing changes are required too.

  • chewitt , I just flash it then run step in ssh but got a no such file on step 3

    Code
    LibreELEC (chewitt): 11.80.0 (AMLGX.aarch64)
    Cuisine:~ # mount -o remount,rw /flash
    Cuisine:~ # cp /usr/share/bootloader/meson-gxbb-odroidc2-hifishield.dtb /flash/
    Cuisine:~ # sed -i 's/meson-gxbb-odroidc2/meson-gxbb-odroidc2-hifishield/g' /fla
    sh/extlinux.conf
    sed: /flash/extlinux.conf: No such file or directory

    I continue anyway with step 4 and 5 to reboot it and that's my dmesg:

    Code
    attached file cuz I hit 30k


    Now aplay -l

    Code
    Cuisine:~ # aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: ODROIDC2 [ODROID-C2], device 0: fe.dai-link-0 (*) []
      Subdevices: 1/1
      Subdevice #0: subdevice #0

    And aplay -L

  • Code
    mount -o remount,rw /flash
    cp /usr/share/bootloader/meson-gxbb-odroidc2-hifishield.dtb /flash/
    sed -i 's/meson-gxbb-odroidc2/meson-gxbb-odroidc2-hifishield/g' /flash/extlinux/extlinux.conf
    mount -o remount,ro /flash
    rebooot

    ^ repeat, we moved extlinux to a directory at some point.

  • Updated and step 1 to 5 works great

    Code
    dmesg in txt

    aplay -l

    Code
    Cuisine:~ # aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: ODROIDC2 [ODROID-C2], device 0: fe.dai-link-0 (*) []
      Subdevices: 1/1
      Subdevice #0: subdevice #0

    aplay -L

  • Hello,
    a big thank you for including the Odroid C2 in version LE11!
    I also have the same issue regarding the HiFi Shield Plus module, which is not detected with LE11.
    I've tried the commands without success. I'm available to conduct further tests.
    Thanks for the assistance. Have a great day.

  • The result :

    https://paste.libreelec.tv/harmless-turtle.log

    **** List of PLAYBACK Hardware Devices ****
    card 0: ODROIDC2 [ODROID-C2], device 0: fe.dai-link-0 (*) []
    Subdevices: 1/1
    Subdevice #0: subdevice #0


    null
    Discard all samples (playback) or generate zero samples (capture)
    default:CARD=ODROIDC2
    ODROID-C2,
    Default Audio Device
    sysdefault:CARD=ODROIDC2
    ODROID-C2,
    Default Audio Device
    hdmi:CARD=ODROIDC2,DEV=0
    ODROID-C2,
    HDMI Audio Output

  • I rather doubt that I'll figure this out without access to hardware for local testing and tinkering. If you spot a hifi-shield card or even a complete C2 with one included for sale somewhere let me know.

  • I rather doubt that I'll figure this out without access to hardware for local testing and tinkering. If you spot a hifi-shield card or even a complete C2 with one included for sale somewhere let me know.

    Thanks for trying! I just order a hdmi extractor for my amplifier. Ship my hifi card from Canada should cost more than the box itself lol

    Thanks and keep your good work!

  • I did reach out to HK but got their standard-ish "oh this is no longer sold.." response which basically means they no longer care for support (outside of their legacy kernels) and as usual support is entirely up to the community.

  • I was looking into a bit similar problem. As stated above, the magic is the device tree (overlay). It is required to get the pin routing right, here the newer kernels and dts need to work together properly. For getting e.g. SPDIF output to work, I had to modify the device tree file to actually enable it (creating packages/linux/patches/default/linux-080-odroid-c2.patch):

    That worked for me a couple of month ago, unfortunately I fried my C2 board and thus being unable to test it again. Hope this find someone helpful though ...

  • chewitt Updated with LibreELEC-AMLGX.aarch64-11.80.0.tar

    Got no change in Kodi audio output or over ssh

  • I rather doubt that I'll figure this out without access to hardware for local testing and tinkering. If you spot a hifi-shield card or even a complete C2 with one included for sale somewhere let me know.

    I did reach out to HK but got their standard-ish "oh this is no longer sold.." response which basically means they no longer care for support (outside of their legacy kernels) and as usual support is entirely up to the community.

    Hi chewitt,

    I created an account just to ask you if you are still interested in a HiFi-Shield2 card?

    I have an Odroid C2 at home that I was able to revive with the help of LibreELEC. As I am now using a SMSL AO-300 through USB, I have a spare HiFi-Shield2 card that you might use to add support in LE.

    Would you be interested?

    Thank you again for all your hard work and saving electronics from e-waste!