Volumio 2 on Odroid Boards

Many thanks! We’re hoping the best! :slight_smile:

This did not help, unfortunately our focus is now on PI, Tinkerboard and x86 for the next few weeks.
I firmly believe that the problem is caused by an old problem, trying to set mixer to “software”.
At the moment this is necessary, I will give it another go as soon as we have a stable beta.
I can’t promise to get the software mixer solved, there is still a chance this is caused by the old kernel and the drivers. Let’s keep oiur fingers crossed and be patient.

Additional info: this problem only concerns the onboard HDMI and SPDIF audio and the Hifi shields.
When using a USB Audio DAC, things appear to work just fine.

I am trying to use a HiFi Shield 2 with Odroid-c2 and I am getting no sound. When I connected to a monitor, I could see i2c kernel token error messages in the logs. I tried reformatting, but still no luck. When I try to choose the dac in Volumio, I only see the option for Shield HiFi, not HiFi-2. The mixer type says only “none” and “software”. Neither options work. Is there a need to edit any files in order to enable on the c2? I saw the instruction for the c4, but the c2 image doesn’t have the file mentioned in the c4 wiki/op.
aplay -l does not list pcm512x

Hopefully someone can help.

volumio@volumio:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S dit-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ODROIDDAC [ODROID-DAC], device 0: I2S pcm5102-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

There were no previous reports that this is not working, the C2 image already exists for several years.
Let me know the exact version you are using, otherwise there is no chance to help.

The token error messages are “sort of” ok, it is the result of probing for i2c interrupts addresses, not nice but it it the way the C2 kernel reacts to it. Can’t change that unfortunately. After Volumio has gone through the startup procedure, you should not see anymore of them.

Basically, you will never have a Hifi Shield/Shield+ and a Hifi Shield 2 in Volumio playback options at the same time.
When it only shows Hifi Shield/Shield+ then it means it did not recognize your Hifi Shield 2 (all the probes where nagative).
Sure it is a HiFi Shield 2 or did you install any other hardware which might be conflicting with the i2c bus/interrupt address, which Shield 2 is using?

Please read this IMPORTANT notice!

I’m working on an update for all supported Odroid devices.
They should be available sometime tonight.

New updates are available, either use OTA (System Menu → System → Check Updates) or reflash.
Of course, many other changes flowed into this version.
Refer to the changelog on the download page for a detailed list since your last update.

volumio-2.916-2021-10-01-odroidc1
volumio-2.916-2021-10-01-odroidc2
volumio-2.916-2021-10-01-odroidc4
volumio-2.916-2021-10-01-odroidn2
volumio-2.916-2021-10-01-odroidxu4

Hi,
Odroid c1+ owner here.
I have encountered few issues:

  1. SSH not working (connection refused) but WebUI up and running (im 100% sure i’m not the issue here since with the same history command 30s before the ssh was working properly). The only things i did was manually mount a samba storage (here lies the second issue) and connecting a WiFi dongle without configuring it (i had Ethernet cable in). After resetting via webui the ssh came back (i’ll soon test with WiFi dongle again)

  2. Can’t mount SMB shares i normally use with other devices. I have the same error (-95) found here https://github.com/volumio/Volumio2/issues/1517 but when i use sudo mount -t cifs -o guest,ro,dir_mode=0777,file_mode=0666,i ocharset=utf8,noauto,soft,vers=2.1 //192.168.1.52/Disco /mnt/Disco the share is mounted and i can browse it via ssh but no luck in the webui

  3. Wifi dongle not recognized with sudo iwconfig. The device according to lsusb is a BCM4323, maybe i’m missing the driver?

FIXES

  1. Not yet
  2. I added vers=2.1 in the option and it was mounted properly

Any help would be great

  1. no idea what causes this issue. In the 6 years we support C1 this has never been reported before.
  2. Adding “vers=…” to the options is mandatory for all smb servers running a smb version > 1.0
  3. Broadcom dongles are not supported in Hardkernel’s kernel v3.10, there are no drivers for them.

Ouch thank you for the reply.
I do have another question i’ve tried to install a driver but most likely it wont work.
When i do factory reset is the system restoring its state and removing all the installed things or is is just a matter of configuration?

