在某些设备上,用户可能选择使用性能更优或更兼容的 USB 无线网卡和蓝牙模块。为了避免内建设备干扰,可以通过系统配置禁用它们。


目标

  • 禁用内建蓝牙(Apple USB Host Controller)
  • 禁用内建 Wi-Fi(Broadcom BCM43602 PCIe 无线网卡)
  • 保证 USB 外接蓝牙与 Wi-Fi 正常使用

步骤一:禁用内建 Wi-Fi(Broadcom BCM43602)

内建无线网卡通过 PCIe 接口连接,需通过 modprobe 黑名单机制禁用其驱动。

创建黑名单配置文件:

sudo nano /etc/modprobe.d/blacklist-internal-wifi.conf

添加内容:

# 屏蔽 Broadcom 内建 Wi-Fi 模块
blacklist brcmfmac
blacklist bcma
blacklist b43
blacklist b43legacy
blacklist brcmsmac
blacklist ssb

这些模块涵盖了大多数 Broadcom 无线驱动,能确保系统不加载内建无线相关驱动。


步骤二:禁用内建蓝牙(Apple 蓝牙控制器)

内建蓝牙通常通过 USB 接口提供服务,因此推荐使用 udev 规则精确屏蔽。

创建 udev 规则文件:

sudo nano /etc/udev/rules.d/81-bluetooth-disable.rules

添加内容:

# 禁用 Apple 内建蓝牙 USB 控制器(Vendor: 05ac, Product: 8296)
SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="8296", ATTR{authorized}="0"

应用配置并重启

sudo udevadm control --reload
sudo udevadm trigger
sudo reboot

验证禁用状态

  • 使用 lsusb 检查内建蓝牙是否仍可见:
lsusb | grep 8296
  • 使用 bluetoothctl list 确认只存在外接蓝牙适配器
  • 使用 ethtool -i wlan0(替换接口名)确认无线网卡使用的是 USB 驱动(如 8851bu),而非 brcmfmac

可选恢复方式

恢复蓝牙:

sudo rm /etc/udev/rules.d/81-bluetooth-disable.rules
sudo udevadm control --reload
sudo udevadm trigger

恢复 Wi-Fi:

sudo rm /etc/modprobe.d/blacklist-internal-wifi.conf
sudo mkinitcpio -P
sudo reboot

总结

通过 modprobe 与 udev 的组合禁用方式,可精准关闭内建无线模块而不干扰外接 USB 无线设备的正常使用。适用于需要高稳定性和自定义硬件配置的桌面环境。

Leave a Reply

Your email address will not be published. Required fields are marked *