Re: usb 3.0 not working

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

 



Hi Sarah. Thank you for your response. Please see the attachments and
some comments below.

On 6 April 2011 04:36, Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> wrote:
> 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`.

I think it is built in, but I don't know for sure. It's in a laptop. I
attach the normal
output of lspci and also the output of lspci when booted a kernel with
msi disabled for
xhci.

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

Unfortunately, I could not manage to reproduce the problem when run
with netconsole.
While normally 2.6.38 kernels either hang with screen corruption or
reboot when I attach
a device to the usb 3.0 port, with netconsole compiled as a module (I
believe I need to do
that to pass the network options or is there another way?) behavior is
similar to 2.6.37.

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

Attachment: dmesg-2.6.37.5
Description: Binary data

Attachment: lspci-output
Description: Binary data

Attachment: lspci-output-working
Description: Binary data


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

  Powered by Linux