Ubuntu 16.04 x64 无法打开蓝牙

Ubuntu 16.04 x64 无法打开蓝牙

我的蓝牙设备随机出现故障(电源关闭),除非我重新启动(有时关闭/打开笔记本电脑),否则我无法再次打开它。我有一台运行 Ubuntu 16.04 x64 的联想 Y50-70 笔记本电脑

尝试通过统一指示面板图标或System Settings -> Bluetooth以下日志关闭/打开蓝牙:

bluetoothd[18093]: Failed to set mode: Failed (0x03)

设备未被阻止:

$ sudo rfkill list
0: ideapad_wlan: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: ideapad_bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
3: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
4: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

hciconfig 列出该设备为关闭状态:

$ sudo hciconfig -a hci0
hci0:   Type: BR/EDR  Bus: USB
    BD Address: E8:B1:FC:DC:DC:95  ACL MTU: 1021:5  SCO MTU: 96:5
    DOWN 
    RX bytes:281058 acl:11356 sco:0 events:297 errors:0
    TX bytes:28099 acl:52 sco:0 commands:210 errors:0
    Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF 
    Link mode: SLAVE ACCEPT 

并且无法被提起或重置:

$ sudo hciconfig hci0 up
Can't init device hci0: Connection timed out (110)
$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

重新启动服务会出现以下日志错误,尽管它似乎正在运行

~$ sudo service bluetooth status
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Du 2017-09-03 13:05:40 EEST; 3s ago
    Docs: man:bluetoothd(8)
Main PID: 18093 (bluetoothd)
Status: "Running"
    Tasks: 1
Memory: 1016.0K
    CPU: 5ms
CGroup: /system.slice/bluetooth.service
        └─18093 /usr/lib/bluetooth/bluetoothd

sep 03 13:05:40 burfee bluetoothd[18093]: Error adding Link Loss service
sep 03 13:05:40 burfee bluetoothd[18093]: Not enough free handles to register service
sep 03 13:05:40 burfee bluetoothd[18093]: Not enough free handles to register service
sep 03 13:05:40 burfee bluetoothd[18093]: Not enough free handles to register service
sep 03 13:05:40 burfee bluetoothd[18093]: Current Time Service could not be registered
sep 03 13:05:40 burfee bluetoothd[18093]: gatt-time-server: Input/output error (5)
sep 03 13:05:40 burfee bluetoothd[18093]: Not enough free handles to register service
sep 03 13:05:40 burfee bluetoothd[18093]: Not enough free handles to register service
sep 03 13:05:40 burfee bluetoothd[18093]: Sap driver initialization failed.
sep 03 13:05:40 burfee bluetoothd[18093]: sap-server: Operation not permitted (1)

尝试通过 bluetoothctl 打开电源:

$ bluetoothctl
[NEW] Controller E8:B1:FC:DC:DC:95 burfee-0 [default]
[NEW] Device A4:77:33:77:AB:B3 A4-77-33-77-AB-B3
[NEW] Device 88:C6:26:72:12:7E Logitech BT Adapter
[NEW] Device 84:38:35:3B:BB:94 Apple Wireless Trackpad
[bluetooth]# power on
Failed to set power on: org.bluez.Error.Failed

我甚至尝试将内核从 4.4 升级到 4.6

$ uname -a
Linux ubuntu 4.6.0-040600-generic #201606100558 SMP Fri Jun 10 10:01:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

编辑:现已升级:

$ uname -a
Linux burfee 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

设备:

$ lspci -knn | grep Net -A3; lsusb
08:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b2] (rev 83)
    Subsystem: Intel Corporation Dual Band Wireless-AC 7260 [8086:c270]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
Bus 003 Device 005: ID 145f:01ae Trust 
Bus 003 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 003: ID 8087:07dc Intel Corp. 
Bus 003 Device 002: ID 5986:055e Acer, Inc 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

它似乎主要在笔记本电脑进行更多处理时崩溃,但当我只是在屏幕上移动光标或打开 Krusader 时它也会崩溃。我注意到它立即崩溃,因为我使用的是 Apple Magic Trackpad。

我的笔记本电脑上没有 Fn 热键来硬关闭/打开蓝牙,或者我找不到它,所以唯一的选择是关闭/打开笔记本电脑,这很麻烦,因为这个问题经常发生。

答案1

我发布此信息并非为了解决问题,而是为了解决此问题,因为它可能会对其他人有所帮助。我在两台不同的笔记本电脑上都遇到了蓝牙问题,两台笔记本电脑都安装了 Ubuntu 16.04,解决方法也不同:

  • 对于第一台笔记本电脑,即问题中的那台,如果我立即注意到蓝牙崩溃了,我会转到 Unity 蓝牙指示器面板图标,然后将开关切换为关闭,等待片刻以使其关闭,然后重新打开。有时,如果崩溃后花了很长时间而我没有进行切换,由于某种奇怪的原因,它不再起作用。其他时候,即使我在崩溃后立即做出反应,它也不会起作用。发生这种情况时,我会暂停笔记本电脑片刻,然后再将其唤醒。
  • 对于第二台笔记本电脑,切换技巧不起作用。有效的方法是打开蓝牙设置,要么搜索 Unity 镜头,要么转到系统设置 > 蓝牙,然后从此处的切换开关将其关闭并重新打开。顺便说一句,这种解决方法始终适用于这台笔记本电脑,但不适用于第一台笔记本电脑。

我不知道为什么笔记本电脑对这些拨动开关的反应不同,但是,经过数周尝试不同的方法解决蓝牙问题后,我发现这些解决方案让我在无法再使用 Magic Trackpad 时不必重新启动笔记本电脑。

相关内容