过去 6 个月,我一直在 Ubuntu 16.04.3 LTS 上完美地使用蓝牙,同时连接鼠标/键盘/耳机。但突然出现了一些内核更新,我想是因为我必须更新我的虚拟机的内核,这太乱了!同时,我开始经常遇到蓝牙问题,有时能用,有时不能用。
不管怎样,我尝试了很多谷歌搜索的方法,我不确定我是否搞砸了什么,但现在我当前的蓝牙行为如下:
启动/重启时蓝牙完全不起作用。Ubuntu 认为它已打开,但我无法连接或扫描任何设备。
如果我只是执行“sudo modprobe -r btusb; sudo modprobe btusb”(我相信这会重新安装蓝牙驱动程序或类似的东西)蓝牙就会开始完美地工作,然而大约 2 分钟后它就会再次停止。
这太奇怪了。明明它能正常工作,但为什么它却无法继续运行呢?
以防万一有帮助:
sudo dmesg | grep Blue
[ 9.266691] Bluetooth: Core ver 2.22
[ 9.266704] Bluetooth: HCI device and connection manager initialized
[ 9.266710] Bluetooth: HCI socket layer initialized
[ 9.266711] Bluetooth: L2CAP socket layer initialized
[ 9.266714] Bluetooth: SCO socket layer initialized
[ 9.285931] Bluetooth: HCI UART driver ver 2.3
[ 9.285932] Bluetooth: HCI UART protocol H4 registered
[ 9.285933] Bluetooth: HCI UART protocol BCSP registered
[ 9.285945] Bluetooth: HCI UART protocol LL registered
[ 9.285946] Bluetooth: HCI UART protocol ATH3K registered
[ 9.285946] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 9.285974] Bluetooth: HCI UART protocol Intel registered
[ 9.285982] Bluetooth: HCI UART protocol Broadcom registered
[ 9.285983] Bluetooth: HCI UART protocol QCA registered
[ 9.285984] Bluetooth: HCI UART protocol AG6XX registered
[ 9.285984] Bluetooth: HCI UART protocol Marvell registered
[ 9.428155] Bluetooth: hci0: Firmware revision 0.1 build 103 week 50 2016
[ 10.205097] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 10.205098] Bluetooth: BNEP filters: protocol multicast
[ 10.205100] Bluetooth: BNEP socket layer initialized
[ 12.659374] Bluetooth: RFCOMM TTY layer initialized
[ 12.659377] Bluetooth: RFCOMM socket layer initialized
[ 12.659381] Bluetooth: RFCOMM ver 1.11
[ 33.820193] Bluetooth: hci0 command 0x0c52 tx timeout
[ 57.756016] Bluetooth: hci0 command 0x0405 tx timeout
[ 103.871505] Bluetooth: hci0: Firmware revision 0.1 build 103 week 50 2016
- 编辑
我尝试了一些步骤来删除并重新安装蓝牙包,但问题仍然存在。出于某种原因,我的蓝牙不是工作 2 分钟,而是在重新启动驱动程序后 15 秒左右才开始工作。我的系统日志在事情发生后立即显示了这一点。
tail syslog
Jan 28 13:43:51 pierre-Galago-Pro system76-daemon[1255]: 2018-01-28 13:43:51,967 INFO {'hci0': True, 'phy0': True} != {'phy0': True}
Jan 28 13:43:51 pierre-Galago-Pro system76-daemon[1255]: 2018-01-28 13:43:51,970 INFO airplane_mode: False
Jan 28 13:44:04 pierre-Galago-Pro bluetoothd[1306]: /org/bluez/hci0/dev_57_D3_98_0B_83_19/fd1: fd(36) ready
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Supervising 3 threads of 1 processes of 1 users.
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Successfully made thread 10504 of process 5763 (n/a) owned by '1000' RT at priority 5.
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Supervising 4 threads of 1 processes of 1 users.
Jan 28 13:44:04 pierre-Galago-Pro kernel: [ 317.466103] input: 57:D3:98:0B:83:19 as /devices/virtual/input/input27
Jan 28 13:44:23 pierre-Galago-Pro bluetoothd[1306]: Suspend: Connection timed out (110)
Jan 28 13:44:25 pierre-Galago-Pro bluetoothd[1306]: Abort: Connection timed out (110)
Jan 28 13:44:25 pierre-Galago-Pro acpid: input device has been disconnected, fd 22
看来 bluetoothd 是名为 bluez 的包的守护进程,我可以看到 bluez 包最近刚刚针对 Ubuntu 16.04 进行了更新(https://launchpad.net/ubuntu/+source/bluez)也许我可能需要降级到以前的版本。
答案1
好吧,奇妙的是,看起来我可能已经以最不可能的方式解决了这个问题。
我尝试了很多方法,安装/重新安装各种软件包,安装了系统更新,重启了很多次,但都没有解决问题,直到我读到 System76 支持提供的此页面:http://support.system76.com/articles/bluetooth/
它首先建议切换飞行模式,看看是否能解决你的问题。结果确实如此!