github darrylmorley/whatcable v0.8.1
v0.8.1: Real vendor names for any USB-IF cable

latest releases: v0.8.4, v0.8.3, v0.8.2...
6 hours ago

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:

    • 0x20C2Sumitomo Electric Optical Comm
    • 0x315CChengdu Convenientpower Semiconductor
    • 0x2095CE LINK
    • 0x2E99Hynetek Semiconductor
    • 0x201CHongkong Freeport Electronics
    • 0x2B1DLintes 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.sh lets contributors regenerate the bundled list from the latest USB-IF PDF.

Fixes

  • Two wrong VendorDB entries removed. 0x2BCF was labelled "Anker" but is actually Magtrol, Inc. per USB-IF; 0x32AC was 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.swift handles every runtime context (SwiftPM tests, swift run, GUI binary in Contents/MacOS/, CLI helper in Contents/Helpers/). Falls back to an empty lookup on resource failure rather than crashing.
  • Smoke test now exercises whatcable --json alongside --version, so any future regression in vendor lookup or other JSON-only code paths fails the build.

Don't miss a new whatcable release

NewReleases is sending notifications on new releases.