
3、查看蓝牙模块的地址;如果不显示蓝牙模块及其地址,则需要通过rfkilllist命令查看hci0是否blocked,使用rfkillunblock0(rfkilllist显示的hci0的序号)即可启用蓝牙模块(hci0)。
4、激活蓝牙模块。
5、此次测试设置蓝牙模块为服务端且不需要配对码。
6、hciconfig和hcitool(BlueZ提供的工具,BlueZ是多数Linux发行版的默认蓝牙协议栈)可以实现搜索、连接等功能,此处主要希望通过编程控制蓝牙模块,故对此暂时不做深究。
切换到Arch也有一段时间了,一直在用的QC35也又一次遇到了蓝牙配对的问题。以前都是用Blueman,或者直接连接有线,但是问题只是被隐藏了,这次还是好好把这个问题解决了一下。 Linux下连接蓝牙设备的方法可以参照 Arch Wiki:Bluetooth ,我使用的蓝牙设备是USB CSR8510蓝牙适配器,按页面说明安装好软件包后,启动蓝牙服务,进入bluetoothctl,耳机打开配对模式,scan on查找到我的耳机的MAC,pair 04:52:C7:5B:CB:65,出现问题: 如果你在蓝牙设置界面进行配对尝试,不同桌面也有不同的错误提示,反正就是无法完成配对。如果使用Blueman等软件,有机会可以通过多次重试成功连接,但是问题还是间歇出现,并不能治本。 百度是找不到什么好解决方案的,直接Google,不一会就找到了有用的解决方法, Pairing Bose QC 35 over Bluetooth on Fedora ,问题上看基本就是我的问题,最高票的回答也很简单,QC35声称支持低功耗蓝牙(LE)但不支持低功耗模式下的配对,Bluez也还不支持明明配对一个LE设备,却要切换到BR模式来配对(大概是这个意思),除非你在配置文件里指定所有设备都应该工作在BR模式,所以打开配置文件/etc/bluetooth/main.conf(没有的话新建一个),找到下面的 将 # ControllerMode = dual改为ControllerMode = bredr,然后保存,对于新建的文档,直接输入下面的然后保存 然后重启bluetooth服务 现在你应该能在bluetooth里愉快地配对了----才怪,你还需要删除以前的配对设置,否则会出现org.bluez.Error.AuthenticationRejected错误 再次尝试配对,信任,连接,如果连接时出现Failed to connect: org.bluez.Error.Failed错误,那是你没装pulseaudio-bluetooth包,无法支持A2DP协议,装一个再试就可以了。 成功连接后声音输出可能会默认走的是HSP/HFP,音质会极差,在音频设置里切换到A2DP就正常了。更多蓝牙音频设备的设置可以查看 Arch Wiki:Bluetooth headset关于蓝牙协议可以查看百科,或者这里有简短的科普 蓝牙协议分析(1)_基本概念关于这里bluetooth和QC35在配对时鸡同鸭讲的问题,给出解决问题的人也表示自己的蓝牙鼠标是LE,为了使用他后来把配置文件里的ControllerMode删掉了,但是耳机和鼠标都没受影响,他猜想可能配对后的设备是不受配置文件的影响的。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)