- 积分
- 119
- 最后登录
- 2024-3-28
- 精华
- 0
- 阅读权限
- 20
- 主题
- 6
- UID
- 693218
- 帖子
- 298
- PB币
- 844
- 威望
- 0
- 贡献
- 0
- 技术
- 1
- 活跃
- 1006
业余黑苹果大-师兄,很菜那种
- UID
- 693218
- 帖子
- 298
- PB币
- 844
- 贡献
- 0
- 技术
- 1
- 活跃
- 1006
|
发表于 2020-9-13 11:53:13
IP属地广东
|显示全部楼层
需求场景:
家里有两台PC,
其中之一为主用机器,典型黑苹果配置:
CPU: Xeon W 2150B
主板:超微 X11SRA-F
内存:紫光服务器内存2666V 16GB 四条
显卡:粪叉公版 RX5700XT, 伪装W5700X
声卡:板载声卡有驱动但不常用,常用蓝牙耳机
网卡:板载了intel 211和AQC108,前者免驱动,后者没有驱动。
硬盘:几个nvme,三个500G左右的小容量盘做各种系统,一个1.6T大船到岸的三星PM1725A做本地临时存储。
操作系统主要是用黑苹果和Linux,黑苹果最近升级到了大苏尔,Linux以前用Gentoo,后来嫌麻烦换成Fedora server。
另一台作为存储设备和虚拟化主机,典型的前黑苹果配置:
CPU: 4790K
主板: 打人硕Z97 M7G
显卡:集成
声卡:板载
网卡:intel 210
硬盘:两个nvme ssd,一个2T的国产海康C2000Pro做系统,一个1.92T大船到岸的三星PM983做为简单的备份存储。
操作系统是Proxmox的PVE,本质上是个debian linux。
虚拟化/存储用机最近用得比较频繁,同步文件等待的时间耗费得比较多,有了升级网卡的想法。
最初对Iinfiniband 的100GB带宽非常心动,这玩意在Linux下支持得不错,可黑苹果不支持。虽然我同步文件大部分是在Linux系统下,但是也想提升一下黑苹果的网络性能。不然,在黑苹果中等于挂了个无用的高能耗设备空耗人民电网的电能,不符合社会主义价值观。
这里说一句,淘宝/咸鱼/百度/google上搜集了大量相关信息,结论是IB网直连的成本并不比万兆网高很多,不算离谱。说的是两卡加一个连接线的方案,如果你要使用IB交换机那另说。有想法的人可以大胆实施。
黑苹果不能用IB网卡,那就用万兆网卡。那万兆电口网卡的价格比光口网卡的价格明显高出一截,淘宝和咸鱼的定价逻辑应该是电口的交换机要便宜一些,我猜的。我暂时用不到交换机,自然选择便宜的光口网卡。苹果的产品一直高大上的象征,从以前只考虑技术不考虑价格(比如历史上不计成本坚持使用scsi总线的Quadra),到今天支持的万兆网卡都是最低端的,简直是一种堕落。搜了好多资料,基本上有把握能用的万兆网卡有两款,一个是intel的82599es芯片的x520,一个是solarflare的sfn5122f。
先说intel 82599es芯片的网卡。咸鱼上82599es芯片的单口网卡比较便宜,不到200块钱,但是双口的就贵了,价格到400上下。intel的网卡芯片做得好,驱动开源又完善,软硬件方案相对其他厂商来说几乎完美。这带来另外一个问题,就是副厂网卡很多,甚至板型都一样。很多国产小厂也在做,用来冒充intel原厂你不仔细是分不清楚的。如果想用这个卡,推荐使用富士通D2755(金灿灿的走线很漂亮,没有仿冒卡)和intel原厂卡(有很多仿冒,如果你能鉴别出真卡)。
再说Solarflare sfn5122f,都是双口的,更加便宜,200出头可以拿下。sfn5122f基本都是金融领域里的ibm小型机或者服务上拆下来的,Solarflare不可能流出PCB图给小厂,更因为不是流行网卡,这么小市场连抄板的必要都没有,所以遇到山寨卡的可能性趋近于零。这里顺便说下Solarflare这个牌子,这是个不常见的品牌,来头其实不小,靠低时延技术几乎成了金融交易设备网卡的代名词,后来被赛灵思公司 (Xilinx)在2019年完全收购了。可惜黑苹果只支持低端的sfn5122f,跟82599es半斤八两,都是PCIe 2.0 X8接口,属于上一代技术。
驱动程序上,intel 82599es芯片的网卡在pcbeta有个专门的帖子(https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1721902[/url]),非常详细的说明了通过改设备ID来适配small-tree.com的macOS的驱动。对这个卡有兴趣的,这个帖子解决你的困惑,包云包雨。
Solarflare 被收购以前为macOS提供过SFN5122F网卡的驱动,但是现在从官方网站(已重定向到xilinx的网站)已经找不到了。从流落到民间的以前的驱动包中能找到最新的OS_X_10.9的驱动安装包(SF-111621-LS-1_Solarflare_OS_X_Driver_Package_OS_X_10.9_-_Signed.dmg)。挂在到Big Sur系统下,里面有个Solarflare10GbE.pkg 安装包,运行后提示不被信任,安装失败。
这是因为Big Sur比以前的macOS版本有更严格的权限管理和文件系统保护,不让轻易拷贝文件到系统关键目录下。白苹果遇到这个就比较麻烦,
不过黑苹果的重点是黑,安装包里最重要的是驱动程序kext,用OpenCore就可以加载kext,不用费那么多周章去把kext安装到系统目录下。
我们把安装程序Solarflare10GbE.pkg用右键点开,选择“Show package content”菜单进入这个文件夹,其内容如下:
真正的驱动还在“Archive.pax.gz”这个压缩包里面,我们用压缩工具打开,里面内容如下:
里面Extensions目录下就是我们要的“Solarflare10GbE.kext”。
(先将“Application Support/Solarflare10GbE”目录下的firmware升级工具,diagnostic工具等,找个目录备份一下,给以后调试、升级固件等工作用。)
OpenCore引导环境中的驱动安装
将“Solarflare10GbE.kext”拷贝到OpenCore所在的kexts目录(/EFI/OC/Kexts)下(EFI分区挂载使用OpenCore configurator或者Clover Configurator,方法不赘述)。
然后编辑OpenCore 的Config.plist文件,在kexts章节增加:
<dict>
<key>BundlePath</key>
<string>Solarflare10GbE.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/sfxge</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
保存后,重启计算机,然后就能看到网卡被驱动起来了。
这就完了吗?是的,驱动安装完了。
不过好奇和贪婪是世界进步的原动力,我们查看“Solarflare10GbE.kext”中的内容,找到Info.plist并打开:
找到IOPCIMatch,可以看到它可以适配供应商Solarflare(device id 为0x1924)两种device id(0x0803和0x0813)的产品,
有了这个信息,我们去一个提供所有已知PCI设备ID信息的网站(http://pci-ids.ucw.cz/),下载([url]http://pci-ids.ucw.cz/v2.2/pci.ids.bz2)这个文件并解压。
然后搜索0803,直到找到“0803 SFC9020 10G Ethernet Controller”这一行,
发现原来5122f不只是一个网卡型号,而且是一系列的网卡的分类,只要属于以下列表中的网卡,都可以驱动,一下子选择范围大了很多:
0803 SFC9020 10G Ethernet Controller
1014 0478 2-port 10GbE Low-Latency (R7)
1014 0479 2-port 10GbE OpenOnload (R7)
1014 04a7 Solarflare 10Gb Low-latency Dual-port HBA (R7)
1014 04a8 Solarflare 10Gb Dual-port HBA (R7)
103c 2132 Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1)
103c 2136 Ethernet 10Gb 2-port 570SFP+ Adapter (R7)
1924 1201 SFA6902F-R1 SFP+ AOE Adapter
1924 6200 SFN5122F-R0 SFP+ Server Adapter
1924 6201 SFN5122F-R1 SFP+ Server Adapter
1924 6202 SFN5122F-R2 SFP+ Server Adapter
1924 6204 SFN5122F-R4 SFP+ Server Adapter
1924 6205 SFN5122F-R5 SFP+ Server Adapter
1924 6206 SFN5122F-R6 SFP+ Server Adapter
1924 6207 SFN5122F-R7 SFP+ Server Adapter
1924 6210 SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter
1924 6211 SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter
1924 6217 SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter
1924 6227 SFN6122F-R7 SFP+ Server Adapter
1924 6237 SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter
1924 6501 SFN5802K-R1 Mezzanine Adapter
1924 6511 SFN5814H-R1 Mezzanine Adapter
1924 6521 SFN5812H-R1 Mezzanine Adapter
1924 6562 SFN6832F-R2 SFP+ Mezzanine Adapter
1924 6a05 SFN5112F-R5 SFP+ Server Adapter
1924 6a06 SFN5112F-R6 SFP+ Server Adapter
1924 7206 SFN5162F-R6 SFP+ Server Adapter
1924 7207 SFN5162F-R7 SFP+ Server Adapter
1924 7a06 SFN5152F-R6 SFP+ Server Adapter
1924 7a07 SFN5152F-R7 SFP+ Server Adapter
0813 SFL9021 10GBASE-T Ethernet Controller
1924 6100 SFN5121T-R0 10GBASE-T Server Adapter
1924 6102 SFN5121T-R2 10GBASE-T Server Adapter
1924 6103 SFN5121T-R3 10GBASE-T Server Adapter
1924 6104 SFN5121T-R4 10GBASE-T Server Adapter
1924 6902 SFN5111T-R2 10GBASE-T Server Adapter
1924 6904 SFN5111T-R4 10GBASE-T Server Adapter
1924 7104 SFN5161T-R4 10GBASE-T Server Adapter
1924 7904 SFN5151T-R4 10GBASE-T Server Adapter
这里,0803为光口网卡,0813为电口网卡,按照上面的列表可以随便买了。
臭鱼上有5162f网卡甚至低到16X的价格,比爆炒的电子垃圾广达CX341 OCP改双口网卡还便宜,惊喜不惊喜?
更惊喜的是这系列网卡支持openonload技术的,虽然低端网卡,做个技术验证方案是没有什么问题的。
回到我自己的曲折经历,
网卡和驱动都搞定了,插上光模块和光纤,结果没有连接。
模块是推荐的Finisar FTLX8571D3BCL,光纤只有0.9米,不可能有太多衰减。
但是在Linux下两张网卡四个口只有一个能看到link up状态。
X了狗了,实在没招,把光模块退掉,换思科的SFP-H10GB-CU1M堆叠线,没想到连接一下就OK了。
光模块一个要40块钱,4个160,加上光纤近200块钱。
而换堆叠线20块钱一根,两根才40卡钱。
所有花费不到400块钱,完全搞定。
以上经验送给需要的朋友,祝大家都黑得开心。
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
-
2
查看全部评分
-
|