Kernel needs patch for my USB DAC

I just got my Vero 4K and it’s running fine so far except my amplifier (Denon PMA-50) does not work up to its abilities (192 kHz / 24-bit) with it (limiting it to 44.1 kHz). It seems, the running kernel is too old to have a specific patch included to fix that. That’s annoying as the better USB performance over the Raspberry Pi was one of the main reasons for purchasing Vero 4K. Playing music via the optical output works fine, but I need the optical inputs of my amplifier for other appliances. Furthermore I would like to permanently connect squeezelite with the USD-DAC-Device of my amplifier instead of sharing it with Kodis Audio Output Channels and avoid blocking.

Here’s some background on the patch/change:
https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.10.62 (search for “clock source 41 is not valid, cannot use”)
Teac UD-503 / UD-501 – snd-usb-audio patch - Guillaume playground
http://flodotec.se/drupal/node/10

Syslog-Output on Vero 4K:
[ 328.202012] usb 1-2: new high-speed USB device number 2 using xhci-hcd
[ 328.343505] usb 1-2: New USB device found, idVendor=154e, idProduct=1003
[ 328.343618] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 328.343693] usb 1-2: Product: PMA-50
[ 328.343766] usb 1-2: Manufacturer: D & M Holdings Inc.
[ 328.383701] hid-generic 0003:154E:1003.0001: hiddev0,hidraw0: USB HID v1.10 Device [D & M Holdings Inc. PMA-50] on usb-xhci-hcd.0.auto-2/input2
[ 328.464216] usb-audio:2: clock source 41 is not valid, cannot use
[ 328.496360] usb-audio:2: clock source 41 is not valid, cannot use
[ 328.528964] usbcore: registered new interface driver snd-usb-audio
[ 328.867724] audio_dsp: buf=0
[ 328.867738] audio_dsp: IEC958_mode_raw=0
[ 328.867766] audio_dsp: IEC958_mode_codec= 0, IEC958 type 2 CH PCM
[ 328.867771] audio_dsp: last mode 0,now 0
[ 328.882665] aml_spdif_dai: aml_hw_iec958_init,runtime->rate=44100, runtime->channels=2, same source mode(1)
[ 328.882679] aml_spdif_dai: share the same clock
[ 328.882688] aml_audio_hw: IEC958 PCM32
[ 328.882695] hdmitx: audio: aout notify rate 44100
[ 328.882698] hdmitx: audio: aout notify size 32
[ 328.882702] hdmitx: audio: no update
[ 328.882712] aml_snd_m8_card aml_m8_snd.46: i2s/958 same source
[ 328.882876] aml_spdif_dai: aml_hw_iec958_init,runtime->rate=44100, runtime->channels=2, same source mode(1)
[ 328.882883] aml_spdif_dai: share the same clock
[ 328.882890] aml_audio_hw: IEC958 PCM32
[ 328.882895] hdmitx: audio: aout notify rate 44100
[ 328.882899] hdmitx: audio: aout notify size 32
[ 328.882902] hdmitx: audio: no update
[ 328.882910] aml_snd_m8_card aml_m8_snd.46: i2s/958 same source
[ 328.883033] channel count should be 8, we got 2 aborting
[ 328.889055] aml_snd_m8_card aml_m8_snd.46: I2S playback enable
[ 328.889071] aml_snd_m8_card aml_m8_snd.46: IEC958 playback enable
[ 389.259878] aml_snd_m8_card aml_m8_snd.46: I2S playback disable
[ 389.259932] aml_snd_m8_card aml_m8_snd.46: IEC958 playback disable
[ 389.264674] aml_spdif_dai: aml_hw_iec958_init,runtime->rate=44100, runtime->channels=2, same source mode(1)
[ 389.264716] aml_spdif_dai: share the same clock
[ 389.264748] aml_audio_hw: IEC958 PCM32
[ 389.264776] hdmitx: audio: aout notify rate 44100
[ 389.264795] hdmitx: audio: aout notify size 32
[ 389.264813] hdmitx: audio: no update
[ 389.264863] aml_snd_m8_card aml_m8_snd.46: i2s/958 same source

Syslog-Output on Raspberry Pi 3 (Debian GNU/LInux 9 stretch)
[ 1183.217610] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[ 1183.348508] usb 1-1.3: New USB device found, idVendor=154e, idProduct=1003
[ 1183.348526] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1183.348534] usb 1-1.3: Product: PMA-50
[ 1183.348544] usb 1-1.3: Manufacturer: D & M Holdings Inc.
[ 1183.353623] hid-generic 0003:154E:1003.0001: hiddev0,hidraw0: USB HID v1.10 Device [D & M Holdings Inc. PMA-50] on usb-3f980000.usb-1.3/input2
[ 1183.873156] usbcore: registered new interface driver snd-usb-audio

sok

Hello

Thanks for letting me know about the patch. I’ll have a look at this and see if it’s something that can be backported to our 3.14 kernel.

Sam

Hi

I apologise for the delay in getting back to you here.

Hopefully the issue is now addressed with the following commit:

I’d appreciate it if you could test this and provide feedback before we potentially release this as an update to other users. To test this update:

  1. Login via the command line
  2. Edit the file /etc/apt/sources.list
  3. Add the following line: deb http://apt.osmc.tv stretch-devel main
  4. Run the following commands to update: sudo apt-get update && sudo apt-get dist-upgrade && reboot
  5. Your system should have have received the update.

Please see if the issue is resolved.

I also recommend you edit /etc/apt/sources.list again and remove the line that you added after updating. This will return you to the normal update channel.

Sam

Hi Sam,

luckily the problem was resolved in January just after some major update was released. There is still the “clock source 41 is not valid, cannot use”-error, but I got squeezelite playing at up to 192 kHz and assumed that something in that update fixed it.

I dist-upgraded as you told me, the following packages were updated:
base-files bsdutils dbus libapparmor1 libblkid1 libc-bin libc-l10n libc6
libcups2 libdbus-1-3 libfdisk1 libmount1 libncurses5 libncursesw5
libnss-myhostname libpam-systemd libsmartcols1 libsystemd0 libtinfo5
libudev1 libuuid1 locales mount multiarch-support ncurses-base ncurses-bin
ntp openssh-client openssh-server openssh-sftp-server systemd systemd-sysv
udev util-linux vero3-mediacenter-osmc

The “clock source 41 is not valid, cannot use” messages remain but everything seems to work just fine.

sok

I have removed those messages now to prevent log spam. This will be in effect from the next update.