一根线材,e-marker芯片里明明白白写着“10Gbps,100W”,插到MacBook Pro上,系统却告诉你:这是根“慢速USB设备或仅充电线”。这是免费Mac工具WhatCable这次给出的最有意思的一个读数——它没在原文里被解释,但恰好戳中了这类工具的命门。

USB-C接口这些年最让人头疼的,就是长得一样、能力天差地别。同一个接口,可能插着一根纯充电线,也可能插着一根跑满速的USB4线,肉眼完全分不出来。行业过去只有两条路:买专用测试仪硬测,或者干脆赌。WhatCable给了第三条路——白嫖Mac自己已经算过的账。

Mac其实早就知道答案

Apple Silicon机型里的port controller芯片,本身就要靠USB PD协议和线材握手,才能谈成充电速度和数据模式。线材里如果带e-marker,Mac会发一条“Discover Identity”指令,线材回一份结构化数据:厂商ID、速度等级、电流电压上限、是否有源。这份数据macOS一直写进IOKit registry,却从没在系统信息里展示给用户。WhatCable做的事很简单:调用苹果公开的API,把这份数据读出来,再叠加端口实测的协商速度、Thunderbolt链路速度、实时电压电流,拼成一张“线材说了什么、Mac信不信、瓶颈在哪”的完整图。

数据从哪来:三段身份识别 SOP 对端设备/ 充电器身份 SOP' 主机侧线材 e-marker SOP'' 远端e-marker (未必能读到) 三路数据汇入 IOKit registry,WhatCable原样读出

免费背后的门槛

WhatCable是开源项目,能通过Homebrew一行命令装上,也有纯命令行版本,当前版本要求macOS 14及以上,而且只支持Apple Silicon——Intel Mac的port controller不走同一套公开IOKit接口,读不到这些字段。它也没上架Mac App Store,原因是苹果的App沙盒会挡住它需要的底层访问权限。核心功能免费,更深的实时功率协商、终端级诊断放进付费的Pro版。这些原文一句没提,却决定了谁能用、用到什么程度。

它读的是嘴,不是身子骨

回到开头那根说自己是10Gbps/100W的线。项目方自己写得很清楚:e-marker是线材自己填的申报表,不是第三方公证。芯片可以写上再高的参数,只要macOS没能完成对应速度的协商,WhatCable就只能忠实转述这个矛盾,判断不出到底是线材缩水、协商失败还是端口本身限速。更麻烦的是,很多廉价线材压根没有e-marker芯片,查询直接查不到人。

  • 风险.e-marker自称的参数和线材真实能力之间,WhatCable无法证伪,虚标线材照样能在软件里“过关”。

这也是它和专业功率分析仪的分界线。像ChargerLAB的硬件测试仪,靠外部电气测量拿到导体电阻、信号完整性这类物理层数据,不依赖Mac的协商结果,能力上不重叠,而是互补。

软件测的是自报,硬件测的是身子骨。

同类软件里,Cable Detective和USB Connection Information走的是同一条路——读系统已有的协商数据,只是各自侧重协议诊断或速度监控,思路和WhatCable并无本质差别。

我怎么看这件事

苹果这次的角色挺尴尬:该做的协商它一直在做,该给用户的可见性它一直没给。WhatCable相当于替苹果补了一次本该原生做的UX作业。真正的价值不在“揭穿造假”,而在把黑箱的一半打开了——用户第一次能免费看到Mac到底信不信这根线,却依然看不穿线材有没有骗Mac。

对普通用户,这已经足够当第一道筛子:先用WhatCable看协商结果和e-marker参数对不对得上,对不上再决定要不要上专业测试仪。但别把它当成终极真相机——它替你翻开了账本,没替你验过账。