一张带 T2 的 PCIe 卡:网卡那半是标准 Mellanox,另一半只有一个对不上苹果的 Vendor ID。怎么把未知数变成可核对的东西。
先说两个编号。这张卡上,网卡部分的 Vendor ID 是 15b3,那是 Mellanox 的编号;另一个设备的 Vendor ID 是 118b,除此之外什么都不知道。中间有一颗交换芯片,把一条链路分成了两台设备。
所以「苹果还出网卡?」这个问题的答案有点歪:它是两台设备,网卡只是其中一台。这篇要回答的是另一半是什么,以及在只有一个编号的情况下,怎么把「不知道」变成能核对的东西。
一、网卡那一半:一张标准件
能确认的部分先说。网卡这半是标准的 Mellanox ConnectX-4 Lx,这个系列在服务器和工作站上用得很广,可以刷原厂固件,功能没有毛病。
能不能用要看系统。macOS 13 之前,系统里没有原生的 Mellanox 驱动,在旧系统上,这块卡连网卡这半都用不了。到 macOS 13 Ventura,系统才自带了 AppleEthernetMLX5 这个驱动,ConnectX-4 到 6 都能直接认。
所以整张卡里最不特别的,反而是网卡这半。问题在另一边。
顺带说一句这类编号怎么读:Vendor ID 是公开可查的,查一遍数据库就知道 15b3 属于谁;查不出名堂的,才值得往下挖。排查的第一步,是确认哪些部分不需要查。
二、问题在另一半
另一个设备只留下一个编号。去公开的 PCI 编号库里查,118b 登记在一家叫 Hypertec 的公司名下,和苹果对不上;苹果自己的编号是 106b。
我的推断指向那枚 T2 安全芯片,它在 Mac 上同时兼任固态硬盘控制器。如果这块卡是为了吞吐性能做的,这个组合就说得通:把网络和存储控制器放在同一张卡上,让数据少走一段路。
这是推断,不是结论。118b 到底是不是那枚芯片,目前没有站得住的证据,编号库里那家公司的名字也解释不了它。这个题目有意思的地方,就在它留了一个明确的未知数。
三、把「不知道」变成「可核对」
对付未知数,只能用清单。
第一步是硬件描述:从固件包里把设备树取出来,用解析工具转成可读文本,就能看到这台设备自己怎么写自己。第二步是系统侧的证据:系统诊断报告里有一批文件值得翻,网络接口配置、解析器设置、正在运行的进程和内存占用、文件系统调用记录,单独看都没什么,放在一起能拼出这台机器当时的状态。第三步是横向对照:这张卡的固件已经有人公开 dump 了出来,别人可以复核,也可以反驳。
三步做完,得到的可能仍然只是一个编号。但这个编号是可复核的,不是传言。
四、这张卡暴露的是命名法
顺着编号往下看,会发现苹果的代号不是给消费者看的。
在固件标识确立之前,无线耳机在系统里统称 iProd,所有型号共用一个名字。代号还会复用:几年后出现的同名代号,可能和十年前那台设备毫无关系。
T2 也一样。同一颗 T2(T8012),装在 15 英寸 MacBook Pro 的两个型号里,板号分别是 J680 和 J780,同一代芯片,配的是不同的主板;2019 年的 16 英寸 MacBook Pro 则是 J152f。台式机的代号也有规律可循,懂规律的人可以据此做「惯性预测」,猜对过,也猜错过。
代号是工程语言,把它当产品名去读,很容易读错。
末:它为什么叫「苹果网卡」
回到标题。这张卡被叫作「苹果网卡」,是因为它身上只有一个标准件,另一个是只有苹果自己知道用途的子系统。它把网络、存储和安全绑在同一块卡上,交给工程师在特定阶段使用。
它的使用方式也和零售设备不同:登录权限本来就是开放的,普通数据线就能调试,线缆要求不像消费产品那样定死。这些特征拼起来,说明它从来不是为货架准备的。
还要交代一个边界:这张卡其实没多少可做的。拿到最高权限,能做的最多是把速度测一遍,再把用途推测清楚。讲到最后,118b 仍然登记在一家看不出和苹果有关的公司名下,没有人知道它为什么和网卡待在一起。
演示磁盘
这篇文章配有演示磁盘,可以在 AI System 6 里打开。