xhci on Intel Lynx Point still broke

Hans Petter Selasky hps at bitfrost.no
Fri Oct 18 06:22:59 UTC 2013


On 10/18/13 03:23, Doug White wrote:
>
> On Oct 16, 2013, at 10:53 PM, Hans Petter Selasky wrote:
>
>> Is the problem fixed if you set:
>>
>> hw.usb.xhci.xhci_port_route=-1
>>
>> in /boot/loader.conf
>
> No, no change in (lack of) functionality.
>
> I uploaded these bootverbose-enabled dmesg outputs:
>
> With XHCI Mode = Disabled in BIOS (reverts ports to EHCI control):
>
> http://people.freebsd.org/~dwhite/dmesg.xhci_off_in_bios.20131017
>
> With XHCI Mode = Enabled in BIOS and with tunable hw.usb.xhci.xhci_port_route=-1 set:
>
> http://people.freebsd.org/~dwhite/dmesg.xhci_on.with_routing.20131017
>
>> XHCI is a more high-level controller, and I suspect that the makers have added some propritary glue to switch ports back and forth between XHCI and EHCI which is not documented anywhere.
>
> On the first board (X10SLM-F), XHCI Mode is a BIOS setting and affects all USB ports. I haven't experimented with settings on the Atom yet. The Atom uses a Renesas chip for its USB ports, though, and no USB from the SoC itself, that I can tell.
>

Hi Doug,

It looks like the XHCI controller is not getting any port events, like 
it should. Basically the XHCI controller you've got does not behave like 
I would expect, according to the XHCI specification from INTEL.

I've CC'ed Sarah Sharp @ Intel which is working on the Linux XHCI driver.

--HPS

Hi Sarah!

We FreeBSD guys have seen several oddities regarding the Lynx Point 
Intel based controllers, and would like to know if some additional 
datasheets exist regarding how ports switch actually works.

The last issue on the block was that the Lynx Point's returned a invalid 
parameter error on the set address command which configures the device 
context (no set address sent), if a USB device was plugged into the XHCI 
controller, and the port routing was enabled. If the command was issued 
when no USB device was plugged in by faking a port connection status 
change, then it would succeed.

> http://svnweb.freebsd.org/base/head/sys/dev/usb/controller/xhci.c?r1=255356&r2=255768

I'm sorry to say I fear this extra magic about the port routing for Lynx 
Points is not working like expected. Sarah, do you have any more clues 
for us FreeBSD USB guys?

Thank you!

--HPS



More information about the freebsd-usb mailing list