Re: usb 3.0 not working

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

 



On Wed, Apr 06, 2011 at 01:20:18AM +0400, Sergey Galanov wrote:
> Hi.

Hi Sergey,

> USB 3.0 is not working on my Asus N53SV laptop (SandyBridge with Fresco Logic
> 1000 usb 3.0 controller).

I'm the USB 3.0 (xHCI) maintainer, and I'll try to help you out.  Please
Cc me on any USB 3.0 questions in the future. :)

> 2.6.35 kernel works more or less okay with the following relevant output in the
> log:
> 
> [    7.597345] xhci_hcd 0000:04:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ
> 19
> [    7.597426] xhci_hcd 0000:04:00.0: setting latency timer to 64
> [    7.597432] xhci_hcd 0000:04:00.0: xHCI Host Controller
> [    7.597482] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus
> number 3
> [    7.734380] xhci_hcd 0000:04:00.0: supports USB remote wakeup
> [    7.734401] xhci_hcd 0000:04:00.0: irq 19, io mem 0xdd200000
> [    7.734467] usb usb3: Manufacturer: Linux 2.6.35.11 xhci_hcd
> [    7.734530] xHCI xhci_add_endpoint called for root hub
> [    7.734532] xHCI xhci_check_bandwidth called for root hub
> 
> However all the subsequent versions I tried (2.6.36, 2.6.37 and various
> variants of 2.6.38) produce the following output:
> 
> 
> [    6.465150] xhci_hcd 0000:04:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ
> 19
> [    6.465230] xhci_hcd 0000:04:00.0: setting latency timer to 64
> [    6.465235] xhci_hcd 0000:04:00.0: xHCI Host Controller
> [    6.465291] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus
> number 2
> [    6.601686] xhci_hcd 0000:04:00.0: supports USB remote wakeup
> [    6.601706] xhci_hcd 0000:04:00.0: irq 19, io mem 0xdd200000
> [    6.601739] xhci_hcd 0000:04:00.0: Failed to enable MSI-X
> [    6.601817] xhci_hcd 0000:04:00.0: irq 47 for MSI/MSI-X
> [    6.601916] usb usb2: Manufacturer: Linux 2.6.37.5 xhci_hcd
> [    6.601994] xHCI xhci_add_endpoint called for root hub
> [    6.601996] xHCI xhci_check_bandwidth called for root hub
> 
> 
> Difference is in the 'failed to enable MSI-X' message. When I attach a device
> to the usb 3.0 port a message is printed:
> 
> do_IRQ: 0.160 No irq handler for vector (irq -1)

Interesting.  MSI-X and MSI support was added in 2.6.36, but we should
fall back to legacy PCI interrupts if MSI doesn't work.  Can you
recompile a 2.6.37 kernel with CONFIG_USB_DEBUG and
CONFIG_USB_XHCI_HCD_DEBUGGING turned on and send me the dmesg output?

I also remember there was an issue with Express Card xHCI controllers,
that was supposed to be fixed by this patch:

https://patchwork.kernel.org/patch/612171/

The patch was supposed to be queued for the 3.6.38 stable tree, but I'm
not sure if it's in there yet.

Is your USB 3.0 host controller built into the board or is it an
external card?  Can you post the output of `sudo lspci -vvv`.

> 2.6.38 behaves even worse: some of the variants I tried give a kernel panic and
> some just simply reboot the computer when I attach an usb 3.0 device.

Ouch, that's bad.  Can you capture the kernel panic with netconsole?  I
have a tutorial here if you've never used it before:

http://sarah.thesharps.us/2010-03-26-09-41

> This problem was introduced with commit
> 43b86af83da7db8b2c6d85ca970203950e5bad88
> (the one which added support for MSI-X in the xhci driver). If I
> 'revert' that commit by commenting
> out msi-related calls on the recent kernel versions, usb 3.0 seems to
> work. Is there a
> 'clean' way to disable it?

If MSI-X fails, the xHCI driver should fall back to MSI, and then legacy
PCI interrupts.  So we should be using legacy PCI interrupts and working
just fine.  I'd need the full dmesg with those configuration options I
mentioned turned on before I can figure out what's really happening.

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