Bug#1065138: fwupd: "failed to load BOS descriptor" disables my mouse
Package: fwupd
Version: 1.9.14-1
Severity: important
Dear Maintainer,
I have a Kensington Expert Mouse (trackball) connected by USB. Today I
installed the update to fwupd 1.9.14 that `apt upgrade` offered me. Soon
afterwards, my trackball stopped working. I was able to re-enable it by
disconnecting and reconnecting it, but this proved short-lived - it eventually
cut out again. I reconnected it and it worked for a little longer, then I had
to reconnect it again, and eventually reconnecting it did nothing - it stayed
non-functional.
I started checking the logs, and eventually I noticed this error message
appearing shortly before the messages recording the trackball's reconnection:
fwupd[1106287]: 01:23:55.952 FuUsbDevice failed to load BOS descriptor
from USB device: USB error on device 047d:1020 : Operation timed out [-7]
I can confirm that 047d:1020 identifies my trackball:
$ for name in
/sys/bus/usb/devices/1-1.6/{idVendor,idProduct,manufacturer,product}; do printf
"%s\t%s" "$(basename "$name")"; cat "$name"; done
idVendor 047d
idProduct 1020
manufacturer Kensington
product Kensington Expert Mouse
I ran "systemctl stop fwupd", reconnected my trackball, and then it worked
fine.
Investigating further, I discovered that I can disable my trackball on-demand
by running "sudo fwupdtool get-devices". It prints the following output:
Loading… [******* ]05:01:05.132
FuUsbDevice failed to load BOS descriptor from USB device: USB error
on device 047d:1020 : Operation timed out [-7]
Loading… [************************************** ]
...and then my trackball stops working until I reconnect it.
It seems that fwupd 1.19.14's changelog mentions "Fix DS-20 descriptors by
opening the GUsbDevice earlier", and apparently "DS-20 descriptor" is a
specific kind of "BOS descriptor".
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.5.0-5-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages fwupd depends on:
ii adduser 3.137
ii libarchive13 3.7.2-1
ii libc6 2.37-15
ii libcbor0.10 0.10.2-1.1
ii libcurl3-gnutls 8.5.0-2
ii libflashrom1 1.3.0-2.1+b1
ii libfwupd2 1.9.14-1
ii libglib2.0-0 2.78.4-1
ii libgnutls30 3.8.3-1
ii libgudev-1.0-0 238-3
ii libgusb2 0.4.8-1
ii libjcat1 0.2.0-2
ii libjson-glib-1.0-0 1.8.0-2
ii liblzma5 5.4.5-0.3
ii libmbim-glib4 1.30.0-1
ii libmbim-proxy 1.30.0-1
ii libmm-glib0 1.22.0-3
ii libpolkit-gobject-1-0 124-1
ii libprotobuf-c1 1.4.1-1+b1
ii libqmi-glib5 1.34.0-2
ii libqmi-proxy 1.34.0-2
ii libsqlite3-0 3.45.1-1
ii libsystemd0 255.3-2
ii libtss2-esys-3.0.2-0 4.0.1-7
ii libxmlb2 0.3.15-1
ii shared-mime-info 2.4-1
ii zlib1g 1:1.3.dfsg-3+b1
Versions of packages fwupd recommends:
ii bolt 0.9.6-2
ii dbus 1.14.10-4
ii fwupd-amd64-signed [fwupd-signed] 1:1.4+1
ii jq 1.7.1-2
ii python3 3.11.6-1
pn secureboot-db <none>
ii udisks2 2.10.1-5
Versions of packages fwupd suggests:
pn gir1.2-fwupd-2.0 <none>
-- Configuration Files:
/etc/fwupd/fwupd.conf [Errno 13] Permission denied: '/etc/fwupd/fwupd.conf'
-- no debconf information
Reply to: