Real vendor names for any USB-IF cable
What's new
-
Cable reports and the popover now show real vendor names for any cable whose e-marker carries a USB-IF registered Vendor ID. Previously most cables showed "Unregistered / unknown" because cable e-markers carry the silicon vendor's VID (the chip OEM), not the cable brand's, and the small bundled VendorDB only carried about eighty entries heavily biased toward consumer-device vendors. WhatCable now bundles the full USB-IF March 2026 vendor list (13,652 entries) so any registered VID resolves to its real owner. Examples that previously showed "Unregistered / unknown" will now show:
0x20C2→ Sumitomo Electric Optical Comm0x315C→ Chengdu Convenientpower Semiconductor0x2095→ CE LINK0x2E99→ Hynetek Semiconductor0x201C→ Hongkong Freeport Electronics0x2B1D→ Lintes Technology
These names describe the e-marker chip OEM (the company that made the silicon inside the cable), not the cable brand. That's how USB-PD identity actually works: the brand on the box rarely puts its own VID into the chip.
A small hand-curated list still overrides for vendors where we want a shorter form (e.g. "Apple" rather than the USB-IF's "Apple Inc.").
-
scripts/update-vendor-db.shlets contributors regenerate the bundled list from the latest USB-IF PDF.
Fixes
- Two wrong VendorDB entries removed.
0x2BCFwas labelled "Anker" but is actually Magtrol, Inc. per USB-IF;0x32ACwas labelled "Apple (Thunderbolt 4)" but is actually Framework Computer Inc. The bundled USB-IF list now provides the correct names for both.
Internal
- Robust resource loader in
USBIFVendors.swifthandles every runtime context (SwiftPM tests,swift run, GUI binary inContents/MacOS/, CLI helper inContents/Helpers/). Falls back to an empty lookup on resource failure rather than crashing. - Smoke test now exercises
whatcable --jsonalongside--version, so any future regression in vendor lookup or other JSON-only code paths fails the build.