On Thu, Mar 03, 2005 at 11:31:26PM +0100, Catalin Drula wrote:
> I have noticed that these lost bytes between the host and the controller
> are due to overruns on the UART (the BTUART, that is) of the PXA
> processor. These can be seen in /proc/tty/driver/serial. The immediate
> cause of the overruns seemed to be the irqs generated by the BTUART were
> not handled in a timely manner. It seems that the usb-ohci irqs (for the
> wlan interface) are to blame here. Once the wlan is taken down (ifconfig
> down) no more overruns occur. Sustained transfer rates (80kB/sec) can be
> acheived for extended periods of time (e.g. 12 hours) with no errors. I am
> not sure why the usb-ohci (or wlan driver) is causing this. Even if the
> wlan is not actually connected to a network, but it's "up" (thus
> generating only few irqs) it still causes overruns at the BTUART.
Have you ruled out some interaction between bluez and the net subsystem?
After looking at usb-ohci-h5400.c, it seems to be setting up the ohci
properly (but my opinion is novice at best). Most importantly the ohci
is using the samcop irq 17 to do it's work. Since other devices (like
buttons and sd) use the samcop irqs and they don't seem to cause
problems for bluetooth, I am suspicious.
It probably is not easy to do, but what does using the atmelwlandriver
instead ofthe berlios driver do for bluetooth performance? A decent
patch to the latest atmelwlandriver for h5[4,5]xx would probably be
helpful. I may try to dig that up again just for the fun of it.
If you have any avenues you intend or can think of exploring, please
reply. I can try to help with chasing down some of them.
E
-- Erik Hovland mail: erik AT hovland DOT org web: http://hovland.org/ PGP/GPG public key available on requestReceived on Thu Mar 03 2005 - 19:48:45 EST
This archive was generated by hypermail 2.2.0 : Mon Jul 25 2005 - 17:20:11 EDT