Re: EHCI bus glue driver works for storage, fails for a WiFi module

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

 



On Sun, 29 Sep 2013, Arokux X wrote:

> > What happens if you back-port your glue driver to the vendor's kernel?
> 
> I have now 200 lines of code which are (almost) identical. They work
> in vendor's kernel and fail in mainline.

This indicates that the problem isn't in your glue driver, but is 
somewhere else in the kernel.

> > This isn't surprising.  The errors you are getting are hardware errors,
> > not protocol errors.  They could be caused by excessive noise in the
> > USB data lines.  Or there could be some sort of timing issue.
> 
> I've noticed there is ehci-timer.c now. It wasn't present at 3.4
> times. The main clock of the SoC I'm working on is running at 24Mhz.
> There are no hstimers implemented. Do you think it can be the problem?

I tend to doubt it.  In the traces you posted, almost every transfer 
worked.  Only a few of them got errors.  If timers were a problem then 
none of the transfers would have worked.

> A have tested several other USB devices: keyboard and Ethernet
> adapter. They worked. I'm not sure whether these test are "clean"
> since I connect them to the USB ports which are behind on-board 4-port
> USB hub. The hub is connected to the first USB host controller. The
> wifi module however is connected to the second USB host controller
> directly.
> 
> Do you have any ideas how can I troubleshoot this issue further? Is
> there any chance of regression in EHCI stack?

There's always a chance of a regression.

Can you try connecting the WiFi module to a regular PC?  Maybe that 
will provide some new ideas.

In your traces, the working case had about 200 us between each URB
completion and the following submission, whereas the non-working case
had much less time -- around 20 us.  Maybe in the new kernel, the bulk
transfers occur too rapidly for the WiFi module to handle.

Or maybe the problem lies in the EHCI hardware.  Have you checked for 
errata?

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




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

  Powered by Linux