fwupd / fwupd

A system daemon to allow session software to update firmware
GNU Lesser General Public License v2.1
2.8k stars 426 forks source link

fwupd interferes with Kensington mouse #6871

Closed wshanks closed 6 months ago

wshanks commented 6 months ago

Describe the bug A Kensington USB mouse (this one if it is relevant) stopped working after I applied the most recent updates on my Fedora 39 laptop (Lenovo ThinkPad T14 Gen 2). When I look at the system logs, I see

fwupd[4250]: 14:56:59.731 FuUsbDevice          failed to load BOS descriptor from USB device: USB error on device 047d:102e : Operation timed out [-7]

That message led me to this Debian mailing list post from a few days ago which describes a similar issue and goes into more detail of attempted debugging steps. For me, I found that the mouse just did not work at all, rather than partially working like reported there. I tried systemctl stop fwupd.service and confirmed that the mouse started working again after unplugging it and plugging it back in. systemctl start fwupd.service stopped the mouse from working once again. Checking the history of dnf updates, I see that the fwupd packages were updated from 1.9.13 to 1.9.14:

    Upgrade  fwupd-1.9.14-1.fc39.x86_64                          @updates
    Upgraded fwupd-1.9.13-1.fc39.x86_64                          @@System
    Upgrade  fwupd-plugin-flashrom-1.9.14-1.fc39.x86_64          @updates
    Upgraded fwupd-plugin-flashrom-1.9.13-1.fc39.x86_64          @@System
    Upgrade  fwupd-plugin-modem-manager-1.9.14-1.fc39.x86_64     @updates
    Upgraded fwupd-plugin-modem-manager-1.9.13-1.fc39.x86_64     @@System
    Upgrade  fwupd-plugin-uefi-capsule-data-1.9.14-1.fc39.x86_64 @updates
    Upgraded fwupd-plugin-uefi-capsule-data-1.9.13-1.fc39.x86_64 @@System

and I do not notice other relevant packages being updated (like something with usb in the name).

Like the mailing list post points out, the most suspicious line in the release notes for 1.9.14 seems to be "Fix DS-20 descriptors by opening the GUsbDevice earlier" and I noticed that is some previous discussion about difficulties with nested USB hubs here (the only thing that comes up when I search for "BOS descriptor").

One other note -- when I first noticed this, I actually had the mouse plugged into a StarTech USB hub (which lsusb detects as "Genesys Logic, Inc. GL3523 Hub") which was then plugged into a Lenovo Thunderbolt 4 dock which was plugged into the Thunderbolt 4 port of the laptop. However, I then tested and got the same issue both using the mouse plugged directly into the dock and using the mouse plugged directly into a usb port on the laptop.

Steps to Reproduce This is mostly described above:

  1. systemctl stop fwupd.service
  2. Plug a Ci20 Kensington optical mouse into the laptop
  3. Mouse should work
  4. systemctl start fwupd.service
  5. Mouse should not work any more

In my standard set up, I have a webcam and keyboard plugged into the StarTech hub plugged into the Thunderbolt 4 dock as well and they are not affected by fwupd.

Expected behavior fwupd.service should not stop the mouse from working.

fwupd version information Please provide the version of the daemon and client.

fwupdmgr --version

compile   org.freedesktop.fwupd         1.9.14
compile   com.hughsie.libxmlb           0.3.15
compile   com.hughsie.libjcat           0.2.1
runtime   org.freedesktop.fwupd-efi     1.4
compile   org.freedesktop.gusb          0.4.8
runtime   com.hughsie.libjcat           0.2.1
runtime   org.freedesktop.gusb          0.4.8
runtime   org.freedesktop.fwupd         1.9.14
runtime   org.kernel                    6.7.6-200.fc39.x86_64

Please note how you installed it (apt, dnf, pacman, source, etc): dnf

**fwupd device information** Please provide the output of the fwupd devices recognized in your system. **NOTE**: I ran this without the Thunderbolt 4 dock or the StarTech hub for simplicity, so it should just be a standard Thinkpad T14 Gen 2 output with a USB mouse plugged in. ```shell fwupdmgr get-devices --show-all-devices LENOVO 20W1SB9V00 │ ├─Unknown Device: │ Device ID: 63223cc2d1b0b8d4c45ef8cedcb1f45315d3ff20 │ GUID: ca5c154c-a46a-59d8-bf77-0ca40522cc85 ← GPIO\ID_INT34C5:00 │ ├─11th Gen Intel Core™ i5-1145G7 @ 2.60GHz: │ Device ID: 4bde70ba4e39b28f9eab1628f9dd6e6244c03027 │ Current version: 0x000000b6 │ Vendor: Intel │ GUIDs: 2347ad97-b545-5bae-b6b3-b70a9553cbba ← CPUID\PRO_0&FAM_06&MOD_8C │ 1df99df5-22f4-5505-98cc-22dcc53b132a ← CPUID\PRO_0&FAM_06&MOD_8C&STP_1 │ Device Flags: • Internal device │ ├─B140HAK03.2: │ Device ID: aec1a869eb0df71b7cea6b3ac71d39b830faf164 │ GUID: 5f821c3a-9b73-5259-8678-7f49c11213b4 ← DRM\VEN_AUO&DEV_323D │ Device Flags: • Internal device │ ├─Battery: │ Device ID: f95c9218acd12697af946874bfe4239587209232 │ Summary: UEFI ESRT device │ Current version: 1.2.10 │ Minimum Version: 0.0.1 │ Vendor: Lenovo (DMI:LENOVO) │ Update State: Success │ GUID: b16a1723-93ae-4863-ade5-64b615907621 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Supported on remote server │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─Embedded Controller: │ Device ID: 2292ae5236790b47884e37cf162dcf23bfcd1c60 │ Summary: UEFI ESRT device │ Current version: 0.1.44 │ Minimum Version: 0.1.44 │ Vendor: Lenovo (DMI:LENOVO) │ Update State: Success │ GUID: 2a5d161c-0ba2-4136-94b3-c027f0a7e5fc │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Supported on remote server │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─Integrated Camera: │ Device ID: 3fa281ddf80d8a06b8ee5d8beb48d38ee95a9627 │ Current version: 61.18 │ Vendor: Chicony Electronics Co.,Ltd. (USB:0x04F2) │ Serial Number: 0001 │ GUID: f8d483f9-9284-51b6-9363-7e6d59c40a97 ← USB\VID_04F2&PID_B6D0 │ Device Flags: • Updatable │ ├─Intel Management Engine: │ Device ID: 349bb341230b1a86e5effe7dfe4337e1590227bd │ Summary: UEFI ESRT device │ Current version: 240.47.2473 │ Minimum Version: 0.0.1 │ Vendor: Lenovo (DMI:LENOVO) │ Update State: Success │ GUID: 9a03b1ec-b756-4414-bc09-1f573603aeaa │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Supported on remote server │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─Prometheus: │ │ Device ID: 0d5d05911800242bb1f35287012cdcbd9b381148 │ │ Summary: Fingerprint reader │ │ Current version: 10.01.3478575 │ │ Vendor: Synaptics (USB:0x06CB) │ │ Install Duration: 2 seconds │ │ Serial Number: 152097630560557 │ │ GUID: 8088f861-6318-5b1e-9ce4-fbddbedb09ac ← USB\VID_06CB&PID_00BD │ │ Device Flags: • Updatable │ │ • Supported on remote server │ │ • Cryptographic hash verification is available │ │ • Signed Payload │ │ │ └─Prometheus IOTA Config: │ Device ID: 73e606488fec47b3e3f9288094f66fded0051446 │ Summary: Fingerprint reader config │ Current version: 0029 │ Minimum Version: 0029 │ Vendor: Synaptics (USB:0x06CB) │ GUIDs: 7c5a1e62-38fa-5859-9337-09dbac6377e4 ← USB\VID_06CB&PID_00BD-cfg │ 8a12a1dd-5e54-5cb8-9607-c3a4e3e9a7e4 ← USB\VID_06CB&PID_00BD&CFG1_3462&CFG2_500 │ Device Flags: • Updatable │ • Supported on remote server │ • Only version upgrades are allowed │ • Signed Payload │ ├─SKHynix HFS256GDE9X081N: │ Device ID: 04e17fcf7d3de91da49a163ffe4907855c3648be │ Summary: NVM Express solid state drive │ Current version: 41730C20 │ Vendor: SK hynix (NVME:0x1C5C) │ Serial Number: FYB5N018811405G4R │ GUIDs: 0ee57466-ca9d-5f10-a005-ec6bacf6fb82 ← NVME\VEN_1C5C&DEV_174A │ 34e06406-f620-5b9d-a9cd-7f3a4e648633 ← NVME\VEN_1C5C&DEV_174A&SUBSYS_1C5C174A │ 59919342-93e0-53d6-bf67-851cb77dd09a ← SKHynix_HFS256GDE9X081N │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Supported on remote server │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ • Signed Payload │ ├─System Firmware: │ │ Device ID: a45df35ac0e948ee180fe216a5f703f32dda163f │ │ Summary: UEFI ESRT device │ │ Current version: 0.1.60 │ │ Vendor: Lenovo (DMI:LENOVO) │ │ Update State: Success │ │ GUID: 973a10fa-79c0-453e-b78c-27b55cc0e6eb │ │ Device Flags: • Internal device │ │ • Updatable │ │ • System requires external power source │ │ • Supported on remote server │ │ • Needs a reboot after installation │ │ • Cryptographic hash verification is available │ │ • Device is usable for the duration of the update │ │ Device Requests: • Message │ │ │ ├─AMT [unprovisioned]: │ │ Device ID: 8d5470e73fd9a31eaa460b2b6aea95483fe3f14c │ │ Summary: Hardware and firmware technology for remote out-of-band management │ │ Current version: 15.0.47.2473 │ │ Bootloader Version:15.0.47.2473 │ │ Vendor: Intel Corporation (MEI:0x8086) │ │ GUIDs: 12f80028-b4b7-4b2d-aca8-46e0ff65814c │ │ f18c7464-aa01-5b3d-bd4f-6623597d0f70 ← MEI\VEN_8086&DEV_A0E0 │ │ 85de056a-374c-5590-96e8-e6acda56603c ← MEI\VEN_8086&DEV_A0E0&SUBSYS_17AA22C9 │ │ Device Flags: • Internal device │ │ │ ├─BootGuard Configuration: │ │ Device ID: b0d4430dfa6bde9f0c22680df36dbc8c15c80753 │ │ Current version: 20 │ │ Vendor: Intel Corporation (MEI:0x8086) │ │ GUIDs: dd17041c-09ea-4b17-a271-5b989867ec65 │ │ f18c7464-aa01-5b3d-bd4f-6623597d0f70 ← MEI\VEN_8086&DEV_A0E0 │ │ 85de056a-374c-5590-96e8-e6acda56603c ← MEI\VEN_8086&DEV_A0E0&SUBSYS_17AA22C9 │ │ Device Flags: • Internal device │ │ │ └─UEFI dbx: │ Device ID: 362301da643102b9f38477387e2193e57abaa590 │ Summary: UEFI revocation database │ Current version: 371 │ Minimum Version: 371 │ Vendor: UEFI:Linux Foundation │ Install Duration: 1 second │ GUIDs: 5971a208-da00-5fce-b5f5-1234342f9cf7 ← UEFI\CRT_A9087D1044AD18F7A94916D284CBC01827CF23CD8F60B79072C9CAA1FEF4D649&ARCH_X64 │ f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64 │ Device Flags: • Internal device │ • Updatable │ • Supported on remote server │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ • Only version upgrades are allowed │ • Signed Payload │ ├─TPM: │ Device ID: c6a80ac3a22083423992a3cb15018989f37834d6 │ Current version: 7.85.17.51968 │ Vendor: Infineon (TPM:IFX) │ GUIDs: 5eebb112-75ad-5536-b173-a11eb3399402 ← TPM\VEN_IFX&DEV_0000 │ ddf995da-1b32-5a8a-bc1b-8d5af4b38b51 ← TPM\VEN_IFX&MOD_SLB9670 │ 6d81ab63-db2e-50ac-934f-6be9accf5e02 ← TPM\VEN_IFX&DEV_0000&VER_2.0 │ 301555de-680d-5ddc-b995-7553fc9138f1 ← TPM\VEN_IFX&MOD_SLB9670&VER_2.0 │ Device Flags: • Internal device │ • System requires external power source │ • Needs a reboot after installation │ • Device can recover flash failures │ • Full disk encryption secrets may be invalidated when updating │ • Signed Payload │ ├─TigerLake-LP GT2 [Iris Xe Graphics]: │ Device ID: 5792b48846ce271fab11c4a545f7a3df0d36e00a │ Current version: 01 │ Vendor: Intel Corporation (PCI:0x8086) │ GUIDs: 54ff3ed7-1ea3-5279-975f-93c13bf2aa53 ← PCI\VEN_8086&DEV_9A49 │ cee01228-7f61-5a47-adab-0584d7f5884f ← PCI\VEN_8086&DEV_9A49&SUBSYS_17AA22C9 │ Device Flags: • Internal device │ • Cryptographic hash verification is available │ ├─UEFI Device Firmware: │ Device ID: d96de5c124b60ed6241ebcb6bb2c839cb5580786 │ Summary: UEFI ESRT device │ Current version: 0 │ Minimum Version: 1 │ Vendor: DMI:LENOVO │ Update State: Success │ GUID: f9046fe1-204a-4fd9-a991-f15075745b98 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─UEFI Device Firmware: │ Device ID: f37fb01122dd62c773f4e84ec89737e059712d59 │ Summary: UEFI ESRT device │ Current version: 1 │ Minimum Version: 1 │ Vendor: DMI:LENOVO │ Update State: Success │ GUID: 408e7431-1bfc-4b53-b318-a756e7cd641c │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─UEFI Device Firmware: │ Device ID: 36efb79c255f402f619fa9eb53cd659db51f2a04 │ Summary: UEFI ESRT device │ Current version: 3082665 │ Vendor: DMI:LENOVO │ Update State: Success │ GUID: f0f8c8b2-9c7d-480c-9c2a-2831f1d7d7c3 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ ├─UEFI Device Firmware: │ Device ID: 11a7fbdd09ce583e58b899660fe10f147fd155a2 │ Summary: UEFI ESRT device │ Current version: 24856 │ Minimum Version: 1 │ Vendor: DMI:LENOVO │ Update State: Success │ GUID: 4b3d2033-ae0c-4f25-bc3f-96f0ed347569 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Device is usable for the duration of the update │ Device Requests: • Message │ └─UEFI Platform Key: Device ID: 6924110cde4fa051bfdc600a60620dc7aa9d3c6a Summary: Lenovo Ltd. PK CA 2012 Vendor: Lenovo Ltd. GUID: 71599d14-9b31-5270-b3bd-74c494585820 ← UEFI\CRT_9AEF2123F4DE7C19AFABD909BB2C8CAC4411E07E ```

Additional questions

hughsie commented 6 months ago

Ugh, so I really didn't think getting the BOS descriptor would affect anything. 2/2 of the reports are Kensington mice, which might be helpful. Out of interest, does sudo gusbcmd save also cause a warning and for the mouse not to work too?

wshanks commented 6 months ago

sudo gusbcmd save does cause the mouse to stop working. I don't see a warning on the console. This is what I see in journalctl -xe:

Mar 04 11:53:29 wshankspurple sudo[13308]:  wshanks : TTY=pts/1 ; PWD=/home/wshanks ; USER=root ; COMMAND=/usr/bin/gusbcmd save
Mar 04 11:53:29 wshankspurple audit[13308]: USER_CMD pid=13308 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/home/wshanks" cmd=67757362636D642073617665 exe="/usr/bin/sudo" terminal=pts/1 r>
Mar 04 11:53:29 wshankspurple audit[13308]: CRED_REFR pid=13308 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="root" exe="/usr/bin/sudo" hostname>
Mar 04 11:53:29 wshankspurple gnome-terminal-[5272]: void terminal_screen_shell_preexec(VteTerminal*): assertion '!priv->between_preexec_and_precmd' failed
Mar 04 11:53:29 wshankspurple sudo[13308]: pam_unix(sudo:session): session opened for user root(uid=0) by wshanks(uid=1000)
Mar 04 11:53:29 wshankspurple audit[13308]: USER_START pid=13308 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_syst>
Mar 04 11:53:30 wshankspurple kernel: usb 3-7: usbfs: process 13310 (gusbcmd) did not claim interface 0 before use
Mar 04 11:53:30 wshankspurple kernel: usb 3-1: usbfs: process 13310 (gusbcmd) did not claim interface 0 before use
Mar 04 11:53:30 wshankspurple sudo[13308]: pam_unix(sudo:session): session closed for user root

From internet searching, it seems like the mouse may have been manufactured in 2006, so it is pretty old. It hasn't otherwise given me any reason to replace it though.

I changed the issue description because I had written it back when I thought it was important that the mouse was behind a dock and a hub.

hughsie commented 6 months ago

sudo gusbcmd save does cause the mouse to stop working

@superm1 okay if I add the VID/PID to an internal no-bos-descriptor flag or something like that?

superm1 commented 6 months ago

I mean it makes sense certainly as a bandaid; but are we missing something in the design? Should we maybe only be opting in devices with a manufacturing date that's new enough?

hughsie commented 6 months ago

I mean it makes sense certainly as a bandaid; but are we missing something in the design?

Maybe!? Getting a USB descriptor shouldn't brick the device, and I'm also wondering how this doesn't break in Windows too.

Should we maybe only be opting in devices with a manufacturing date that's new enough?

How do we get the manufacturing date tho?

hughsie commented 6 months ago

@wshanks can you get us the sudo lsusb -vvv output please

superm1 commented 6 months ago

How do we get the manufacturing date tho?

I was naively hoping there was something in the descriptor to go on. If not; then lets see if there are any better heuristics.

wshanks commented 6 months ago

Here is the sudo lsusb -vvv output:

``` Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 [unknown] bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 6.07 iManufacturer 3 Linux 6.7.7-200.fc39.x86_64 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:0d.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0019 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 1 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 Hub bDeviceSubClass 0 [unknown] bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1d6b Linux Foundation idProduct 0x0003 3.0 root hub bcdDevice 6.07 iManufacturer 3 Linux 6.7.7-200.fc39.x86_64 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:0d.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x001f bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 bMaxBurst 0 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x005b bNumDeviceCaps 2 SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x0008 Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 0 micro seconds bU2DevExitLat 400 micro seconds SuperSpeedPlus USB Device Capability: bLength 76 bDescriptorType 16 bDevCapabilityType 10 bmAttributes 0x000000ef Sublink Speed Attribute count 16 Sublink Speed ID count 8 wFunctionalitySupport 0x1106 Min functional Speed Attribute ID: 6 Min functional RX lanes: 1 Min functional TX lanes: 1 bmSublinkSpeedAttr[0] 0x00050034 Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[1] 0x000500b4 Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[2] 0x000a4035 Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus bmSublinkSpeedAttr[3] 0x000a40b5 Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus bmSublinkSpeedAttr[4] 0x00e00026 Speed Attribute ID: 6 224Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[5] 0x00e000a6 Speed Attribute ID: 6 224Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[6] 0x00c00027 Speed Attribute ID: 7 192Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[7] 0x00c000a7 Speed Attribute ID: 7 192Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[8] 0x00800028 Speed Attribute ID: 8 128Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[9] 0x008000a8 Speed Attribute ID: 8 128Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[10] 0x00b10029 Speed Attribute ID: 9 177Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[11] 0x00b100a9 Speed Attribute ID: 9 177Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[12] 0x0063002a Speed Attribute ID: 10 99Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[13] 0x006300aa Speed Attribute ID: 10 99Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[14] 0x00c6002b Speed Attribute ID: 11 198Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[15] 0x00c600ab Speed Attribute ID: 11 198Mb/s Symmetric TX SuperSpeed Hub Descriptor: bLength 12 bDescriptorType 42 nNbrPorts 4 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere bHubDecLat 0.0 micro seconds wHubDelay 0 nano seconds DeviceRemovable 0x00 Hub Port Status: Port 1: 0000.02a0 5Gbps power Rx.Detect Port 2: 0000.02a0 5Gbps power Rx.Detect Port 3: 0000.02a0 5Gbps power Rx.Detect Port 4: 0000.02a0 5Gbps power Rx.Detect can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 [unknown] bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 6.07 iManufacturer 3 Linux 6.7.7-200.fc39.x86_64 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:14.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0019 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 11 bDescriptorType 41 nNbrPorts 12 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 0x00 PortPwrCtrlMask 0xff 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Port 2: 0000.0100 power Port 3: 0000.0103 power enable connect Port 4: 0000.0507 highspeed power suspend enable connect Port 5: 0000.0100 power Port 6: 0000.0100 power Port 7: 0000.0303 lowspeed power enable connect Port 8: 0000.0100 power Port 9: 0000.0100 power Port 10: 0000.0301 lowspeed power connect Port 11: 0000.0100 power Port 12: 0000.0100 power can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered Bus 003 Device 002: ID 1050:0407 Yubico.com Yubikey 4/5 OTP+U2F+CCID Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1050 Yubico.com idProduct 0x0407 Yubikey 4/5 OTP+U2F+CCID bcdDevice 5.27 iManufacturer 1 Yubico iProduct 2 YubiKey OTP+FIDO+CCID iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0096 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 30mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 71 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 34 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 2 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 2 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 11 Chip/SmartCard bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 0 ChipCard Interface Descriptor: bLength 54 bDescriptorType 33 bcdCCID 1.00 nMaxSlotIndex 0 bVoltageSupport 7 5.0V 3.0V 1.8V dwProtocols 2 T=1 dwDefaultClock 4000 dwMaxiumumClock 4000 bNumClockSupported 0 dwDataRate 307200 bps dwMaxDataRate 307200 bps bNumDataRatesSupp. 0 dwMaxIFSD 3062 dwSyncProtocols 00000000 dwMechanical 00000000 dwFeatures 000400FE Auto configuration based on ATR Auto activation on insert Auto voltage selection Auto clock change Auto baud rate change Auto parameter negotiation made by CCID Short and extended APDU level exchange dwMaxCCIDMsgLen 3072 bClassGetResponse echo bClassEnvelope echo wlcdLayout none bPINSupport 0 bMaxCCIDBusySlots 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 32 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Bus 003 Device 003: ID 06cb:00bd Synaptics, Inc. Prometheus MIS Touch Fingerprint Reader Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 16 [unknown] bDeviceProtocol 255 bMaxPacketSize0 8 idVendor 0x06cb Synaptics, Inc. idProduct 0x00bd Prometheus MIS Touch Fingerprint Reader bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 1 dfd31ad2a845 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0027 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 4 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Bus 003 Device 004: ID 04f2:b6d0 Chicony Electronics Co., Ltd Integrated Camera Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 [unknown] bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x04f2 Chicony Electronics Co., Ltd idProduct 0xb6d0 Integrated Camera bcdDevice 61.18 iManufacturer 3 Chicony Electronics Co.,Ltd. iProduct 1 Integrated Camera iSerial 2 0001 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0532 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 4 Integrated Camera bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 5 Integrated Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 5 Integrated Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.10 wTotalLength 0x0087 dwClockFrequency 15.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x0020000e Auto-Exposure Mode Auto-Exposure Priority Exposure Time (Absolute) VideoControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) bUnitID 2 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000157f Brightness Contrast Hue Saturation Sharpness Gamma White Balance Temperature Backlight Compensation Power Line Frequency White Balance Temperature, Auto iProcessing 0 bmVideoStandards 0x00 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 8 iTerminal 0 VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 4 guidExtensionCode {1229a78c-47b4-4094-b0ce-db07386fb938} bNumControls 2 bNrInPins 1 baSourceID( 0) 2 bControlSize 2 bmControls( 0) 0x00 bmControls( 1) 0x06 iExtension 0 VideoControl Interface Descriptor: bLength 29 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 7 guidExtensionCode {26b8105a-0713-4870-979d-da79444bb68e} bNumControls 6 bNrInPins 1 baSourceID( 0) 4 bControlSize 4 bmControls( 0) 0x04 bmControls( 1) 0x98 bmControls( 2) 0x0c bmControls( 3) 0x00 iExtension 7 Realtek Extended Controls Unit VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 8 guidExtensionCode {0f3f95dc-2632-4c4e-92c9-a04782f43bc8} bNumControls 1 bNrInPins 1 baSourceID( 0) 7 bControlSize 2 bmControls( 0) 0x00 bmControls( 1) 0x01 iExtension 8 Microsoft Extended Controls Unit Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 6 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 15 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 2 wTotalLength 0x025d bEndpointAddress 0x81 EP 1 IN bmInfo 0 bTerminalLink 3 bStillCaptureMethod 1 bTriggerSupport 1 bTriggerUsage 0 bControlSize 1 bmaControls( 0) 0 bmaControls( 1) 0 VideoStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FORMAT_MJPEG) bFormatIndex 1 bNumFrameDescriptors 9 bFlags 1 Fixed-size samples: Yes bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 1 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 1 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 720 dwMinBitRate 442368000 dwMaxBitRate 442368000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 2 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 180 dwMinBitRate 27648000 dwMaxBitRate 27648000 dwMaxVideoFrameBufferSize 115200 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 3 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 240 dwMinBitRate 36864000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 4 bmCapabilities 0x01 Still image supported wWidth 352 wHeight 288 dwMinBitRate 48660480 dwMaxBitRate 48660480 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 5 bmCapabilities 0x01 Still image supported wWidth 424 wHeight 240 dwMinBitRate 48844800 dwMaxBitRate 48844800 dwMaxVideoFrameBufferSize 203520 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 6 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 360 dwMinBitRate 110592000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 7 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 480 dwMinBitRate 147456000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 8 bmCapabilities 0x01 Still image supported wWidth 848 wHeight 480 dwMinBitRate 195379200 dwMaxBitRate 195379200 dwMaxVideoFrameBufferSize 814080 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 9 bmCapabilities 0x01 Still image supported wWidth 960 wHeight 540 dwMinBitRate 248832000 dwMaxBitRate 248832000 dwMaxVideoFrameBufferSize 1036800 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 2 bNumFrameDescriptors 9 guidFormat {32595559-0000-0010-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 480 dwMinBitRate 147456000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 180 dwMinBitRate 27648000 dwMaxBitRate 27648000 dwMaxVideoFrameBufferSize 115200 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 240 dwMinBitRate 36864000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x01 Still image supported wWidth 352 wHeight 288 dwMinBitRate 48660480 dwMaxBitRate 48660480 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x01 Still image supported wWidth 424 wHeight 240 dwMinBitRate 48844800 dwMaxBitRate 48844800 dwMaxVideoFrameBufferSize 203520 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 6 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 360 dwMinBitRate 110592000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 7 bmCapabilities 0x01 Still image supported wWidth 848 wHeight 480 dwMinBitRate 130252800 dwMaxBitRate 130252800 dwMaxVideoFrameBufferSize 814080 dwDefaultFrameInterval 500000 bFrameIntervalType 1 dwFrameInterval( 0) 500000 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 8 bmCapabilities 0x01 Still image supported wWidth 960 wHeight 540 dwMinBitRate 124416000 dwMaxBitRate 124416000 dwMaxVideoFrameBufferSize 1036800 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 9 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 720 dwMinBitRate 147456000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 1000000 bFrameIntervalType 1 dwFrameInterval( 0) 1000000 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b00 2x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0c00 2x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1300 3x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x13d4 3x 980 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 6 Integrated IR Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 1 iInterface 6 Integrated IR Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.50 wTotalLength 0x0094 dwClockFrequency 15.000000MHz bInCollection 1 baInterfaceNr( 0) 3 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 9 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00200000 Region of Interest VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 12 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 14 iTerminal 0 VideoControl Interface Descriptor: bLength 25 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 11 guidExtensionCode {45b5da73-23c1-4a3d-a368-610f078c4397} bNumControls 0 bNrInPins 1 baSourceID( 0) 9 bControlSize 0 iExtension 0 VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 10 guidExtensionCode {1229a78c-47b4-4094-b0ce-db07386fb938} bNumControls 2 bNrInPins 1 baSourceID( 0) 11 bControlSize 2 bmControls( 0) 0x00 bmControls( 1) 0x06 iExtension 0 VideoControl Interface Descriptor: bLength 29 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 13 guidExtensionCode {26b8105a-0713-4870-979d-da79444bb68e} bNumControls 3 bNrInPins 1 baSourceID( 0) 10 bControlSize 4 bmControls( 0) 0x00 bmControls( 1) 0xe0 bmControls( 2) 0x00 bmControls( 3) 0x00 iExtension 10 Realtek Extended Controls Unit VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 14 guidExtensionCode {0f3f95dc-2632-4c4e-92c9-a04782f43bc8} bNumControls 3 bNrInPins 1 baSourceID( 0) 13 bControlSize 2 bmControls( 0) 0x22 bmControls( 1) 0x01 iExtension 9 IR Microsoft Extended Controls Unit Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 6 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 VideoStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 1 wTotalLength 0x006b bEndpointAddress 0x82 EP 2 IN bmInfo 0 bTerminalLink 12 bStillCaptureMethod 1 bTriggerSupport 1 bTriggerUsage 0 bControlSize 1 bmaControls( 0) 0 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 2 guidFormat {00000032-0002-0010-8000-00aa00389b71} bBitsPerPixel 8 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 360 dwMinBitRate 55296000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 230400 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 360 dwMinBitRate 110592000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 230400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0100 1x 256 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0300 1x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0a40 2x 576 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0a4c 2x 588 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 4 bInterfaceCount 1 bFunctionClass 254 Application Specific Interface bFunctionSubClass 1 Device Firmware Update bFunctionProtocol 0 iFunction 11 Camera DFU Device Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 1 iInterface 11 Camera DFU Device Device Firmware Upgrade Interface Descriptor: bLength 9 bDescriptorType 33 bmAttributes 8 Will Detach Manifestation Intolerant Upload Unsupported Download Unsupported wDetachTimeout 200 milliseconds wTransferSize 4096 bytes bcdDFUVersion 1.10 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x0029 bNumDeviceCaps 2 Platform Device Capability: bLength 28 bDescriptorType 16 bDevCapabilityType 5 bReserved 0 PlatformCapabilityUUID {d8dd60df-4589-4cc7-9cd2-659d9e648a9f} CapabilityData[0] 0x00 CapabilityData[1] 0x00 CapabilityData[2] 0x03 CapabilityData[3] 0x06 CapabilityData[4] 0xe0 CapabilityData[5] 0x04 CapabilityData[6] 0x15 CapabilityData[7] 0x00 ** UNRECOGNIZED: 08 10 11 01 03 00 00 00 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Bus 003 Device 038: ID 047d:102e Kensington Pilot Optical Pro Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x047d Kensington idProduct 0x102e Pilot Optical Pro bcdDevice 1.00 iManufacturer 1 Kensington iProduct 2 USB/PS2 Wheel Mouse iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0022 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 52 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 10 Device Status: 0x0000 (Bus Powered) Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 Hub bDeviceSubClass 0 [unknown] bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1d6b Linux Foundation idProduct 0x0003 3.0 root hub bcdDevice 6.07 iManufacturer 3 Linux 6.7.7-200.fc39.x86_64 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:14.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x001f bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 bMaxBurst 0 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x005b bNumDeviceCaps 2 SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x0008 Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 160 micro seconds SuperSpeedPlus USB Device Capability: bLength 76 bDescriptorType 16 bDevCapabilityType 10 bmAttributes 0x000000ef Sublink Speed Attribute count 16 Sublink Speed ID count 8 wFunctionalitySupport 0x1106 Min functional Speed Attribute ID: 6 Min functional RX lanes: 1 Min functional TX lanes: 1 bmSublinkSpeedAttr[0] 0x00050034 Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[1] 0x000500b4 Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[2] 0x000a4035 Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus bmSublinkSpeedAttr[3] 0x000a40b5 Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus bmSublinkSpeedAttr[4] 0x00e00026 Speed Attribute ID: 6 224Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[5] 0x00e000a6 Speed Attribute ID: 6 224Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[6] 0x00c00027 Speed Attribute ID: 7 192Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[7] 0x00c000a7 Speed Attribute ID: 7 192Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[8] 0x00800028 Speed Attribute ID: 8 128Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[9] 0x008000a8 Speed Attribute ID: 8 128Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[10] 0x00b10029 Speed Attribute ID: 9 177Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[11] 0x00b100a9 Speed Attribute ID: 9 177Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[12] 0x0063002a Speed Attribute ID: 10 99Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[13] 0x006300aa Speed Attribute ID: 10 99Mb/s Symmetric TX SuperSpeed bmSublinkSpeedAttr[14] 0x00c6002b Speed Attribute ID: 11 198Mb/s Symmetric RX SuperSpeed bmSublinkSpeedAttr[15] 0x00c600ab Speed Attribute ID: 11 198Mb/s Symmetric TX SuperSpeed Hub Descriptor: bLength 12 bDescriptorType 42 nNbrPorts 4 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere bHubDecLat 0.0 micro seconds wHubDelay 0 nano seconds DeviceRemovable 0x00 Hub Port Status: Port 1: 0000.02a0 5Gbps power Rx.Detect Port 2: 0000.02a0 5Gbps power Rx.Detect Port 3: 0000.02a0 5Gbps power Rx.Detect Port 4: 0000.02a0 5Gbps power Rx.Detect can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered ```
polter-rnd commented 6 months ago

I can confirm the same with A4tech keyboard, Fedora 39 with fwupd-fwupd-1.9.14-1:

Bus 003 Device 003: ID 09da:2268 A4Tech Co., Ltd. USB Keyboard
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x09da A4Tech Co., Ltd.
  idProduct          0x2268 USB Keyboard
  bcdDevice            1.04
  iManufacturer           1 SONiX
  iProduct                2 USB Keyboard
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x003b
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      79
          Report Descriptors: 
            ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
          Report Descriptors: 
            ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0003  1x 3 bytes
        bInterval              10
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

Keyboard stopped working right after fwupd daemon restart during upgrade.

hughsie commented 6 months ago

Also see https://github.com/hughsie/libgusb/pull/117 -- one or the other is fine, and this is just covering both bases.

heyakyra commented 6 months ago

For googlers, this also seems to affect Ledger Nano X

kdj0c commented 6 months ago

FYI This also affect Nostromo n52 gamepad.

This makes it disconnect/reconnect in loop:

[ 610.101511] hid-generic 0003:050D:0815.0386: input,hidraw1: USB HID v1.10 Mouse [Honey Bee Nostromo SpeedPad2 ] on usb-0000:05:00.3-1/input1 [ 610.117114] usb 3-1: USB disconnect, device number 76 [ 610.446931] usb 3-1: new low-speed USB device number 77 using xhci_hcd [ 610.594508] usb 3-1: New USB device found, idVendor=050d, idProduct=0815, bcdDevice= 2.10 [ 610.594516] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 610.594520] usb 3-1: Product: Nostromo SpeedPad2 [ 610.594524] usb 3-1: Manufacturer: Honey Bee [ 610.646861] input: Honey Bee Nostromo SpeedPad2 as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-1/3-1:1.0/0003:050D:0815.0387/input/input922 [ 610.698538] hid-generic 0003:050D:0815.0387: input,hidraw0: USB HID v1.10 Keyboard [Honey Bee Nostromo SpeedPad2 ] on usb-0000:05:00.3-1/input0 [ 610.703784] input: Honey Bee Nostromo SpeedPad2 as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-1/3-1:1.1/0003:050D:0815.0388/input/input923 [ 610.755706] hid-generic 0003:050D:0815.0388: input,hidraw1: USB HID v1.10 Mouse [Honey Bee Nostromo SpeedPad2 ] on usb-0000:05:00.3-1/input1 [ 662.668052] usb 3-1: USB disconnect, device number 77 [ 663.053234] usb 3-1: new low-speed USB device number 78 using xhci_hcd [ 663.197720] usb 3-1: New USB device found, idVendor=050d, idProduct=0815, bcdDevice= 2.10 [ 663.197727] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 663.197731] usb 3-1: Product: Nostromo SpeedPad2 [ 663.197734] usb 3-1: Manufacturer: Honey Bee [ 663.238075] input: Honey Bee Nostromo SpeedPad2 as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-1/3-1:1.0/0003:050D:0815.0389/input

hughsie commented 6 months ago

@kdj0c does that work in Windows? That's got bcdDevice= 2.10 and so should accept getting the BOS descriptors. I'm guessing stopping fwupd and then doing "sudo gusbcmd save" makes the device act in the same way?

kdj0c commented 6 months ago

@kdj0c does that work in Windows? That's got bcdDevice= 2.10 and so should accept getting the BOS descriptors. I'm guessing stopping fwupd and then doing "sudo gusbcmd save" makes the device act in the same way?

I don't have a windows installation here, so I don't know if it still works.

Also here is the log when I run:

fwupdtool get-devices --verbose --verbose

10:30:09.672 FuUsbDevice ignoring missing BOS descriptor: USB error on device 050d:0815 : Input/Output Error [-1]

On Fedora 39, I fixed the issue by downgrading fwupd to fwupd-1.9.5-2.fc39.

ofourdan commented 6 months ago

Same here, latest fwupd 1.9.14 breaks my old trustee Wacom Bamboo One.

The device gets removed then re-added, then removed again continuously with fwupd 1.9.14.

Reverting to 1.9.13 fixes that issue.

[    2.071746] input: Wacom Bamboo1 Pen as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:056A:0069.0002/input/input10
[    2.071792] wacom 0003:056A:0069.0002: hidraw1: USB HID v1.10 Mouse [WACOM CTF-430 V2.0-0] on usb-0000:00:14.0-2/input0

Attaching lsusb-vvv.txt

hughsie commented 6 months ago

@ofourdan on a hunch, can you try the https://copr.fedorainfracloud.org/coprs/rhughes/fwupd/ build please

superm1 commented 6 months ago

Or you can grab snap/flatpak artifacts if it's easier depending on your distro.

ofourdan commented 6 months ago

@ofourdan on a hunch, can you try the https://copr.fedorainfracloud.org/coprs/rhughes/fwupd/ build please

Works for me! :+1:

hughsie commented 6 months ago

Works for me! 👍

Okay, so I think the last commit was unnecessary -- I think we just need a release with https://github.com/fwupd/fwupd/commit/f92ea06110f5075d7b94c90ad1a637f6b43a647c included. @superm1 I'm tempted to leave it in as an example on what to do -- and so we can quirk without a recompile if a broken USB 2.1 device turns up in the real world. Or maybe we remove the .quirk file and leave the code change?

superm1 commented 6 months ago

Let's leave both. I agree it's easier to quirk later if the infra is there. Who knows with ancient USB what we'll find!

smunaut commented 1 month ago

Damn, it took me forever to find this issue ...

My FTDI FT232 USB Serial adapter wasn't working properly ( data transfers were still working but any control transfer to set baudrate etc were crashed, the whole EP0 was unresponsive after trying to get BOS desc) and this was caused by fwupd ( which is 1.9.14 on stable gentoo ).

hughsie commented 1 month ago

which is 1.9.14 on stable gentoo

This is terribly old. I thought Gentoo was famous for getting the latest versions of everything?

smunaut commented 1 month ago

1.9.20 is available but it's not the default, it has to be selected explicitely. I opened a bug on gentoo tracker to bump the stable/default version.