NanoPI with UbuntuCore and USB problem - looking for help

Thanking you for running the tests :slight_smile:

Ok, so the Oppo, dmesg reporting no USB errors which is good and bad (assumes USB is working fine).

The only differences I can see is your DAC’s are running at USB 2.0 (high speed), mine is USB 1.x (full speed):

01/19 13:20:57 Trace: [RAAT::OPPO USB AUDIO 2.0 DAC] pcm card longname OPPO OPPO USB AUDIO 2.0 DAC at usb-1c1d000.usb-1, high speed
01/19 15:23:09 Trace: [RAAT::USB Audio Device] pcm card longname C-Media Electronics Inc. USB Audio Device at usb-1c1d400.usb-1, full speed

Roon logs indicate constant dropouts:

01/19 13:21:56 Warn: [RAAT::OPPO USB AUDIO 2.0 DAC] dropout of 882 samples at 580166 [2]

Are you by any chance using a USB hub on the Neo, or, DAC directly plugged into the Neo?

Also, if you get another chance, please can you try using the performance CPU governor on the Neo, then see if dropouts occur?
dietpi-config > Performance > CPU Gov > Performance

1 Like

Hi Dan,

The DACs are plugged directly into the NanoPi, no USB hub…

I am out for a few hours, I will run this as soon as I get home… thanks again!

1 Like

Success! :grinning: On both DACs, this setting fixes the “audio file is loading slowly” error messages…

I have only tried it for a few minutes on each DAC, but I want to report in…

Also, is there a way to keep this setting (it returns to “ondemand” after poweroff/on)

Thank you very much!

After a few minutes, I tested lowering the Max Freq down to 120 MHz, and then I changed the CPU Governor to powersave…

It all works fine! Is the issue related to the CPU scaling?

1 Like

Dang 58LesPaul ! I was just booting up trying to jump into the testing here as well, you beat me to it :angry: :laughing:
Sounds promising! Will test here later too!
/Kenneth

2 Likes

Great to hear. Yep, spot on, does indicate an issue with the ondemand scaling on 4.9 kernel. Appears the throttle up isn’t being triggered by Roon Bridge process. Or under-voltage issue with one of the frequency steps.

Also, is there a way to keep this setting (it returns to “ondemand” after poweroff/on)

DietPi applies your chosen CPU gov during bootup. So lets check settings, please paste results:
cat /DietPi/dietpi.txt | grep cpu_gov

And:
systemctl status firstrun -l

Finally, lets check current cpu gov:
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

1 Like

Good deal, here goes:

root@DietPi:~# cat /DietPi/dietpi.txt | grep cpu_gov
cpu_governor=powersave

root@DietPi:~# systemctl status firstrun -l
● firstrun.service - LSB: PLEASE DO NOT INTERRUPT THE FIRST BOOT
Loaded: loaded (/etc/init.d/firstrun)
Active: inactive (dead)

root@DietPi:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
powersave

Thanks, all appears to be in order, should be fine.
Please try selecting performance again from dietpi-config, reboot system and check the results match performance?

1 Like

Yes, you are right - all of the settings were saved :slight_smile:

Thank you for all your help!

1 Like

Excellent, thanks for letting me know :slight_smile:
I’ve made some notes and will try to debug the ondemand issue further. But for now, Performance CPU gov is a working solution.

Temps should be fine if only using RoonBridge (minimal CPU load), however, If not using a heatsink, might be worth checking CPU temps now and then (< 60’c is great, but < 80’c as a max limit):

cpu
1 Like

Yes, a very easy workaround :slight_smile:

I set it to performance mode, with the frequency at 480MHz (I saw that the device wasn’t always detected by Roon at the powersave setting)

I do have a heatsink; I just checked the CPU temperature after a couple of hours of playback… 29’c :snowflake: Who put me in the freezer? Haha :cool:

1 Like

Dang! Followed the guide from Dan above… no luck… gets massive drop-outs in the logs… :cry:
Will try to send logs to Dan directly
/Ken

Mmm wonder how I upload log files to Dan…mmmm…

Hi there,

If you are trying to attach files to a message, you’ll have to rename the .log or .txt file to .csv

Then you’ll be able to upload, and Dan will be able to read them…

Hope this helps!

1 Like

Logiles for Dan here. It’s one single document in PDF format - renamed to “.csv”.
Regards
Kennethlogfiles_Kenneth.csv (75.0 KB)

1 Like

@Kenneth_Rosenkrantz

Thanks for the logs.

Looks like the same issue, should be resolved by setting performance cpu gov:

01/21 18:38:17 Trace: [RAAT::MC-3+ Smart Clock USB 2.0] pcm card longname MUTEC GmbH MC-3+
Smart Clock USB 2.0 at usb-1c1d000.usb-1, high speed

[10.0.0.19:63943] SENT [6] {"samples":4410,"status":"Dropout"}
01/21 18:39:30 Warn: [RAAT::MC-3+ Smart Clock USB 2.0] dropout of 882 samples at 85908 [2]
01/21 18:39:30 Warn: [RAAT::MC-3+ Smart Clock USB 2.0] dropout of 882 samples at 86790 [2]
01/21 18:39:30 Warn: [RAAT::MC-3+ Smart Clock USB 2.0] dropout of 882 samples at 87672 [2]
01/21 18:39:30 Warn: [RAAT::MC-3+ Smart Clock USB 2.0] dropout of 882 samples at 88554 [2]
01/21 18:39:30 Warn: [RAAT::MC-3+ Smart Clock USB 2.0] dropout of 882 samples at 89436 [2]

Lets check CPU gov was applied. When running the following command:

cpu

What is the value of:

  • Governor
  • Current frequency

Hello Dan. Here are the results:

─────────────────────────────────────────────────────
DietPi CPU Info
Use dietpi-config to change CPU / performance options
─────────────────────────────────────────────────────
Architecture | armv7l
Temp | 40’c | Optimal temperature.
Governor | performance

             Current Freq    Min Freq   Max Freq

CPU0 | 1008 MHz 120 MHz 1008 MHz
CPU1 | 1008 MHz 120 MHz 1008 MHz
CPU2 | 1008 MHz 120 MHz 1008 MHz
CPU3 | 1008 MHz 120 MHz 1008 MHz

cat /DietPi/dietpi.txt | grep cpu_gov
cpu_governor=performance

systemctl status firstrun -l
firstrun.service - LSB: PLEASE DO NOT INTERRUPT THE FIRST BOOT
Loaded: loaded (/etc/init.d/firstrun)
Active: inactive (dead)

cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
performance

I still have the “Network error” messages… :cry:

1 Like

Thanks Kenneth,

Yep, looks fine, should be working :confused:. mmm, we could try limiting CPU clocks at each frequency and see if any of them have any effect on this. But, lets check network issues first.

I still have the “Network error” messages…

Can you elaborate on the errors you are receiving? And, are you using USB WiFi or onboard Ethernet on the Neo?

Hello Dan.
I use onboard Ethernet only directly to a Gig_switch with the Roon Server (Intel NUC) connected.
This is the error message:

I use Armbian, and it works fine with the NanoPii and Roonbridge

Our image is intially built with ARMbian build tools. It contains the same kernel, modules, uboot and firmware as per the ARMbian image.

@Kenneth_Rosenkrantz
I’ll build a 3.x Neo image, see if this resolves the issues you are experiencing. I’ll let you know when its ready for testing.