WhatCable:状态栏小工具,一秒看懂你手里的 USB-C 线

查看原文 HN 讨论

文章摘要

USB-C 是当代最让人困惑的接口:同一种长相的线,可能是 USB 2.0 480Mbps、可能是 USB 3.2 10Gbps、可能是 Thunderbolt 4 40Gbps、还可能是 USB4 80Gbps;功率从 15W 到 240W 都有,DisplayPort、PD、e-marker 各有讲究。WhatCable 是开发者 darrylmorley(HN 用户名 sleepingNomad)做的 macOS 状态栏小工具,目标就是把 USB-C 接口背后真正在发生什么”翻译”成人话——你只要瞄一眼菜单栏,就知道现在这根线是什么规格、正在以什么协议工作、是不是限制了你的充电速度。

工具能读出每个 USB-C 端口的:线缆身份(速率档位 USB 2.0 到 80Gbps、电流 3-60A、e-marker 厂商信息);电源协议商(5V/9V/12V/20V 等 PDO 列表与实时协商状态);充电诊断(显式提示”线缆限制了充电速度”或当前实际功率);已连接设备列表(按物理端口分组);信任信号(e-marker 数值异常时弹橙色警告,提示可能是假货);当前激活的传输协议(USB 2/3、Thunderbolt、DisplayPort 是否在用)。

技术实现上,作者只用了 4 个 IOKit 服务族(端口控制器、电源源、PD Identity、XHCI 控制器),不需要任何特殊权限、私有 API 或后台守护进程,也因此 App Store 上架不可能。要求 macOS 14 Sonoma 以上 + Apple Silicon——Intel Mac 走不通是因为 Intel 南桥不暴露所需信息(GitHub issue #12 已”wontfix”)。除菜单栏 GUI 外还附带一个 whatcable CLI,支持 JSON 输出和 watch 模式,方便集成到脚本里。安装可下载 zip 拖入 Applications,或 brew install --cask whatcable。所有处理都在本地完成,更新检查只访问 GitHub Releases API。

局限也很明确:没有 e-marker 芯片的线(多数低于 60W 的便宜线)显示信息很有限;软件只能读取芯片自报的数据,无法验证线径或屏蔽是否真符合规格;少数线必须接上对端设备才会暴露 e-marker。

HN 评论精华