黑苹果 Monterey wifi 蓝牙驱动 AX系网卡 解决方案

黑苹果 Monterey wifi 蓝牙驱动 AX系网卡 解决方案

问题发现

上文,我为我的小新pro13安装了Monterey
但出现了如下问题:
1.有线网络正常,wifi根本开不了
2.有线网络下,浏览器访问网站正常,appstore能登录,但是唯独icloud登录不了,而且很神奇的是,输入密码后,会发送验证码到手机,输入验证码后,报错“无法联系到苹果服务器”。
3.蓝牙用不了。我之前安装big Sur,没有配置任何驱动的前提下,蓝牙能用,能连接bose印象,而在Monterey 则是蓝牙根本就打不开

原因分析

经过各位大佬的帮助和我在网上的搜索,基本确定是“驱动问题”
群里大佬说她提供的efi不含驱动,所以需要自行安装。
然后我随意安装了群友给的驱动,发现WiFi正常,蓝牙根本用不了。
为什么蓝牙驱动用不了了,可以看OpenCore官网的这篇文章
在这里插入图片描述
大致意思是:

在Monterey中,苹果彻底改写了蓝牙协议栈。截至本文撰写之时,许多蓝牙设备无法工作(传统的Broadcom和Intel)。虽然通过重写, injector kexts打破了Monterey的蓝牙支持,但是firmware(固件) uploader kexts仍然需要。所以确保您:
1.Disable injector kexts(关闭以下 injector kexts)
IntelBluetoothInjector.kext for Intel cards
BrcmBluetoothInjector.kext for Broadcom cards
2.Keep Firmware uploader kexts(保留Firmware uploader kexts)
IntelBluetoothFirmware.kext for Intel
BrcmPatchRAM2/3.kext + BrcmFirmwareData.kext for Broadcom
3.Add BlueToolFixup(添加BlueToolFixup)
所有非本机蓝牙设备(包括Intel)都需要
如果您仍然启动Big Sur或更旧版本,可以将MinKernel字段设置为21.00.0,以防止在旧操作系统上加载BlueToolFixup。

解决方案

这个方案是基于您还未做任何修改驱动操作的前提

1.wifi驱动

下载OpenIntelWireless/itlwm
我下载的是AirportItlwm_v2.1.0_stable_Monterey.kext.zip
AirportItlwn相比于itlwm更原生,完全符合原生体验。
在这里插入图片描述
拿到这个kext文件,留着等下和蓝牙的驱动一起安排到esp分区里
在这里插入图片描述

2.蓝牙驱动

根据OpenCore官网提供的文献
在安装了IntelBluetoothFirmware驱动的基础上
1.我们要禁用IntelBluetoothInjector.kext
2.保留IntelBluetoothFirmware.kext
3.添加BlueToolFixup

我们先安装opencore提供的蓝牙驱动IntelBluetoothFirmware

下载完打开发现里面有三个kext文件
所以根据他说的
1.我们要禁用IntelBluetoothInjector.kext,这里用的是disable,意思为禁用,我们在后续config配置中不添加他即可,但是我们依旧需要安装它,把他放到kexts文件夹里
所以现在我们又得到三个kext驱动文件,等下一起放进esp分区的kexts文件夹里
在这里插入图片描述
然后他还要添加一个BlueToolFixup
oc官网给出的下载地址为BrcmPatchRAM
在这里插入图片描述
下载下来有这么多

我们把这里面的BlueToolFixup拿出来,和刚才的文件放一起,到时候一起放到esp分区里。
现在就是这四个kext驱动文件,等下一起放进esp分区的kexts文件夹里
在这里插入图片描述

把最开始下载的AirportItlwn驱动也放进来,就是如图五个驱动
在这里插入图片描述

然后把这五个驱动放进esp分区的EFI/OC/Kexts文件夹里
结果如图
在这里插入图片描述

然后放完驱动文件后,我们就要修改OC下的config.plist
右键他,
复制到桌面,
在桌边用文本编辑工具(记事本,vscode都可以)打开。
在这里插入图片描述
找到

<key>Kernel</key>
	<dict>
		<key>Add</key>
		<array>
			<dict>
			<key>BundlePath</key>
				<string>Lilu.kext</string>
				<key>Comment</key>
				<string>V1.6.1 | Patch engine</string>
				<key>Enabled</key>
				<true/>
				<key>ExecutablePath</key>
				<string>Contents/MacOS/Lilu</string>
				<key>MaxKernel</key>
				<string></string>
				<key>MinKernel</key>
				<string>10.0.0</string>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>
			<dict>
				<key>BundlePath</key>
				<string>CPUFriend.kext</string>
				...
				...
				...
				这里省略
				可能和我不太一样,
				但关键是开头的<key>Kernel</key>

然后在这里添加如下代码
根据opencore官网给出的手册,我们要禁用IntelBluetoothInjector.kext
刚刚安装了5个kext驱动,禁用一个的话,我们就只需要在config的Kernel里添加四个驱动配置信息就可以。

<dict>
	<key>BundlePath</key>
	<string>AirportItlwm.kext</string>
	<key>Comment</key>
	<string>intelWIFI</string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/AirportItlwm</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string></string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string></string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>BundlePath</key>
	<string>IntelBluetoothFirmware.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBluetoothFirmware</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string></string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>BundlePath</key>
	<string>IntelBTPatcher.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBTPatcher</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string></string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>

保存,然后替换oc文件夹下的config文件,重启进入mac即完成

其实上面添加代码的方式可能有点麻烦,
也可以刚才先不改config,
添加完kext文件后直接重启,
进入mac,
在 OpenCore Configurator中挂在efi,
然后把OC/Kexts里新的五个驱动除去IntelBluetoothInjector.kext,
直接从Finder拖入到如图所示的界面里,
然后保存,
重启即可。
请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45518621/article/details/127606193
今日推荐