Another thing that is driving me mad although it is not strictly related to odroid products is that music library scan stucks on pretty much all my folders.
I’ve seen posts about removing them but I will end up with 10 albums at most.
Could you please help me out on this?

info: CURURI: music-library
info: CoreCommandRouter::volumioGetQueue
info: CoreStateMachine::getQueue
info: CorePlayQueue::getQueue
info: CoreCommandRouter::executeOnPlugin: mpd , getMyCollectionStats
info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri
info: CURURI: music-library/NAS
info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri
info: CURURI: music-library/NAS/Audio
info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri
info: CURURI: music-library/NAS/Audio/224 FLAC Albums MASSIVE Collection
info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri
info: CURURI: music-library/NAS/Audio/224 FLAC Albums MASSIVE Collection/Mental Jewelry
error: Failed LSINFO: null

Scanning issues are not C1-specific, I can’t help much with that.
As for the WiFi driver problem, I would advice to use another dongle, manually compiling and installing a driver is impossible without the proper kernel header files. I don’t have them.
I know, RTL8821AU, RTL8188EU and Atheros AR9721 dongles work.
Note, hot-plugging does not work well on a C1, make sure the dongle is fitted before booting.

Which product does contain one of those chip?
Also on my odroid c1+ the media library scanning is taking days, is there away to avoid it or reduce the time it takes? Can i save it?

Ever heard of google? :roll_eyes:
Try “RTL8188EU dongle” :wink:

You can also use Ralink 5370 dongles, some have an antenna.

Scanning a 12’000 track NAS share takes approx. 30min here.
I’m afraid I can’t help with that, it is not C1-specific

I’ve tried with DSD files and even with DSD Direct the DAC is not reproducing them as DSD64/128/256. Instead they are converted to PCM 384/768Khz

On my Rpi 4 they are correctly reproduced instead (DSD64/128/256 logo on my DAC)
Any idea?

man oh man, could you please gives us some more info instead of us having to drag it out of you.
How am I supposed to know what DAC you’re talking about?
All USB audio devices, capable of DSD direct, need to be registered in the kernel’s usb audio driver on the platform you use. Your’s is probably not in.
Start with a full log from the <your-ip/dev> page and post the link you get.
And also give the output from

lsusb

This gives me the DAC’s “VendorID:ProductID” to check.

volumio@volumio:~$ lsusb
Bus 001 Device 003: ID 152a:8750 Thesycon Systemsoftware & Consulting GmbH
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The DAC is a Topping D50 DAC and as i said on RPi4 it works.
Ill provide you the startup log as soon as i have access to the HW for more time

yes, this is a DAC with generic Thesycon firmware and is supported on modern kernels.
However, bad news, while checking I just noticed, that the C1 usb audio driver offers no DSD direct support at all and it cannot be patched either. The kernel is way too old, DoP is all you can have.
This also makes your log obsolete, I’m sorry

After reflashing the sdcard and changing HDD on NAS the music library is imported much faster but i have a big issue.
I’m now suffering of unresponsiveness of the system and mpd crashing during music library import.
Basically imports works flawlessly till around 620 tracks (i believe its the total) and then the system become super unresponsive and kswap0 kicks in (i guess killing cifs and mpd process).

top - 08:46:10 up 4 min,  1 user,  load average: 1.40, 0.97, 0.43
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
%Cpu(s): 23.1 us,  5.9 sy,  0.0 ni, 70.6 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    823568 total,   712368 used,   111200 free,     1840 buffers
KiB Swap:        0 total,        0 used,        0 free.    35388 cached Mem


  533 mpd       20   0  593988 435656   5480 S 100.3 52.9   1:12.24 mpd
   44 root      20   0       0      0      0 S   9.6  0.0   0:00.54 kswapd0
 1113 shairpo+  20   0   90956   2048   1224 S   1.0  0.2   0:02.98 shairport-sync
 1417 root      20   0    2992    960    588 R   1.0  0.1   0:01.07 top
   14 root      20   0       0      0      0 S   0.7  0.0   0:07.24 ksoftirqd/1
   67 root      20   0       0      0      0 S   0.3  0.0   0:00.23 kthread_di
  895 volumio   20   0  200952  69332  14312 S   0.3  8.4   0:28.44 node
 1110 volumio   20   0  109260   2968   1988 S   0.3  0.4   0:00.64 upmpdcli
    1 root      20   0    5340   2264    628 S   0.0  0.3   0:06.50 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.08 ksoftirqd/0
    4 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.06 kworker/u8:0
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.12 rcu_preempt
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_sched
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/1
   13 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/1


    top - 08:26:00 up 9 min,  3 users,  load average: 13.27, 7.04, 2.96
