Thunderbolt fabric
What's new
-
Thunderbolt fabric. WhatCable now reads
IOThunderboltSwitchand reports what each Thunderbolt link is actually negotiated at, on top of what the cable's e-marker claims it could do. On a connected TB / USB4 port you'll see new bullets like:- "Linked at up to 20 Gb/s × 2" (per-lane Gb/s × lane count, matching what About This Mac → System Information shows)
- "Connected to ASUS-Display PA32QCV" for a single hop, or "Connected via 2 hops: ASUS-Display PA32QCV → CalDigit, Inc. TS3 Plus" for a daisy-chain
- "Last leg drops from up to 20 Gb/s × 2 to up to 10 Gb/s × 1" when the chain steps down to a slower device
Behind the existing Show technical details toggle, an advanced section now renders the host root and every downstream switch as a small tree, with the active link label per hop.
The JSON output gains a top-level
thunderboltSwitchesarray (always present, even when empty) and a per-portthunderboltSwitchUIDreference for joining the two. -
TB5 stays hedged for now. No public IOKit dump exists yet for an Apple Silicon TB5 host with a TB5 partner attached, so we don't promise a "TB5" or "40 Gb/s" label until we've seen one. Until then a TB5 link renders as "Unknown generation (raw speed code 0x2, inferred TB5)". If you have TB5 hardware and a moment to spare, see issue #52 — the ask is one Terminal command and a paste-back.
Thanks
The encoding was anchored against three contributor paste-backs on issue #52:
- @stevetrease — M3 MacBook Air + Samsung C34J79x via TB3
- @joeshaw — M2 MacBook Pro + ASUS PA32QCV (USB4) + CalDigit TS3 Plus daisy-chain
Without those samples we'd have shipped a much more hedged feature, or none at all. Thank you both.