很长一段时间以来,我一直在努力使蓝牙在Linux上工作。
在Windows 10设备管理器中,蓝牙适配器为Realtek蓝牙4.2,驱动程序文件列表显示rtl8723d驱动程序固件
我使用Ubuntu 19.04、19.10和现在的20.04双重启动。它们全部在设置的“蓝牙”部分中显示“找不到适配器”。 lsusb中没有Realtek条目。 rfkill列表中没有蓝牙设备。在dmesg中没有检测到hci0。蓝牙服务无法在启动时启动。
几天前,我将Debian安装为双启动。我启动了它,然后看到系统托盘中的蓝牙已关闭,但我无法将其打开。我看到了lsusb输出,并且有Realtek Semicond。设备在那里。我看到了dmesg日志。它已检测到hci0设备,但显示无法为其找到固件文件。我下载了rtl_bt固件文件夹,将其放在/ lib / firmware /中,并重新加载了btusb模块,蓝牙开始正常运行。我什至可以从手机流式传输音频,而这在Windows中是无法做到的。
我关闭了电脑,并尝试再次启动ubuntu。结果显示相同,dmesg中没有hci0,lsusb中没有realtek设备,rfkill中没有蓝牙设备。
现在,当我重新启动进入debian时,Ubuntu也毁了那里的蓝牙!蓝牙也像ubuntu一样从debian中消失了。我启动了Windows。蓝牙在那里工作。现在我重新启动进入Debian,并且bt重新启动。因此,每当我启动到ubuntu live boot时,我都必须重新启动到Windows才能再次在Debian中启用蓝牙。
现在,今天我在virtualbox中安装了ubuntu,当它启动时,在VirtualBox设备菜单的USB子菜单中,我单击了Realtek Semiconductor Device。突然,蓝牙在Ubuntu VM中的运行情况与在Debian中一样良好。 dmesg日志显示与rtl8723d固件相同的hci0设备。但是现在,蓝牙已从Windows设备管理器中消失了,并且Windows中没有蓝牙。现在,当我关闭ubuntu VM蓝牙时,它又回到了Windows。
谁能告诉我发生了什么,为什么除了Debian以外,蓝牙无法在双启动中工作?