创作立场声明:刚考完试,回来填坑,之后会继续更新USB定制,CPU变频,A卡硬解和核显驱动及硬解(如果我懒癌没发作的话)。
选择并驱动黑苹果的有线/无线网卡及蓝牙
前言
网络对于任何一台电脑而言都是不可或缺的,黑苹果实现网卡的驱动难度并不大,但是需要合适的硬件搭配正确的驱动,对于有线而言,可以适配市面上99%的硬件,基本不用操心,而无线则相对繁琐一些,首先要求固定几款网卡,其次要求正确的驱动和配置,才能使得无线网络和蓝牙正常工作。
有线网卡
1Gbps板载网卡
目前基本上所有的主板都板载了千兆有线网卡,所以我们这里不讨论PCI-E网卡的驱动。相对无线而言,有线网卡驱动的难度很小,方法很简单,只需要找准正确的Kext扔到Clover或/L/E中注入即可。
首先我们需要确认主板的板载网卡型号,我们可以右键我的电脑-管理-设备管理器-网络适配器中找到具体型号:
目前可以驱动的有线网卡分为五类:
IntelMausiEthernet :面向Intel网卡,支持i217-V/i218-V/i219-V/82579-V等等,基本上大部分的Intel板载有线网卡都可以靠这个驱动,基本上5系以后的主板上的Intel板载网卡都无压力。由Mieze创建,由RehabMan接手。
AppleIntelE1000e :面向Intel网卡,支持82573,82574L,82578,82579等5/6代较老网卡。由Mieze创建,由RehabMan接手。
RealtekRTL8111 :面向Realtek瑞昱网卡,支持Realtek RTL8111/8168 B/C/D/E/F/G/H等,但是这个驱动在安装前首先需要删除/S/L/E中的Realtek驱动,然后复制重建缓存。由Mieze创建,由RehabMan接手。
AtherosE2200Ethernet :面向Atheros高通网卡,支持AR816x, AR817x, Killer E220x, Killer E2400 and Killer E2500,很多游戏本上的Killer网卡可以使用这个驱动。由Mieze创建。
BCM5722D :面向Broadcom博通网卡,支持少量型号。由adlan创建。
Null-Ethernet :面向无法驱动的有线网卡,启动Mac App Store访问,通过USB WIFI来实现Fake Ethernet。由RehabMan创建。
以本台电脑举例,我们只需要将IntelMausiEthernet这个驱动扔到/EFI/Clover/Kexts/Other目录下即可。
10Gbps PCI-E网卡
High Sierra 10.13.2后macOS加强了对万兆网卡的支持,目前有以下几款万兆网卡在黑苹果下可以使用:
华硕ROG AREION 10G
Aquantia AQtion AQN-107
GIGABYTE GC-AQC107
无线网卡
很多人喜欢使用USB无线网卡,实际上macOS对各个组件的要求比较高,如果使用USB网卡,诸如Apple Continuity(Handoff和Airdrop),内建网卡等等均无法实现,而且使用WIFI还需要第三方软件驱动帮忙,一般也不带蓝牙。而且USB网卡还会造成无法睡眠的情况,不推荐使用。
无线网卡御三家:Intel,Atheros(高通旗下),Broadcom(博通)。
Intel:由于IO80211驱动没有开放源码,所以基本上Intel的无线网卡在macOS下是无解的,其蓝牙可能能驱动,但是也需要先进入Windows再重启到macOS,才能正确获得蓝牙dev/sub实现,让人很不舒服。特别需要注意,由于300系主板引入了CNVi,所以基本上所有的板载无线网卡都不能驱动,最好选择能更换的板载无线网卡。
Atheros:Atheros无线网卡也不在少数,驱动难度貌似也不大,只需要IO80211Family.kext驱动即可,但是本人并没有详细的考证过蓝牙的驱动方式,所以也不是很推荐。
Broadcom:最受大家推崇的就是博通网卡,但也仅限于几个型号,经过一系列设置后就可以非常完美的使用。也是本次教程面向的无线网卡对象。需要注意,这类网卡普遍较贵,无线网卡从性能来讲以Intel为首,但是这几款黑苹果限定的博通网卡基本都超过Intel*级网卡的价格。所以,如果你还没有挑选主板,最好能找一块板载网卡是博通限定型号的主板,可以省下两百左右。
博通网卡的兼容性如下表所示(比较常见的):
这些无线网卡也分为两类,一类是Apple原生网卡,通过转接卡或直接连接到PCI-E通道上,形式可以是PCI-E插卡或M,2槽。这类网卡包括:
BCM94331CD (4 antenna, BT4, Wifi a/b/g/n): iMac Intel 21.5” or 27” (Late 2012-Early 2013)
BCM94360CD (4 antenna, BT4, Wifi a/b/g/n/ac): iMac Intel 21.5” or 27” (Late 2013-Late 2014)
BCM943602CD (4 antenna): Couldn’t find corresponding model
BCM943602CDP (4 antenna, BT4 Wifi a/b/g/n/ac): iMac Intel 21.5” or 27” (Mid 2015-Late 2015)
BCM94360CS (3 antenna, BT4, Wifi a/b/g/n/ac): Mac mini A1347 (Late 2014), MacBook Pro 13” and 15” Retina (Late 2013-Mid 2014)
BCM943602CS (3 antenna, BT4, Wifi a/b/g/n/ac): MacBook Pro Retina (2015)
BCM94360CS2 (2 antenna, BT4, Wifi a/b/g/n/ac): MacBook Air (Mid 2013-2017)
BCM94360CSAX (3 antenna, BT4, a/b/g/n): MacBook Pro 13” and 15” Retina (Late 2012-Early 2013)
这类Apple拆机网卡数量并不少,淘宝上都已经搭配好了PCI-E转接卡或者M.2转接卡,需要注意!蓝牙不走PCI-E通道,所以转接卡会有一个插槽需要连接到USB Header上,例如,PCI-E转接卡会附带一个USB2.0插针,M.2转接卡需要主板有USB Header,而笔记本没有USB Header,我印象中只有Intel的NUC上存在USB插针,所以再次推荐Intel NUC8i5 BEH搭配M.2转接网卡使用。
Apple原生网卡最大的好处在于可以在BIOS和Clover选择界面使用蓝牙键盘,相对来说方便不少,而且诸如Handoff等功能也不需要操心,免驱动,完完全全是原生使用。
接下来是第二类网卡,即所谓第三方网卡 or 非原生网卡,由于笔记本不带USB Header,所以通常会选择Half mini PCI-E中的BCM94352HMB和M.2的BCM94352z,第三方网卡使用基本上也不存在太大的问题,但有几个注意点:
BCM94352HMB和BCM94360HMB在华硕Z170之前的主板上经常使用,即所谓WIFI GO,使用华硕带WIFI GO的老主板可以省下不少费用。
BCM94350ZAE听说也可以驱动,而且非常便宜,只有BCM94352z大约三分之一的价格,性能也不错,但是存在一些问题,具体是什么问题我没了解过
BCM94352z分为一齿和二齿,请分清具体适合的版本。
如果是台式机,并且主板没有miniPCI-E和M.2无线网卡插槽预留,请使用BCM943602CS/BCM94360CDP/BCM94360CD的原生PCI-E网卡,如果主板自带M.2或者miniPCI-E插槽,并且可以更换无线网卡,请根据天线数选择合适的网卡,使用较多的有BCM94360 HMB/BCM94352 HMB/BCM94352Z/BCM943602BAED等。部分自带无线网卡的华硕X99主板上的WIFI GO使用的就是BCM94360 HMB,相对而言可以省下一笔支出。
无线网络
关于无线网络的驱动是非常简单的,只有前面提到的第二类网卡(所谓的第三方博通兼容卡)才需要驱动,我们只需要在/EFI/Clover/Kexts/Other目录下放入AirportBrcmFixup和Lilu即可,目前这两个驱动都由acidanthera维护。当然你也可以放在/Library/Extensions下,不过千万要记得重建缓存,这里我给出手动重建缓存的命令:
sudo kextcache -i /
至于Kext Beast, Kext Wizard, Kext Utility为啥不推荐,我也不知道,RehabMan不推荐,他还推荐尽量将Kexts放在/Library/Extensions下,理由如下:
People often ask me why I install kexts to /S/L/E (or /L/E on 10.11 or later).
I have many reasons:
1 placing them in /S/L/E (or /L/E on 10.11+) and including in kernel cache, makes kextcache do a lot of error checking.
2 if you develop kexts, error checking is very important!
3 some kexts don’t work from Clover/kexts (AppleHDA injector, CodecCommander, BrcmFirmware*)
4 the idea behind Clover/kexts is to have a set of stable and minimalistic kexts that will allow booting of the installer/recovery, not full functionality
5 so…the kexts there I tend to not update as often and the full set is not there (less unneeded kexts, less problems)
6 placing kexts into kernel cache for day-to-day use is “more native” (as it would be on a real Mac) vs. injection (which is very non-Mac)
蓝牙
由于蓝牙本质上是走USB通道的,所以在搞定蓝牙前你最好先整好USB,不过一般来说只要加了对应的USB端口限制补丁和USBInjectAll.kext后一般都能识别部分USB,所以蓝牙一般能用,但是如果通过下面的方法你无法用蓝牙,那么说明你得从USB这块着手,可能需要定制USBInjectAll,这个我们下次再聊。
蓝牙和无线同样,只有非Apple原生卡才需要驱动,我们这里主要借助了OS-X-BrcmPatchRAM,这个kext由RehabMan维护。RehabMan的驱动一般在Github上放源码,下载摆在Bitbucket上,建议无论安装什么驱动,都请认真阅读README.md,毕竟作者比我懂多了。
下载后的目录结构如图所示:
BrcmPatchRAM/BrcmPatchRAM2需要根据版本二选一,如果是10.11 or later就使用RAM2,如果是老版本使用RAM。
BrcmFirmwareData和BrcmFirmwareRepo也是二选一,他们两个作用是完全一样的,RehabMan推荐使用Repo,但是Repo需要安装到/Library/Extensions目录下并重建缓存,而Data可以直接放到/EFI/Clover/Kexts中
至于non-PatchRAM就不需要初学者考虑了,基本上常见网卡的驱动已经够用了。