Skip to content

[rpi zero 2w] Disconnect/connect USB devices on the fly leads to unrecoverable error in USB driver #6247

@qrp73

Description

@qrp73

Steps to reproduce:

  1. Use Raspberry Pi Zero 2W device with latest raspi os bookworm 64 Linux rpi2w 6.6.31+rpt-rpi-v8 raspberrypi/bookworm-feedback#1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
  2. Run dmesg -w to monitor kernel errors
  3. Disconnect all devices from USB port
  4. Connect USB keyboard
  5. Disconnect USB keyboard
  6. Repeat steps 4 & 5 in a loop until this error in dmesg output:
[  431.506128] usb 1-1: device descriptor read/64, error -71

UPDATED NOTE: connect/disconnect should be long enough to detect new connection, but not enough to read device info (see details below).

After that the system is unable to detect USB device connections anymore. Only reboot can fix it. But it still can accept ssh connection through WiFi.

It may take 10-30 connect/disconnect loops to catch the issue.

Device: Raspberry Pi Zero 2W Rev 1.0
Revision : 902120

$ cat /etc/rpi-issue
Raspberry Pi reference 2024-03-15
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, f19ee211ddafcae300827f953d143de92a5c6624, stage2

$ vcgencmd version
May 24 2024 15:31:28 
Copyright (c) 2012 Broadcom
version 4942b7633c0ff1af1ee95a51a33b56a9dae47529 (clean) (release) (start)

$ uname -a
Linux rpi2w 6.6.31+rpt-rpi-v8 raspberrypi/bookworm-feedback#1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

The log:

[  427.362039] Indeed it is in host mode hprt0 = 00041501
[  428.178199] Indeed it is in host mode hprt0 = 00021d01
[  428.506226] Indeed it is in host mode hprt0 = 00021d01
[  428.694165] usb 1-1: new full-speed USB device number 14 using dwc_otg
[  430.358619] Indeed it is in host mode hprt0 = 00021501
[  431.178152] Indeed it is in host mode hprt0 = 00021d01
[  431.506128] usb 1-1: device descriptor read/64, error -71
[  433.680703] Indeed it is in host mode hprt0 = 00021501
[  434.498169] Indeed it is in host mode hprt0 = 00021d01
[  434.826084] usb 1-1: device descriptor read/64, error -71
[  434.934131] usb usb1-port1: attempt power cycle

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions