What's Happening
When the system suspends and I try to resume, it's stuck at a black screen saying "device descriptor read/64, error -71"
What's the Likely Cause
It's happening with USB bus 1-7, which is my Goodix fingerprint reader, which libfprint doesn't have a driver for. I don't care about this device correctly functioning. I just want my system to resume.
What I want to achieve
To solve this, I basically want to do any of the 3 things:
- Fix it so that the USB device no longer causes this error (unlikely)
- Completely disable the bus so that the kernel doesn't even talk to the device (which causes the error)
- Have GNOME shell or GDM ignores the error so that it resumes despite the error (which I don't care since the device won't work anyway)
Things I've Tried
Solution 1, as above
- As suggested by this thread: https://ubuntuforums.org/showthread.php?t=797789, I configured
usbcore.old_scheme_first
to Y through/etc/default/grub
. Now the kernel log prints two extra lines of:
usb 1-7: Device not responding to setup address.
without solving the problem.
- I also tried setting
usbcore.autosuspend
to -1, but that changed nothing.
Solution 2
I tried disabling the device through udev rules. That, according to tutorials online, is just setting authorized
to 0 on detecting the correct device. However, as I look into /sys/bus/usb/devices/1-7/authorized
, the content is already 0 without me setting the udev rule. That is, the device should already be disabled, probably due to lack of appropriate driver.
Solution 3
Not sure where to look or what to try.
Some logs
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 27c6:5395 Shenzhen Goodix Technology Co.,Ltd. Fingerprint Reader
Bus 001 Device 004: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 001 Device 009: ID 0c45:671d Microdia Integrated_Webcam_HD
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I can confirm through the vendor and device ID that usb1-7
corresponds to the Goodix fingerprint reader.
$ sudo dmesg | fgrep "1-7"
[ 1.980114] usb 1-7: new full-speed USB device number 3 using xhci_hcd
[ 1.980339] usb 1-7: Device not responding to setup address.
[ 2.188337] usb 1-7: Device not responding to setup address.
[ 2.396070] usb 1-7: device not accepting address 3, error -71
[ 2.524100] usb 1-7: new full-speed USB device number 4 using xhci_hcd
[ 2.546716] usb 1-7: New USB device found, idVendor=27c6, idProduct=5395, bcdDevice= 1.00
[ 2.546728] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.546734] usb 1-7: Product: Goodix Fingerprint Device
[ 2.546739] usb 1-7: Manufacturer: HTMicroelectronics
[ 2.546743] usb 1-7: SerialNumber: HTK32
Also, it seems to only happen on battery power, and yes, I'm on a Dell XPS 15 7950. But it's definitely different from Suspend fails to resume on Dell XPS 15 7590 on battery power only, because my case seems to be irrelevant to Bluetooth and I don't use deep sleep.
Thank you in advance and please let me know if I should post more detail!