视频教程
准备工作
- rufus 软件 + Ubuntu 系统ISO
- U盘一个,做Ubuntu系统,用来修改网卡ID
- 黑苹果驱动 Smalltree8529x.kext
制作ubuntu系统
- 进入windows系统
- 插入U盘
- 运行rufus
- 制作ubuntu安装u盘
查看网卡ID
Windows下,设备管理器 >> 万兆网卡属性 >> 详细信息 >> 硬件id
PCI\VEN_8086&DEV_1528&SUBSYS_192D103C&REV_01
magic value = 0x 1528 8086
也可以在此 网页 上查询网卡型号得到所有Intel设施的magic value,这个页面上都是intel的设施,因此vendor id都是8086
进入Ubuntu系统
- 查看网卡名称
ip addr
- 运行ethtool修改网卡,为防止出错,先备份网卡固件EEPROM
sudo ethtool -e 网卡名称1 raw on > 网卡名称1.bin
sudo ethtool -e 网卡名称2 raw on > 网卡名称2.bin
- 查看网卡型号
lspci -nn -vvv | grep -i ethernet
- 查看偏移地址 [实际操作证明,本步骤可能出错,还是直接从网站上或者windows上直接查看硬件Id更靠谱]
sudo ethtool -e eth1 | less
假如获得以下代码串
0x0320: 03 00 1f 00 00 00 00 2b 03 13 11 7a 86 80 a6 10
获得subsystem id关键字段 >> 80 86 7a 11
获得offset关键字段>> 0x032a 0x032b
- 按照以下模板编辑代码并执行
sudo ethtool -E ethX magic 0x<device id><vendor id> offset 0x<offset> value 0x<value>
手写示意图如下
- 由于我的网卡型号为X540-AT2,经查询代码为 1528 8086,执行以下命令
sudo ethtool -E 网卡1名称 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E 网卡1名称 magic 0x15288086 offset 0x48f value 0x00
sudo ethtool -E 网卡2名称 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E 网卡2名称 magic 0x15288086 offset 0x48f value 0x00
安装smalltree8259x.kext驱动
直接使用打包好的package进行安装,或者手动安装到L/E目录下,如果是手动安装记得修复权限。
package下载链接
链接: https://pan.baidu.com/s/1naaEfNADsGjbT_rAP4n58Q 密码: riqu
你好,请问只要是 Intel 万兆都能试用么?
不太确定呢,我只能猜测满足几个条件:
网卡有近似版本可以被 smalltree 驱动,
可以修改subsystem id
估计就可以了
有一个问题,这种方法m1同样适用吗
手上没有m1 的设备,但根据黑苹果得经验,
建议去试试
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x048e value 0x0a
offset & length out of bounds
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x48f value 0x00
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x490 value 0x86
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x491 value 0x80
出错,offset out of bounds 如何处理?谢谢
你的卡对应的magic number应该不是这个吧
特别看我手写的示意图
加个 length 1, 如下
sudo ethtool -E enp5s0f0 magic 0x15288086 offset 0x48e length 1 value 0x0a
你可以输入 ethtool -h 来查询 -E 命令的用法
请问用这个方法能修改非intel的网卡吗?我买了个杂牌aqc107,pid不对,苹果不认。我知道苹果认的vid,想改了。