RE: Linux xHCI compartmentalization

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

 



Sarah:

Thanks for the prompt response.  It unfortunately confirmed what I expected our situation to be.

I am intrigued by one aspect of your response -- that regarding the nature of early xHCI driver operation with xHCI 1.0 "integrated" hosts such as those produced by Intel.  I am wondering in particular if you had any experience with using the Texas Instruments 73x0 host controllers with your driver, and if there are any specific issues you can recall using that host device?  My understanding, in fact, was that at least some of the Intel devices actually supported a USB 2.0-compliant operating mode that allowed them to be used as USB 2.0 hosts in environments where USB 3.0 support was not (yet) available in the OS.  I currently have an inquiry with TI tech support regarding whether such an option exists on the 7320 device.

Ultimately, I believe you highlighted the substantive issues with producing a driver by back-porting from 3.x to 2.6.29.  Back-porting even the 2.6.32 driver to 2.6.29 required not merely additions to the usb/host area (i.e., the new xhci* files), but modifications to existing usb/core files as well -- and the ultimate result is spotty operation of USB 2.0 devices on the USB 3.0 ports (i.e., sometimes they work, sometimes they crash Linux).  Meanwhile, back-porting a 3.x driver to 2.6.29 confronts significant re-factoring changes in the entire USB source code tree.

Nevertheless, we may well be facing no viable alternative than to attempt just such a back-port while limiting the changes made outside the drivers/usb/host scope to the minimum necessary to support the new xHCI host operation.  If you are interested, I'll let you know if such a port proves successful.

Thanks again for taking the time to respond to my inquiry.

Gary Cordelli
Embedded Computer Engineer
Mentor Computer Consulting LLC
the embedded computer company

-----Original Message-----
From: Sarah Sharp [mailto:sarah.a.sharp@xxxxxxxxxxxxxxx] 
Sent: Friday, September 05, 2014 6:18 PM
To: Gary Cordelli
Cc: linux-usb@xxxxxxxxxxxxxxx
Subject: Re: Linux xHCI compartmentalization

On Wed, Sep 03, 2014 at 09:20:28PM +0000, Gary Cordelli wrote:
> Sarah:
> 
> Thank you for all the great work you put into providing the xHCI driver for USB 3.0 host hardware support in Linux.
> 
> Alas, I am stuck with an installed base of platforms that run a 2.6.29.6 kernel that has just absorbed a whole mess of hardware using a different SBC that has a combination of USB 3.0 and USB 2.0 interfaces (where the installed base has all USB 2.0 interfaces).  Ach!  After several tweaks to support the different chipset (GPIO driver, SATA driver, HDA audio driver, and USB2.0-to-serial), I discovered that we could not do without using at least one of the USB 3.0 interfaces.  In looking at the xHCI driver, however, it appears that its tentacles may reach deep into the bowels of Linux - at least looking at recent kernels.
> 
> Do you know if there is a kernel release close to the 2.6.29.6 architecture that you would also consider to include a reasonably stable xHCI implementation?  I have looked at 2.6.32.5 briefly, but was given information that this "experimental" xHCI support is not recommended for use.  Frankly, it does not have to be a full-featured implementation (since we are only trying to reproduce/replace a USB 2.0 capability), but it would hopefully be a stable implementation (no unexpected crashes).  Can you advise?

The xHCI driver wasn't really stable for xHCI 1.0 host controllers (integrated hosts like Intel) until the 3.0 kernel.  I would recommend installing one of the supported long-term stable kernels like 3.2.

But I really can't help you or support you through backporting those drivers from the stable kernel to your ancient 2.6.29.6 kernel.  There are far too many changes in the USB core to just do a straight backport of the xHCI driver -- and many of those changes are necessary for full xHCI driver support.

If you're on a vanilla stable kernel, the kernel community will happily help you debug it.  If not, you're on your own.

> Gary Cordelli
> Embedded Computer Engineer
> Mentor Computer Consulting LLC
> the embedded computer company

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