1.需要用到的工具
EEupdate或者在Ubuntu使用ethtool操作。
2.使用的驱动如下:
Smalltree : 本驱动支持x540 x520 x550不确定支持,系统版本支持:Bigsur、Monterey
Sonnet : 本驱动支持x520 x540 x550,系统是全版本支持,需要自行去sonnet官方提取驱动。
注:如果使用Smalltree方法修改网卡的eeprom,可在Ventura上不需要注入任何驱动,使用系统内置的AppledriverkitXGBE.kext驱动,也就是在Ventura上免驱。
3.操作方法(以Ubuntu为例),以下方法支持的网卡有:X520 X540 X550
一、首先需要使用ifconfig来确定网卡名称
二、确定网卡名称后,需要安装ethtool工具
三、Sonnet网卡驱动的修改方法
##提示:enp26s0f0为网卡名称,0x15638086为网卡的pid和vid,需要输入网卡实际的ID,不同芯片的网卡都不一样。
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x240 value 0xb8
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x241 value 0x16
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x242 value 0x12
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x243 value 0x72
##如果使用eepupdate来进行修改的话
以浪潮x540的位置来说,位置在0x240最后一列和0x248第一列
值输入的顺序为 子系统ID 7212 和 子系统供应商ID 16b8
四、Smalltree网卡驱动方法
##提示:enp26s0f0为网卡名称,0x15638086为网卡的pid和vid,需要输入网卡实际的ID,不同芯片的网卡都不一样。
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x242 value 0x0a
sudo ethtool -E enp26s0f0 magic 0x15638086 offset 0x242 value 0x00
##如果使用eepupdate来进行修改的话
以浪潮x540的位置来说,只需要在0x240最后一列修改,不需要修改0x248第一列
值输入 000a
完成以上任意方法的修改后,注入对应驱动,即可驱动网卡在macos上使用万兆网卡,功能和速度一切正常。
Sonnet驱动下载地址:
Sonnet下载地址
2022-12-5更新情况
在ventura和monterey下 除了x550芯片网卡,其他网卡建议使用smalltree驱动,不然会有断网的问题,并且无解,ventura系统下使用smalltree id为000a,会自动使用内置driverkit,关闭方法为:
boot-args下加入 ixgbe=0 即可避免使用内置driverkitixgbe驱动,完美的使用smalltree驱动。
请问您现在在使用SONNET的驱动吗?
@dk ventura需要使用smalltree的驱动 不然 会有奇怪的问题和bug
@萌牛 可能sonnet并不只修改了硬件id
@dk sonnet那个驱动只是需要网卡id是他家的设备ip即可驱动,但是这驱动是雷电卡的驱动 所以会有些奇怪问题,ventura如果需要使用smalltree驱动 那你就需要屏蔽mac自带驱动 因为smalltree需要的id ventura下的自带驱动能可以直接识别, oc里加个参数就可以屏蔽ventura自带驱动