[RESPONDED] Kernel Regression? USB-Ports stopped working

I booted my Framework to find out that none of the expansion ports worked.

The kernel messages were filled with messages like

[    2.449908] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
[    2.449911] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.449912] usb usb1: Product: xHCI Host Controller
[    2.449912] usb usb1: Manufacturer: Linux 6.2.8_1 xhci-hcd
[    2.449913] usb usb1: SerialNumber: 0000:00:0d.0
[    2.450001] hub 1-0:1.0: USB hub found
[    2.450192] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
[    2.450193] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.450194] usb usb3: Product: xHCI Host Controller
[    2.450195] usb usb3: Manufacturer: Linux 6.2.8_1 xhci-hcd
[    2.450196] usb usb3: SerialNumber: 0000:00:0d.0
[    2.450248] hub 3-0:1.0: USB hub found
[    2.451596] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4
[    2.451598] xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed
[    2.451666] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.02
[    2.451668] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.451669] usb usb2: Product: xHCI Host Controller
[    2.451670] usb usb2: Manufacturer: Linux 6.2.8_1 xhci-hcd
[    2.451671] usb usb2: SerialNumber: 0000:00:14.0
[    2.451732] hub 2-0:1.0: USB hub found
[    2.453667] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
[    2.453670] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.453672] usb usb4: Product: xHCI Host Controller
[    2.453673] usb usb4: Manufacturer: Linux 6.2.8_1 xhci-hcd
[    2.453674] usb usb4: SerialNumber: 0000:00:14.0
[    2.453782] hub 4-0:1.0: USB hub found
[    2.454044] usb: port power management may be unreliable
[    2.689858] usb 2-3: new high-speed USB device number 2 using xhci_hcd
[    2.821914] usb 2-3: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=93.05
[    2.821926] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.821930] usb 2-3: Product: USB2.1 Hub
[    2.821932] usb 2-3: Manufacturer: GenesysLogic
[    2.824611] hub 2-3:1.0: USB hub found
[    2.898283] usb 3-2: new SuperSpeed USB device number 2 using xhci_hcd
[    2.914933] usb 3-2: New USB device found, idVendor=05e3, idProduct=0620, bcdDevice=93.05
[    2.914943] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.914947] usb 3-2: Product: USB3.1 Hub
[    2.914949] usb 3-2: Manufacturer: GenesysLogic
[    2.917446] hub 3-2:1.0: USB hub found
[    2.941916] usb 2-4: new high-speed USB device number 3 using xhci_hcd

But they were not responding, see blow:

[   15.191937] usb 3-3: device not accepting address 3, error -62
[   24.314242] usb 2-4: device descriptor read/64, error -110
[   24.529982] usb 2-4: new high-speed USB device number 4 using xhci_hcd
[   26.455999] usb 3-3: device not accepting address 4, error -62
[   26.464666] usb usb3-port3: attempt power cycle
[   29.946253] usb 2-4: device descriptor read/64, error -110
[   32.489072] usb 2-3-port2: cannot reset (err = -71)
[   32.489567] usb 2-3-port2: cannot reset (err = -71)
[   32.490017] usb 2-3-port2: cannot reset (err = -71)
[   32.490383] usb 2-3-port2: cannot reset (err = -71)
[   32.490826] usb 2-3-port2: cannot reset (err = -71)
[   32.490910] usb 2-3-port2: Cannot enable. Maybe the USB cable is bad?
[   32.491336] usb 2-3-port2: cannot disable (err = -71)
[   32.492141] usb 2-3-port2: cannot reset (err = -71)
[   32.492463] usb 2-3-port2: cannot reset (err = -71)
[   32.492703] usb 2-3-port2: cannot reset (err = -71)
[   32.492954] usb 2-3-port2: cannot reset (err = -71)
[   32.493186] usb 2-3-port2: cannot reset (err = -71)
[   32.493249] usb 2-3-port2: Cannot enable. Maybe the USB cable is bad?
[   32.493495] usb 2-3-port2: cannot disable (err = -71)
[   32.493631] usb 2-3-port2: attempt power cycle

So the quick-fix action I did was to unplug each and every expansion card and reseat them and plug back all the cables afterwards. Now all my attached devices work again.

I am on Linux 6.2.8. I’ll see if I can find out a bit more about this. Anybody else experienced the same after a cold boot?

