Re: usb audio popping on low cpu speed device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Shawn Lewis <shlewis@...> writes:

> 
> Hi list, I've been looking into an issue wherein a cheap usb sound
> card [1] plugged into a host system with a 400MHz mips core [2] makes
> audible popping noises, at a rate of up to a few times per second. I
> don't believe the problem is at the application or alsa layers, as I
> don't get underflow errors.
> 
> I'm running a 3.3.8 kernel from openwrt. The usb host uses the ehci
> driver. The sound card uses the snd-usb-audio driver.
> 
> This only happens when the wifi built into the chip is enabled, and
> wifi traffic is occuring. If I disable it there are no audible pops. A
> different cheap usb sound card produces less pop noises, but it still
> makes them.
> 
> My theory is that the wifi processing throws off the timing for the
> usb driver, so sometimes the isochronous schedule and data is not
> updated in time for the next usb frame. My understanding of usb/ehci
> is limited as I have only read the spec this weekend so I could be way
> off base. I might also be having a hardware/electrical issue rather
> than software/kernel.
> 
> Any tips or advice appreciated.
> 
> I can provide usbmon output for popping and non-popping cases. I also
> have audio recordings, and usb analyzer traces. The analyzer trace
> shows partial packets arriving during pops, with the rest arriving
> 200us later. There were sometimes other errors as well (sorry I don't
> have the analyzer trace on this machine).
> 
> [1]
http://www.amazon.com/Syba-SD-CM-UAUD-Adapter-C-Media-Chipset/dp/B001MSS6CS
> [2] http://wiki.openwrt.org/toh/tp-link/tl-mr3020
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@...
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

I just completed debug on an off-the-shelf WiFi access point with the
identical signature...several pops per second before the audio quits
altogether.  The other symptom was messages of "retire_capture_urb: 4984
callbacks suppressed" in the dmesg output that began when the audio disappeared.

Configuration: A MIPS-based MCU running OpenWRT with one USB root port, a
Terminus FE 1.1s USB 2.0 hub directly connected to it on the PCB, and an
audio card plugged into the external USB port downstream of the Terminus hub.

The hub chip was missing a 10uF capacitor on the VD18 pin (1.8V for the
internal PLL), not even a pair of pads for one.  Probing this pin showed
enough noise on this pin (which WiFi would exacerbate at times) to take the
voltage above spec and cause problems with USB connectivity w/the MCU's root
port.  I could only get a CATC trace between the hub and audio card, which
showed requests from the host disappearing altogether, but SOFs continuing
to the audio card (no more IN/DATA0 packets).

I deadbugged a 10uF cap across the VD18 and GND pins, and the router has
been running fine for 4 days now without issue.



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux