[RESPONDED] Fedora 39: HDMI extension card vendor/product ID not recognized as Framework (by the kernel?)

Update: looks resolved in kernel 6.7


Seeing this thread reminded me of a strange (but definitely very low severity) regression I’ve noticed on this new AMD system: The (3rd gen) HDMI extension card that came with this machine has its vendor and product IDs reported as [unknown] in lsusb’s output. This does not happen with the gen 11 laptop and gen1 HDMI extension card. Correction: This also happens on the gen11 machine under Fedora 39. Seems to be an OS regression.

$ lsusb |egrep -i 'framework|32ac'
Bus 001 Device 002: ID 32ac:0002 [unknown] [unknown]

This has been the case under Fedora 39 since I first installed it, currently on kernel 6.6.9.

(edit to clarify, the extension card is working fine, this is just a reporting/almost cosmetic issue)

Would be interesting to know if older kernels like 6.5.x exhibits the same behavior

First of all I actually reproduced this on the gen11 machine too, also under Fedora 39. I must have missed it there earlier.

I booted into a 6.5 series kernel by just booting that gen11 machine with the F39 Workstation live image. In that configuration, the IDs are reported correctly.

Searching online indicates that these IDs come from the /usr/share/hwdata/usb.ids database, which is maintained by the hwdata package. I have the latest version installed (0.378-1.fc39, pending from testing to stable repo as I write this). There is no sign of Framework devices in that file.

However, there’s also no sign of Framework devices in that file even on the Workstation Live filesystem, so these IDs must (also?) come from somewhere else. Maybe baked into the kernel?

By the way, Framework’s device(s) are not the only ones whose IDs are “unknown”. The Bluetooth part of the AMD/MediaTek wireless card also shows up as:

Bus 001 Device 004: ID 0e8d:e616 MediaTek Inc. [unknown]

e616 is also not present in usb.ids but again, this doesn’t seem to be the (only?) source of these ID to name lookups.

Finally, I tried just hacking a Framework entry into the database:

$ diff -u usb.ids.orig usb.ids
--- usb.ids.orig	2024-01-02 16:00:00.000000000 -0800
+++ usb.ids	2024-01-12 12:23:43.266571934 -0800
@@ -23817,6 +23817,8 @@
 ff00  Power Delivery
 ffee  FNK Tech
 	0100  Card Reader Controller RTS5101/RTS5111/RTS5116
+32ac  Frame.work
+	0002  HDMI Expansion card (test)
 
 # List of known device classes, subclasses and protocols

but that didn’t fix the issue. Is that database only loaded at boot time?

Looks fixed with kernel 6.7.3

$ lsusb |egrep -i 'framework|32ac'
Bus 001 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
1 Like