The more people using Volumio2 on a C2 with a USB Audio DAC, the more reports we seem to get about clicks and pops (with kver 3.14.79).
We are talking about various DACs, eg. a USB Waveio, a Parasound Halo Integrated (ESS Sabre32 Reference ES9018K2M, a Chord Mojo and an FX-AUDIO-D-802.
On request, the users tried nrpacks=1 and/or changed cpu affinity.
Nothing seems to be a real fix, though it did improve a little for some.
Eg. the Waveio seems to be ok with changeing cpu affinity, all others still suffer.
As there were reports of Volumio pre-releases not having this these issues, I requested a few of the users to verify an older (pre-release) Volumio version from August
(stilll with kver 3.14.29, compiled on 22/04/2016).
Then some of them indeed reported back that the version with the "old" kernel did not have such problems, the sound appeared to be clean.
After that, I tracked all USB driver commits between version 3.14.29 from 22/04 and 3.14.79 from 08/12 and "stumbled" over:
Code: Select all
Committed by mdrjr/ 24 May 2016
driver: drivers/amlogic/usb/dwc_otg/310/dwc_otg_hcd_queue.c
@@ -367,13 +367,13 @@ static int check_periodic_bandwidth(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
* Max periodic usecs is 80% x 125 usec = 100 usec.
*/
- max_claimed_usecs = 100 - qh->usecs;
+ max_claimed_usecs = 125 - qh->usecs;
else
/*
* Full speed mode.
* Max periodic usecs is 90% x 1000 usec = 900 usec.
*/
- max_claimed_usecs = 900 - qh->usecs;
+ max_claimed_usecs = 1000 - qh->usecs;
if (hcd->periodic_usecs > max_claimed_usecs) {
DWC_INFO("%s: already claimed usecs %d, required usecs %d\n", __func__, hcd->periodic_usecs, qh->usecs);
@@ -724,4 +724,4 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *qtd,
return retval;
}
-#endif /* DWC_DEVICE_ONLY */
+#endif /* DWC_DEVICE_ONLY */
To my big surprise, the pops and crackling are reported to be gone for the WaveIO, the Chord Mojo and the Parasound.
The FX-Audio has other issues, as it appears not related.
To me it seems we had regression between kernel Version 3.14.29 (compiled 22/04/2016) and 3.14.79 (compiled 08/12/2016)
What was the reason for the commit listed above and is there anything we can do to help solving the usb audio issue?
-Gé-