
切换到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删掉了,但是耳机和鼠标都没受影响,他猜想可能配对后的设备是不受配置文件的影响的。很久之前,我的Dell Inspiron 在 Ubuntu 环境下很难连上配对好的音响,而根据音响的质量不同,效果也有很大的差别;但是另一台华硕ASUS ZENBOOK连相同的设备则毫无问题,
不过这个解决方案在我这里不是立刻生效,inspiron系列已经给了我足够多恶心的理由了,我也习惯了。
配完这三个,我打开蓝牙后一直都没变化,setting里面显示甚至是off的状态,过了两天,也没重启,很谜地好了。至于什么原因,欢迎大大补充。纯粹是记录,莫喷。
ref
https://askubuntu.com/questions/475987/a2dp-on-pulseaudio-terrible-choppy-skipping-audio
https://askubuntu.com/questions/1040497/bluetooth-problem-ubuntu-18-04-lts
方法如下:
1、终端使用命令lsusb
2、运行hciconfig可以看到:
从上图可以看出,的蓝牙设备是hci0
3、运行hcitool dev可以看到蓝牙设备的硬件地址
运行hcitoo --help 可以查看更多相关命令
然后激活设
sudo hciconfig hci0 up
要注意的是,激活前蓝牙必须是打开的,否则会出现如下错误:
4、然后扫描:
hcitool scan
5、然后开始连接了,连接阶段使用的主要命令是rfcomm:
运行rfcomm --help 可以查看用法
首先需要绑定目的蓝牙设备:
sudo rfcomm bind /dev/rfcomm0 E0:A6:70:8C:A3:02
注意:上面的这个地址是目的蓝牙设备的硬件地址。
接着连接:
sudo cat >/dev/rfcomm0
这是目的蓝牙主机就会d出一个对话框要求输入pin码,随便输入一个,然后主机就会d出一个对话框,只要输入的和刚才一致就可以通过验证。之后我们发现我的手机已经显示了成功配对的标记了。
评论列表(0条)