Tasks: 153 total,   2 running, 151 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us, 12.1 sy,  0.0 ni, 33.3 id, 54.6 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    823568 total,   717576 used,   105992 free,      320 buffers
KiB Swap:        0 total,        0 used,        0 free.    11620 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   44 root      20   0       0      0      0 S  13.0  0.0   0:32.60 kswapd0
   76 root     -51   0       0      0      0 S   5.5  0.0   0:13.86 irq/110-sdhc
  133 root       0 -20       0      0      0 D   4.5  0.0   0:11.05 loop0
 1236 volumio   20   0   10628   1240    544 D   3.1  0.2   0:07.34 sshd
  520 root      20   0    3104    704    464 D   2.6  0.1   0:01.16 systemd-logind
    1 root      20   0    5400   2180    532 D   2.4  0.3   0:11.85 systemd
  905 volumio   20   0  200964  56260   1004 D   2.4  6.8   0:33.07 node
 2012 root      20   0   30512   1824    116 D   2.3  0.2   0:00.32 smbd
  499 volumio   20   0   29772   1032    336 S   2.1  0.1   0:05.39 volumio-remote-
  898 root      20   0   18248   1492    304 D   1.9  0.2   0:05.49 nmbd
   77 root      20   0       0      0      0 S   1.8  0.0   0:04.49 mmcqd/0
  501 root      20   0    2344    504    348 D   1.8  0.1   0:04.85 volumiologrotat
 1111 volumio   20   0  101064   1504    508 D   1.3  0.2   0:03.75 upmpdcli
  662 ntp       20   0   20120   1888    456 S   0.8  0.2   0:04.06 ntpd
  933 root      20   0   30512   2300    592 S   0.7  0.3   0:01.11 smbd
  938 root      20   0   30512   2024    316 D   0.7  0.2   0:00.72 smbd
  552 avahi     20   0    4636    752    424 S   0.6  0.1   0:00.98 avahi-daemon
 1154 volumio   20   0  851216   1684    264 S   0.5  0.2   0:00.71 streaming-daemo
  190 root      20   0       0      0      0 S   0.3  0.0   0:01.51 kworker/0:2
  120 root       0 -20       0      0      0 S   0.2  0.0   0:00.22 kworker/1:1H
  490 root      20   0    7168   3452    396 S   0.2  0.4   0:03.10 haveged

Could this be related to the low RAM available?
I tried volumio@volumio:~$ sudo echo 1 > /proc/sys/vm/drop_caches but nothing changed
Unfortunately when it freezes i can’t send the logs anymore but still journalctl -f has nothing relevant inside.

About the old kernel, have you ever look into this ?

https://armbian.hosthatch.com/dl/_old/odroidc1/

it seems it is based on kernel 5.10

Yes, I know Armbian very well and the great work they do to the community.
However, Armbian dropped regular support for the C1/C1+ a long time ago.
They have started something experimental, it it is without any i2s audio component because mainline support for s805 is very limited. It does not support eMMC, no usb hot-plugging etc.
For us this is useless as a reference.

So, please accept that there will be no more 3.10.y kernel updates, neither from Hardkernel, from Armbian or from us.
I have no intention to invest time to figure out if there is an alternative way to get DSD support to the C1 kernel. As said before, DoP is all you can have.
I’m really sorry, but it is the way it is :disappointed:

I got your point, still i use no i2s audio, i use USB DAC which is always plugged in (hot-plugging not needed) and i do have an SDCard so i just felt it could have been useful.

Can you help me out with the issue i’m facing above?