Re: usb wifi dongle stops working

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

 



Thanks Alan,
Sounds good to do that.

However, I was thinking to root cause this.
The way that you suggested (imitating x86) and also what I did (skipping one PING) are kind of workarounds.


Alan Stern wrote:
On Fri, 13 Nov 2009, Viral Mehta wrote:

Hi,

I am debugging an issue for a USB device (usb wifi dongle from TP-LINK TL-WN321G which is using Ralink RT73 chipset). I am using it on an embedded board running Linux 2.6.30 on ARM architecture. When I configure the USB controller in USB 1.1 speed, my USB device (i.e. usb wifi dongle) works perfectly fine. But when the USB controller is configured for USB 2.0, the device stops working *after some time* when doing large data transfer at high speed.

The system becomes non-responsive. I could capture the USB packets (using analyzer) between controller and device and found that there was *continuous* PING - NAK token exchanges were happening. I could re-confirm this scenario by putting some debug prints in controller driver. From this observation, I assumed that it may happen that device is not able to release the buffers and because of that its sending NAK to each incoming PING request.

When I reduced the number of PINGs sent out by USB controller driver, the device was working fine. Currently I am skipping every alternate PING token from controller driver, but it is hitting network performance badly.

From my experiments, I found that USB host controller is working perfectly fine with mass storage devices. ALSO USB WiFi dongle is working fine with X86 platform (Desktop PC which has intel usb hcd). I found that USB wifi dongle has the same bulk in/out endpoints as of mass storage devices (i.e. no interrupt endpoints are present in dongle).

I am not sure in which direction I should debug further. Any inputs in same regard will be helpful.

Have you compared the analyzer logs from the X86 machine with the logs
from your embedded board?  Maybe if you can program your board to
imitate the PING packet timings of the X86 then the dongle will work
better.

Alan Stern

--
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


Email Scanned for Virus & Dangerous Content by : www.CleanMailGateway.com


--
_____________________________________________________________________
Disclaimer: This e-mail message and all attachments transmitted with it
are intended solely for the use of the addressee and may contain legally
privileged and confidential information. If the reader of this message
is not the intended recipient, or an employee or agent responsible for
delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution, copying, or other use of
this message or its attachments is strictly prohibited. If you have
received this message in error, please notify the sender immediately by
replying to this message and please delete it from your computer. Any
views expressed in this message are those of the individual sender
unless otherwise stated.Company has taken enough precautions to prevent
the spread of viruses. However the company accepts no liability for any
damage caused by any virus transmitted by this email.
_____________________________________________________________________

--
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