我刚刚将 4.0 适配器换成了新的蓝牙 5.0 适配器,但发现它在 Ubuntu 上不起作用。有人能帮我告诉我需要遵循哪些步骤才能让它工作吗?
lsusb
输出:Bus 001 Device 004: ID 0bda:8771 Realtek Semiconductor Corp. Bluetooth Radio
hciconfig -a
:
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:21 acl:0 sco:0 events:2 errors:0
TX bytes:6 acl:0 sco:0 commands:2 errors:0
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: SLAVE ACCEPT
hcitool dev
是空的bluetoothctl --version
是bluetoothctl: 5.53
rfkill
是:
ID TYPE DEVICE SOFT HARD
1 bluetooth hci0 unblocked unblocked
btmon
是:
Failed to bind channel: Operation not permitted
您还想让我在这里显示哪些命令输出?适配器是DEXP AT-BT501
,芯片组是RTL8761B
。Ubuntu 是 20.04 LTS。
UPD:Ubuntu 主线说我的内核是5.13.0-37
,设备正在运行,因为它在 Windows 上没有问题。
UPD2:日志显示Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761b_fw.bin not found
答案1
RTL8761b 的二进制文件目前不是 Linux 内核的一部分,但是根据此 Ubuntu 论坛帖子,您可以从 GitHub 存储库获取它。
就是这样:
- 打开终端(如果尚未打开)
- 更改临时目录:
cd /tmp
- 下载配置和固件文件来自 GitHub:
wget https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config wget https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw
- 将适当的文件移动到您的
/lib/firmware/rtl_bt
目录:sudo mv rtl8761b_config /lib/firmware/rtl_bt/rtl8761b_config.bin sudo mv rtl8761b_fw /lib/firmware/rtl_bt/rtl8761b_fw.bin
- 跑步
modprobe
:sudo modprobe btusb
- 重新启动蓝牙服务:
sudo systemctl start bluetooth.service
如果一切正常,蓝牙现在就可以运行了。运行hciconfig -a
将确认系统是否可以使用无线电。
答案2
由于某种原因,Linux 内核 5.15 现在正在寻找 rtl8761bu_fw.bin 和 rtl8761bu_config.bin
Linux 内核 5.13 对 rtl8761b_fw.bin 和 rtl8761b_config.bin 很满意
我只需“sudo cp rtl8761b_fw.bin rtl8761bu_fw.bin”
答案3
我已将内核更新至 6.5 版,它突然就正常工作了。但每次连接都会失败。所以我只能安装libspa-0.2-bluetooth
。尝试执行以下操作:
将您的内核更新到更新的版本,我建议 6.5 或更高版本。
安装
libspa-0.2-bluetooth
sudo apt install libspa-0.2-bluetooth
重启
reboot