USB fix for small pops and clicks during playback? [Schiit Bimby]

I have been using DietPi for several months running RoonBridge into a HifiBerry DAC+ without any issues. I recently upgraded to a Schiit Biforst MB, and have been having some problems using the RPi2 as a USB PCM source. Somewhat frequently, about once per ~2 minutes, there is a small pop/click in the audio playback akin to an LP pop or a CD skip. I went through a few iterations of USB cable, hard USB adapter, and AQ Jitterbug, but none solved the problem. I also increased the hardware buffer in Roon, but that did not help either. I’m very certain this is not a network issue, since I never once heard the problem with the DAC+ HAT on the same RPi.

Some Google searching turned up the suggestion of adding dwc_otg.fiq_split_enable=0 to /boot/cmdline/txt

I have no idea what this actually does, but it seems to have completely fixed the click/pop issue described above. From what I understand about DietPi, all user customizations may be overwritten at the time of update. Is this apparent fix worth adding to the DietPi kernel? Any further insight into what this actually does? Any information I could find was substantially over my head. @Dan_Knight

[Edit: I spoke too soon, the pops are not completely gone, though maybe less frequent. Does this suggest any other USB-related software tweaks?]

One things begs the question/s are you running Lan or Wifi and is this bit rate related perhaps too?

Wired Ethernet with a static IP. The above obeservations were made using exclusively 16/44.1 FLAC content ripped from CD, which represents 95% of my collection. As mentioned, I’m quite confident there is not a network issue since I did not hear any pops using a HifiBerry hat on the same RPi2 for months.

The other issue might be the Ethernet/USB resource sharing on the RPi…This is a known issue for RPi’s

That said I am running RoPieee DSD512 to an OPPO Sonica DAC USB on a RPi 3B on Ethernet and no issues at all

@JWC

We could try playing with nrpacks=. Setting this lower will reduce latency (and number of packets per URB).

echo -e "options snd-usb-audio nrpacks=1" >  /etc/modprobe.d/nrpacks.conf
reboot

Confirm changes with:

cat /sys/module/snd_usb_audio/parameters/nrpacks

Failing that, lets try increasing the value, higher latency/packets may resolve under-runs:

echo -e "options snd-usb-audio nrpacks=20" >  /etc/modprobe.d/nrpacks.conf
reboot

Some Google searching turned up the suggestion of adding dwc_otg.fiq_split_enable=0 to /boot/cmdline/txt

Not sure what this actually does, i’ll try some research.

1 Like

Thanks for the suggestions. I’m away for a few days and will try these when I return.

Late last night during my button mashing approach to find a fix, I set the CPU to performance instead of power save. This should not have been necessary since htop indicated only about 2-4% CPU usage. However, I then had 20 minutes of pop-free listening before bed. I did not yet investigate the interaction of the CPU speed and the bit of USB setting code, but will investigate this and also your suggestions when I return in a few days.

Limit to 24/96 for the source? Helped me with an NAD D3020 via USB.

Hmmmm.

So, I started experimenting by deleting the dwc_otg.fiq_split_enable=0 line at 900 MHz clock speed, and remained click free. In order to reconfirm my baseline, I then dropped the CPU frequency back down to 600 MHz returning to the initial condition. I have not heard any pops after 45 min. While it is true that the RPi was rebooted during this process, the initially observed popping behavior persisted previously through several reboots. I have no idea what else would have changed while I was away, but the problem appears to have resolved itself.

That is a rather unsatisfactory outcome from a technical point of view, but at least the music now plays without interruption. I will certainly report back if the problem recurs.

[Edit: I performed a Roonserver backup the night before these new observations, which I believe suspends and restarts that service. Perhaps rebooting the core was all that was needed? That doesn’t fully explain why the initial transition to a 900 MHz CPU speed on the RPi banished the pops/clicks. Odd.)

Four years later, DietPi V.7 / RPi4 and I’m having the exact same problem. Granted the DAC is from before 2017.

RPi4, connected via ethernet, then USB to an Audiolab M-DAC. Sound is perfect when using a hifiBerry Digi with the SPDIF on the same DAC. Switching to USB and quite a few little clicks/pops, sounds rather like vinyl/cd skipping.

Yes I could just use SPDIF, but having volume control is pretty nice, and two way control works perfectly with Roon which is nifty.

Tried turning off the power saving mode (now at 1600mhz) and doesn’t solve the problem. Also in-between looking at this just upgraded to the latest 1.8 build (790) so not related to a restart.

I’ve since switched to using Ropieee instead of DietPi, mostly due to the Display features. The pops and clicks have generally vanished as well, which was a nice bonus.

I found another thread which might be my issue, seems the M-DAC doesn’t play nicely with a USB 3 bus.

I prefer DietPi’s proactive approach to security / updates so am glad to stick to it. Luckily I have a spare Pi3 sitting around so just loading up dietPi on it to give it a go.

Yup, switching to a pi3 and now its perfect.

1 Like