[Bug 213839] XHCI 7 port usb hub does not work correctly

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=213839

--- Comment #10 from Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) ---
So far I have only looked at the Linux trace.  It shows two unusual things I
don't understand.

One is that some process (I don't know which) re-reads the hub's device and
configuration descriptors while the second device is being initialized, and
apparently as a result of this the process decides to reset the hub.  Why does
this happen?

The second is that when the descriptors are re-read, the hub's config
descriptor has changed!  The original bmAttributes value is 0xe0, as shown in
the lsusb output above.  But the bmAttributes value in the trace is 0xc0; the
changed bit is the flag for Wakeup support.  Most likely this is a bug in the
hub's firmware.

Perhaps additional debugging information will help.  You can enable dynamic
debugging and snooping for USB by doing:

  echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
  echo 1 >/sys/module/usbcore/parameters/usbfs_snoop

Clear the kernel log buffer by doing:

  dmesg -C

Then plug in the hub and and plug in a device to one of the non-working ports. 
Let's see what the dmesg log shows after that.

Another unusual thing shows up clearly in the trace: The autosuspend_delay_ms
time is set to a very low value; it looks like 20 ms.  You might get better
results leaving the delay set to its default value of 2 seconds.  Or turn USB
autosuspend off entirely by doing:

  echo -1 >/sys/module/usbcore/parameters/autosuspend

before plugging in the hub.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



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

  Powered by Linux