Re: USB regression in kernel 6.2.2

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

 



On Wed, 8 Mar 2023 17:16:01 +0200
Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> wrote:
 
> 
> Looks like that those devices initially enumerated fine, but suddenly
> disconnect about 19 seconds after boot.
> 
> [   19.155556] usb 2-1.1: USB disconnect, device number 4
> [   19.155685] cp210x ttyUSB0: cp210x converter now disconnected from
> ttyUSB0 [   19.159290] usb 2-1.4: USB disconnect, device number 6
> [   19.242344] usb 2-1.4: 3:0: failed to get current value for ch 0
> (-22) [   20.100761] usb 2-4.1: USB disconnect, device number 8
> [   20.100894] cp210x ttyUSB1: cp210x converter now disconnected from
> ttyUSB1 [   20.100999] cp210x 2-4.1:1.0: device disconnected
> [   20.107188] usb 2-4.2: USB disconnect, device number 9
> [   20.107253] cp210x ttyUSB2: cp210x converter now disconnected from
> ttyUSB2 [   20.107284] cp210x 2-4.2:1.0: device disconnected
> [   20.111938] usb 2-4.4: USB disconnect, device number 10
> [   20.181363] usb 2-4.4: 3:0: failed to get current value for ch 0
> (-22)
> 
> Interestingly those are all the devices behind external hubs.
> 
> Bisecting this to find the offending commit would be best, but a dmesg
> with xhci and usb core dynamic debug enabled could also show why
> those devices disconnect.
> 
> Adding "usbcore.dyndbg=+p xhci_hcd.dyndbg=+p" to your kernel cmdline
> should do this.

In addition to the debug output I have been looking at the diff between
kernel-6.1 and kernel-6.2 in the /drivers/usb tree, in particular under
/drivers/usb/core/hub.h and /drivers/usb/core/hub.c where the vendor
for this device with VID 0451 is newly listed although its PID is not:

Bus 003 Device 002: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub

this device is missing from lsusb output in kernel 6.2.2 but is present
with kernel 6.1.*

In my inexpert way I think it is all tied in to changes from a few
months ago (November 2022) that went into the 6.2rc kernels where the
early_stop capability was added to USB enumeration but I am certainly
not smart enough to identify exactly why the particular combination of
hardware I have is caught up in it. I can see from the extended dmesg
output that certain USB interfaces are unregistered for no obvious
reason and that once this happens they are invisible to the OS. The
altered USB core code would seem to be a prime suspect as the cause of
this regression.

-- 

Brian Morrison




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

  Powered by Linux