关于控制中心未发现蓝牙设备和蓝牙连接后频繁掉线的反馈
Tofloor
poster avatar
jingle
deepin
2017-11-21 01:39
Author
1.控制中心没有蓝牙选项

    1).执行 sudo dmesg|grub bluetooth 查看输出结果

     输出里有 timeout

            此时再用 systemctl status bluetooth.service 看下服务有没有正常启动,错误信息是什么,然后根据错误去网上搜索答案。

            如果蓝牙是由网卡提供的,此时可以试着开关一下网卡的硬件开关。因为内核在初始化网卡之前初始化蓝牙,就会导致蓝牙设备不可用,重新初始化一次就好了。 如果还是无效那就重启进入 window,再 window 里开关一次蓝牙再重启到 linux。

        输出里无 timeout

            这就表明初始化没问题,继续下一步

    2).执行 sudo hciconfig 查看设备当前的状态

        状态为 DOWN

        则执行 sudo hciconfig hci up,其中 number 为前面输出显示的。 如果命令执行失败,参照第一步。

        状态为 UP

        继续下一步

    3).执行 sudo rfkill list 查看设备是否被 block

        被 block

        则执行 sudo rfkill unblock

    如果尝试完上述步骤,蓝牙仍不可用,那就反馈吧,提供日志及 lsusb 输出,等待问题被解决。



2.蓝牙设备使用中频繁断开

        应在断开后执行 sudo dmesg 来查看是否有错误,如果没有错误信息,那就反馈吧。 如果出现 firmware 加载失败,记住这个固件名。试着从 window 那里获取最新的驱动,然后转成 linux firmware,方法如下:

        1).查找并下载本机蓝牙适配器的驱动,一般可在笔记本或蓝牙适配器的官网下载到

        2).然后解压,如果是 .exe 文件就安装 innoextract 来解压

        3).然后查看驱动信息的 .inf 文件,比如 thinkpad x230 win8 64 的文件就是 app/Win64/bcbtums-win8x64-brcm.inf

        4).执行 lsusb 获取蓝牙设备的 ID。如 x230 即是 ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad],然后搜索 0a5c 21e6 相关的内容,找到对应的 .hex 文件。如 x230 即是 BCM20702A1_001.002.014.1443.1453.hex

        5).使用 hex2hcd xxx.hex 将 xxx.hex 转为 .hcd 文件,然后重命名为缺失的固件名,复制到 /lib/firmware/ 下对应的位置

Reply Favorite View the author
All Replies
2 / 2
To page
shz__shz2000
deepin
2019-06-11 05:55
#21
我卸载了搜狗输入法,蓝牙就没断过线了,以前老是断。
Reply View the author
lbygljq
deepin
2019-08-01 23:10
#22
我的联想Y470笔记本:
  1. $ sudo rfkill list
  2. 0: ideapad_wlan: Wireless LAN
  3.         Soft blocked: no
  4.         Hard blocked: no
  5. 1: ideapad_bluetooth: Bluetooth
  6.         Soft blocked: yes
  7.         Hard blocked: no
  8. 2: phy0: Wireless LAN
  9.         Soft blocked: no
  10.         Hard blocked: no
Copy the Code
Reply View the author
yjw491951
deepin
2019-09-21 11:21
#23
用可以rfkill命令管理蓝牙

#列出所有可用设备
rfkill list

输出:
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no

#关闭编号2的设备
rfkill block 2

#打开编号2的设备
rfkill unblock 2
Reply View the author
linuxjiayou
deepin
2023-08-13 00:33
#24
mrdoubleu
则参考第一步是什么意思呢? 我第二步启动失败了

看 sudo systemctl status bluetooth状态日志,我这边是报错

“bluetooth.service: Got notification message from PID 2636, but reception only permitted for main PID 2619”

可以修改 /lib/systemd/system/bluetooth.service的配置

NotifyAccess=main ----> NotifyAccess=all

然后重新加载服务配置:sudo systemctl daemon-reload

重启bluetooth服务:sudo systemctl restart bluetooth

重新查看就好了

但是后面第二步还是报错

image.png

然后我查看dmesg 是查看不到bluetooth相关日志的,但是我在/var/log/message查看到报错,然后这个就没找到方法

image.png

Reply View the author
2 / 2
To page