AnsweredAssumed Answered

i.MX8M USB3.0 HC died with external USB3.0 hub

Question asked by Marco Sandrelli on Aug 26, 2019
Latest reply on Sep 16, 2019 by Marco Sandrelli
Branched to a new discussion

Hi,

we encoutered probing issue when connecting and external USB3.0 HUB to i.MX8M EVK board.

We tested all kernel release, 4.9.88, 4.14-78, 4-14-98, 4-19.35, this is the kernel log:

               
[   34.078251] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   43.998616] usb 4-1.2: Failed to set U1 timeout to 0x0,error code -110
[   49.118597] usb 4-1.2: Set SEL for device-initiated U1 failed.
[   54.238593] usb 4-1.2: Set SEL for device-initiated U2 failed.
[   54.244511] usb 4-1.2: usb_reset_and_verify_device Failed to disable LPM
[   55.263099] usb 4-1.3: Failed to set U1 timeout to 0x0,error code -110
[   55.270168] usb 4-1-port2: cannot disable (err = -110)
[   55.275524] usb-storage 4-1.2:1.0:
[   60.382591] usb 4-1.3: Set SEL for device-initiated U1 failed.
[   60.388961] hub 4-1:1.0: hub_ext_port_status failed (err = -110)
[   65.502593] usb 4-1.3: Set SEL for device-initiated U2 failed.
[   65.508453] usb 4-1.3: usb_reset_and_verify_device Failed to disable LPM
[   66.526615] usb 4-1-port3: cannot disable (err = -110)
[   66.532402] usb-storage 4-1.3:1.0:
[   71.646601] hub 4-1:1.0: hub_ext_port_status failed (err = -110)
[   76.767094] hub 4-1:1.0: hub_ext_port_status failed (err = -110)
[  265.983062] random: crng init done
[  265.986525] random: 7 urandom warning(s) missed due to ratelimiting

 

After this log USB3.0 died and it doesn't work anymore, the only solution is unbind and bind the driver with:

 

echo xhci-hcd.1.auto > /sys/bus/platform/drivers/xhci-hcd/unbind
echo xhci-hcd.1.auto > /sys/bus/platform/drivers/xhci-hcd/bind

 

Sometimes it start to work again but sometimes it gives new errors logs:

 

[   45.022370] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command.
[   45.038589] xhci-hcd xhci-hcd.1.auto: xHCI host controller not responding, assume dead
[   45.046516] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command.
[   45.054893] xhci-hcd xhci-hcd.1.auto: HC died; cleaning up
[   45.055178] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055188] usb 4-1-port2: cannot reset (err = -22)
[   45.055195] usb 4-1-port2: cannot reset (err = -22)
[   45.055201] usb 4-1-port2: cannot reset (err = -22)
[   45.055208] usb 4-1-port2: cannot reset (err = -22)
[   45.055214] usb 4-1-port2: cannot reset (err = -22)
[   45.055217] usb 4-1-port2: Cannot enable. Maybe the USB cable is bad?
[   45.055226] usb 4-1-port2: cannot disable (err = -22)
[   45.055241] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055249] usb 4-1-port3: cannot reset (err = -22)
[   45.055256] usb 4-1-port3: cannot reset (err = -22)
[   45.055262] usb 4-1-port3: cannot reset (err = -22)
[   45.055268] usb 4-1-port3: cannot reset (err = -22)
[   45.055274] usb 4-1-port3: cannot reset (err = -22)
[   45.055277] usb 4-1-port3: Cannot enable. Maybe the USB cable is bad?
[   45.055284] usb 4-1-port3: cannot disable (err = -22)
[   45.055293] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055300] usb 4-1-port2: cannot reset (err = -22)
[   45.055306] usb 4-1-port2: cannot reset (err = -22)
[   45.055312] usb 4-1-port2: cannot reset (err = -22)
[   45.055318] usb 4-1-port2: cannot reset (err = -22)
[   45.055324] usb 4-1-port2: cannot reset (err = -22)
[   45.055328] usb 4-1-port2: Cannot enable. Maybe the USB cable is bad?
[   45.055334] usb 4-1-port2: cannot disable (err = -22)
[   45.055343] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055350] usb 4-1-port3: cannot reset (err = -22)
[   45.055356] usb 4-1-port3: cannot reset (err = -22)
[   45.055361] usb 4-1-port3: cannot reset (err = -22)
[   45.055367] usb 4-1-port3: cannot reset (err = -22)
[   45.055373] usb 4-1-port3: cannot reset (err = -22)
[   45.055377] usb 4-1-port3: Cannot enable. Maybe the USB cable is bad?
[   45.055383] usb 4-1-port3: cannot disable (err = -22)
[   45.055392] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055398] usb 4-1-port2: cannot reset (err = -22)
[   45.055405] usb 4-1-port2: cannot reset (err = -22)
[   45.055411] usb 4-1-port2: cannot reset (err = -22)
[   45.055417] usb 4-1-port2: cannot reset (err = -22)
[   45.055423] usb 4-1-port2: cannot reset (err = -22)
[   45.055426] usb 4-1-port2: Cannot enable. Maybe the USB cable is bad?
[   45.055435] usb 4-1-port2: cannot disable (err = -22)
[   45.055444] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055450] usb 4-1-port3: cannot reset (err = -22)
[   45.055456] usb 4-1-port3: cannot reset (err = -22)
[   45.055462] usb 4-1-port3: cannot reset (err = -22)
[   45.055468] usb 4-1-port3: cannot reset (err = -22)
[   45.055474] usb 4-1-port3: cannot reset (err = -22)
[   45.055477] usb 4-1-port3: Cannot enable. Maybe the USB cable is bad?
[   45.055483] usb 4-1-port3: cannot disable (err = -22)
[   45.055492] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055499] usb 4-1-port2: cannot reset (err = -22)
[   45.055505] usb 4-1-port2: cannot reset (err = -22)
[   45.055511] usb 4-1-port2: cannot reset (err = -22)
[   45.055517] usb 4-1-port2: cannot reset (err = -22)
[   45.055523] usb 4-1-port2: cannot reset (err = -22)
[   45.055526] usb 4-1-port2: Cannot enable. Maybe the USB cable is bad?
[   45.055532] usb 4-1-port2: cannot disable (err = -22)
[   45.055539] usb 4-1-port2: cannot disable (err = -22)
[   45.055542] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055548] usb 4-1-port3: cannot reset (err = -22)
[   45.055555] usb 4-1-port3: cannot reset (err = -22)
[   45.055561] usb 4-1-port3: cannot reset (err = -22)
[   45.055566] usb 4-1-port3: cannot reset (err = -22)
[   45.055573] usb 4-1-port3: cannot reset (err = -22)
[   45.055576] usb 4-1-port3: Cannot enable. Maybe the USB cable is bad?
[   45.055582] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055585] usb 4-1-port3: cannot disable (err = -22)
[   45.055591] usb 4-1-port3: cannot disable (err = -22)
[   45.055630] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.055640] hub 4-1:1.0: hub_ext_port_status failed (err = -22)
[   45.134900] sd 1:0:0:0: [sdb] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
[   45.134912] sd 1:0:0:0: [sdb] tag#0 CDB: opcode=0x28 28 00 00 00 02 00 00 02 00 00
[   45.134919] print_req_error: I/O error, dev sdb, sector 512
[   45.142355] sd 2:0:0:0: [sdc] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
[   45.142365] sd 2:0:0:0: [sdc] tag#0 CDB: opcode=0x28 28 00 00 00 02 00 00 02 00 00

 

Have you some exprience about it? Suggestion?

 

Thanks

Outcomes