最近在一台 Linux 桌面系统上测试无线网络和蓝牙设备时,发现一个很有意思的现象:机器内置的无线模块纸面规格并不差,蓝牙驱动本身也比较稳定,但实际使用中,外接 USB 无线网卡附带的蓝牙功能反而表现更好。
这次对比的对象大致是:
- 机器内置蓝牙:Apple / Broadcom 蓝牙控制器
- 外接 USB 蓝牙:一款 AX900 级别的 USB Wi-Fi 6 + Bluetooth 一体适配器,芯片识别为 Realtek 系列
一、先看系统识别结果
在 Linux 下,可以用下面的命令查看蓝牙控制器:
bluetoothctl list
系统中可以看到两个蓝牙控制器:
Controller XX:XX:XX:XX:XX:XX AX900 [default]
Controller YY:YY:YY:YY:YY:YY Internal
其中 AX900 是外接 USB 适配器,Internal 是机器内置蓝牙。
进一步查看控制器信息:
btmgmt info
输出中比较关键的是:
hci1: version 12 manufacturer 93
name AX900
hci0: version 8 manufacturer 15
name Internal
这里的 version 是 HCI version,可以大致对应蓝牙版本:
| HCI version | 对应蓝牙版本 |
|---|---|
| 8 | Bluetooth 4.2 |
| 9 | Bluetooth 5.0 |
| 10 | Bluetooth 5.1 |
| 11 | Bluetooth 5.2 |
| 12 | Bluetooth 5.3 |
所以可以判断:
- 内置蓝牙:Bluetooth 4.2
- USB 蓝牙:Bluetooth 5.3
这已经说明两者不是同一代产品。
二、内置蓝牙并不是“驱动差”
这次测试中,一个容易误解的地方是:外接 USB 蓝牙表现更好,并不代表内置蓝牙驱动很差。
内置蓝牙识别为 Broadcom / Apple 蓝牙控制器。它在 Linux 下基本可以正常加载,鼠标、键盘、普通蓝牙连接通常没有问题。也就是说,它更像是:
驱动稳定,但版本较旧,射频覆盖能力有限。
这类内置蓝牙的主要问题不是“不能用”,而是:
- 蓝牙版本较旧,只到 Bluetooth 4.2;
- 天线在机身内部,容易受到金属外壳、屏幕、电源、主板等结构影响;
- 对蓝牙耳机这种连续音频传输来说,距离稍远或隔墙后容易出现卡顿、断音甚至断连。
所以内置蓝牙适合近距离鼠标、键盘等低带宽设备,但在蓝牙耳机、隔墙使用、多设备连接等场景下,就不一定理想。
三、USB 蓝牙的优势不只是版本新
外接 USB 适配器识别为 Realtek 系列,系统日志中可以看到类似信息:
Bluetooth: hci1: RTL
loading rtl_bt/rtl8851bu_fw.bin
loading rtl_bt/rtl8851bu_config.bin
这说明它加载了 Realtek 蓝牙固件,并且作为 USB 蓝牙控制器正常工作。
它的优势主要有三个方面。
第一是蓝牙版本更新。它的 HCI version 为 12,对应 Bluetooth 5.3。相比 Bluetooth 4.2,新版本在低功耗、连接能力、新协议支持方面都有明显进步。
第二是外置天线。这个 USB 适配器不是非常小的迷你款,而是带一根较长外置天线的类型。外置天线离主机内部电磁环境更远,位置也更自由,实际覆盖范围往往比内置天线更好。
第三是当前系统默认已经优先使用它。bluetoothctl list 中可以看到 USB 适配器后面带有 [default],说明系统当前默认控制器就是它。
四、实际体验差异非常明显
纸面参数之外,真正有价值的是实际体验。
使用内置蓝牙时,蓝牙耳机在离开电脑、隔一道门之后就容易断连或者听不清。换成 USB 蓝牙之后,即使离开房间、隔着门,声音仍然可以正常播放,而且没有明显中断。
这说明差异不只是理论版本差距,而是实际无线覆盖能力也确实不同。
蓝牙耳机对链路质量比较敏感。鼠标、键盘即使偶尔有一点丢包,用户可能不容易察觉;但音频传输一旦链路质量下降,就会马上表现为:
- 声音断续;
- 卡顿;
- 延迟增加;
- 直接断连。
因此,蓝牙耳机是测试蓝牙稳定性和覆盖能力的一个很直观的场景。
五、为什么内置蓝牙近距离稳定,远距离却弱?
这其实很正常。
内置蓝牙一般有几个限制:
- 天线藏在机身内部;
- 周围有金属结构和其他电子元件;
- 蓝牙和 Wi-Fi 都使用 2.4GHz 频段,容易受到干扰;
- 老蓝牙版本在复杂环境下的表现不如新设备;
- 一体机或金属机身设备对无线信号并不总是友好。
所以它可能在桌面近距离使用时非常稳定,但只要人离开房间、隔墙、关门,信号衰减就会明显增加。
外接 USB 适配器因为有外置天线,天线位置更开放,信号传播条件更好,所以实际覆盖明显改善。
六、蓝牙版本不是唯一因素,但这次差距很清楚
蓝牙性能不能只看版本。实际体验还取决于:
- 芯片;
- 固件;
- Linux 蓝牙栈;
- 天线设计;
- USB 插口位置;
- 周围 2.4GHz 干扰;
- 蓝牙耳机自身性能;
- 音频编码和系统音频栈。
但是在这次测试中,差距已经比较清楚:
| 项目 | 内置蓝牙 | USB 蓝牙 |
|---|---|---|
| 芯片类型 | Broadcom / Apple | Realtek |
| 蓝牙版本 | Bluetooth 4.2 | Bluetooth 5.3 |
| 天线位置 | 机身内部 | 外置天线 |
| 近距离鼠标键盘 | 稳定 | 稳定 |
| 蓝牙耳机远距离 | 容易断 | 明显更稳 |
| 隔门使用 | 表现一般 | 可正常使用 |
| 适合作为主力 | 近距离可以 | 更适合主力使用 |
所以这不是简单的“内置差、外置好”,而是:
内置蓝牙驱动稳定,但硬件代际和天线环境有限;USB 蓝牙版本更新,外置天线带来了更好的实际覆盖。
七、Linux 下如何确认自己正在用哪个蓝牙?
可以用:
bluetoothctl list
如果看到类似:
Controller XX:XX:XX:XX:XX:XX AX900 [default]
Controller YY:YY:YY:YY:YY:YY Internal
说明当前默认蓝牙控制器是 AX900。
也可以查看详细信息:
btmgmt info
或者分别查看:
btmgmt -i hci0 info
btmgmt -i hci1 info
如果想临时关闭内置蓝牙、启用 USB 蓝牙,可以使用:
btmgmt -i hci0 power off
btmgmt -i hci1 power on
这里的 hci0 和 hci1 需要根据自己机器上的实际输出确认,不能盲目照抄。
八、最终结论
这次测试的结论可以概括为:
内置蓝牙不是不能用,也不是驱动不稳,而是版本较旧、天线环境受限;外接 USB 蓝牙适配器因为版本更新、天线外置,所以在蓝牙耳机和远距离使用场景下表现明显更好。
在这台 Linux 设备上,比较合理的无线使用策略是:
- Wi-Fi:优先使用外接 USB Wi-Fi 6 适配器;
- 蓝牙耳机:优先使用外接 USB 蓝牙;
- 鼠标键盘:内置或外置都可以;
- 内置蓝牙:保留作为备用。
这类外接 USB 一体网卡未必是纸面规格最顶级的设备,但如果驱动可用、固件加载正常、外置天线效果好,那么在 Linux 桌面环境中,它可能比内置无线模块更实用。对于旧款一体机、金属机身设备或者内置无线模块在 Linux 下表现一般的机器来说,这种外接方案是一个很现实、成本也不高的补强方式。