Tweaks for USB Digital Analog Converter (DAC)
From Nearline Storage
The Bottom Line
I found three purported fixes for audio issues with high-end USB DAC's on the Raspberry Pi:
- A boot command line setting which fixes the crackling in the audio.
- Add "dwc_otg.fiq_split_enabled=0" to end of line in /boot/cmdline.txt
- Confirm, after rebooting, by finding "dwc_otg: FIQ split fix disabled" in /etc/kern.log
- This did not stop the crackling in the output from my TEAC DAC. Switching back to the Behringer DAC did.
- A USB module option that eliminates overrun messages in kern.log and syslog
- Add "nrpacks=1" to end of "options snd-usb-audio index=-2" line in /etc/modprobe.d/alsa-base.conf. (This option did not exist in 3.10.25 kernel and blocked module from loading there. Works fine in current 3.10.27 kernel.) This should stop all the "delay: estimated 0, actual 98" messages in kern.log and syslog.
- I need this, regardless of which USB DAC I use. I expect to be able to remove it once I get to a 3.13 kernel.
- An updated USB sound module in the 3.13 Raspberry Pi kernel that eliminates the overrun messages and is more efficient than setting the module option.
- See Compiling New Kernel For Raspberry Pi for a script that will build a new kernel on another, faster Linux system and copy it over to the target Raspberry Pi system.
- This does work, but would have to be maintained outside of the Raspian distro that I'm using, so I reverted to the distro's kernel and the nrpacks module option.