No, though I’m on 6.2.9. I don’t think I experienced this while I was on 6.2.8, too.

Well today I had another weird issue.

I was connecting my NVME USB-C enclosure to my laptop but my new drive was not detected:

[  504.165247] usb 3-3: new SuperSpeed Plus Gen 2x1 USB device number 4 using xhci_hcd
[  504.178117] usb 3-3: New USB device found, idVendor=152d, idProduct=0583, bcdDevice=31.06
[  504.178126] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  504.178130] usb 3-3: Product: USB 3.2 Gen2x1 Storage Device
[  504.178133] usb 3-3: Manufacturer: JMicron
[  504.178135] usb 3-3: SerialNumber: DD56419884084
[  504.181781] scsi host0: uas
[  504.182274] scsi 0:0:0:0: Direct-Access     WD_BLACK  SN770 1TB       3106 PQ: 0 ANSI: 6
[  512.344028] sd 0:0:0:0: [sda] Unit Not Ready
[  512.344047] sd 0:0:0:0: [sda] Sense Key : 0x4 [current]
[  512.344048] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81
[  512.344607] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x00 driverbyte=DRIVER_OK
[  512.344608] sd 0:0:0:0: [sda] Sense Key : 0x4 [current]
[  512.344609] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81
[  512.345125] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=DRIVER_OK
[  512.345132] sd 0:0:0:0: [sda] Sense Key : 0x4 [current]
[  512.345135] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81
[  512.345146] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
[  512.345149] sd 0:0:0:0: [sda] 0-byte physical blocks
[  512.345635] sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
[  512.345794] sd 0:0:0:0: [sda] Asking for cache data failed
[  512.345800] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  512.346282] sd 0:0:0:0: [sda] Preferred minimum I/O size 4096 bytes not a multiple of physical
block size (0 bytes)
[  512.346288] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (0 bytes)
[  512.346813] sd 0:0:0:0: [sda] Attached SCSI disk

It was attached but was 0B and could not be used in any way.

I switched my USB cable to a known high-speed (TB 3 certified) one and the same issue.
Then I switched my cable to some no-name cable that has limited transfer speed … and I was able to mount and see my drive:

[ 2610.022722] scsi host0: uas
[ 2610.033579] scsi 0:0:0:0: Direct-Access     CT1000P3 PSSD8            3106 PQ: 0 ANSI: 6
[ 2612.241711] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[ 2612.241716] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 2612.241862] sd 0:0:0:0: [sda] Write Protect is off
[ 2612.241863] sd 0:0:0:0: [sda] Mode Sense: 6b 00 00 08
[ 2612.242204] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2612.242302] sd 0:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[ 2612.242303] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred
minimum block size (4096 bytes)
[ 2612.266040] sd 0:0:0:0: [sda] Attached SCSI disk

Something is definitely wrong here… I am just not sure whether its the controller on the NVME enclosure, the kernel, the cable or a combination of them.

Edit:
To be more specific:
I am currently limited to these speeds with my cable:

/dev/sda:
 Timing O_DIRECT cached reads:    64 MB in  2.00 seconds =  31.92 MB/sec
 Timing O_DIRECT disk reads: 102 MB in  3.06 seconds =  33.34 MB/sec

All faster cables have issues …

Hi @Anachron ,

would you know the speed limit of the noname cable that’s working? and this usually happens on kernel 6.2.8 on your end?

Not the specific speed, but I do guess that it’s usb 2.0 only.

I currently have all these issues on 6.2.8, yes. I will see if those issues happen on other kernels shortly. For now I am also checking the compability of my NVME enclosure to my NVME drive, maybe I’m missing something because another drive (Samsung 990 Pro NVME) worked just fine with those cables and enclosure.

To leave a bit more information on the table:

This is my enclosure: ICY BOX SSD M.2 NVMe, USB 3.1 (Gen2, 10 Gbit/s), USB-C, USB-A, PCIe M-Key
This is my faulty NVME: Crucial P3 Plus 1TB M.2 PCIe Gen4 NVMe Internal SSD
This is my working NVME: Samsung 990 PRO M.2 NVMe SSD (MZ-V9P1T0BW), 1 TB, PCIe 4.0

(can’t test with the “working NVME” right now because it’s the drive I am currently using for my OS)