Ubuntu蓝牙耳机连接失败问题解决

最新的发现:

通过find命令,终于找到蓝牙耳机的数据文件:

其中ref是在扫描蓝牙耳机前先用touch创建的文件,用于比较时间。

```

sudo find / ! -path "/proc/*" ! -path "/sys/*" ! -path "/run/*" ! -path "/root/*" ! -path "*/snap/*" ! -path "*/snapd/*" -newer ref -type f | more

```

找到几个刚刚修改的文件,用蓝牙的mac地址命名:

/var/lib/bluetooth/00:1A:7D:DA:71:15/AC:BD:70:4E:AE:1B/info
/var/lib/bluetooth/00:1A:7D:DA:71:15/AC:BD:70:4E:AE:1B/attributes
/var/lib/bluetooth/00:1A:7D:DA:71:15/cache/E0:D4:62:8A:04:B0
/var/lib/bluetooth/00:1A:7D:DA:71:15/cache/AC:BD:70:4E:AE:1B

例如我的蓝牙耳机:

/var/lib/bluetooth/00:1A:7D:DA:71:15/cache/AC:BD:70:4E:AE:1B

ubuntu mate 22.04无法链接蓝牙的原因,大概率是因为blueman的问题,用bluetoothctl工具可以连接蓝牙,但一旦打开blueman,就无法连接,原因可能是blueman无法弹出确认配对符的窗口界面。

------------------------------------------

好几次遇到升级Ubuntu版本之后,原本好好的蓝牙耳机连接失败,最早一次是18.04升级到20.04,从20.04升级到22.04,还有22.04的普通升级(升级kernel等)。

后面找到下面两个文章,做了几个事情,问题解决:

1、打开配置文件/etc/bluetooth/main.conf,将 # ControllerMode = dual改为ControllerMode = bredr,然后保存。

2、重启bluetooth服务:sudo service bluetooth restart

3、安装pulseaudio-bluetooth模块:

 5933  2023-02-11 20:17:05 sudo aptitude install libavcodec-dev 
 5934  2023-02-11 20:17:34 sudo aptitude install libavutil-dev 
 5936  2023-02-11 20:18:09 sudo aptitude install libldacbt-abr-dev 
 5937  2023-02-11 20:18:22 sudo aptitude install libldacbt-enc-dev 
 5938  2023-02-11 20:19:00 sudo aptitude install pulseaudio-module-bluetooth 
 5939  2023-02-11 20:19:21 pulseaudio -k
 5940  2023-02-11 20:19:30 pulseaudio --start

4、使用bluetoothctl命令扫描和连接蓝牙耳机:

alpha@mascot ~ $ bluetoothctl
Agent registered
[CHG] Controller 00:1A:7D:DA:71:15 Pairable: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:15 Discovering: yes
[CHG] Device AC:BD:70:4E:AE:1B RSSI: -54
[CHG] Device AC:BD:70:4E:AE:1B ManufacturerData Key: 0x027d
[CHG] Device AC:BD:70:4E:AE:1B ManufacturerData Value:
  14 16 ee fd 01 01 01 02 c7 03 00 00 27 04 00 0f  ............'...
  01 10 02 11 f0                                   .....           
[bluetooth]# connect AC:BD:70:4E:AE:1B
Attempting to connect to AC:BD:70:4E:AE:1B
[CHG] Device AC:BD:70:4E:AE:1B Connected: yes
Request confirmation
[agent] Confirm passkey 819602 (yes/no): yes
[CHG] Device AC:BD:70:4E:AE:1B Paired: yes
Connection successful
[CHG] Device AC:BD:70:4E:AE:1B ServicesResolved: yes
[FreeBuds 3]# exit
 

------

悲催的是,连接成功之后,由于音效不好,断续,按照这边文章折腾一下,又连接不上了:

Ubuntu20.04 外接音响播放音频时出现杂音或滋滋滋电流声解决方法_乌班图声音出现杂音_Yan_SWU的博客-CSDN博客

还有更悲催的是,连通知栏(Indicator Applet)的音量控制图标都不见了。

后来,经过多番折腾,发现Indicator Applet是 ayatana-indicator,通过sudo apt install ayatana-indicator-sound安装,把音量图标搞出来了(其他图标也可以类似操作)。

-----

又连接成功了:长按电源键超过10s,复位蓝牙耳机(FreeBuds 3),重新连接会显示配对数字确认,确认之后就可以重新连接了。

但声音卡顿。

--------

蓝牙接收器换一个USB接口,又可以连接上了,但有杂音,再换回原来的接口,还能连上,而且杂音也没有了。神奇的Ubuntu。

------参考-------

解决Linux无法连接蓝牙耳机Bose QuietComfort 35(QC35)的问题_百度知道

切换到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删掉了,但是耳机和鼠标都没受影响,他猜想可能配对后的设备是不受配置文件的影响的。

安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持_Linux教程_云网牛站

安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持

2018-10-21 20:41:50作者:张源新稿源:云网牛站

安装pulseaudio-bluetooth模块就能在Ubuntu 18.10/Ubuntu 18.04系统中实现蓝牙APTX/LDAC的支持,因为该模块整合了对于LDAC和APTX的支持,把它编译安装到你的Ubuntu系统里,重启Pulseaudio后配对你的蓝牙设备即可用。

pulseaudio-modules-bt

Add Sony LDAC, aptX, aptX HD codecs (A2DP Audio) support for Linux PulseAudio.

pulseaudio-modules-bt项目主页

安装方法

git clone https://github.com/EHfive/pulseaudio-modules-bt.git

cd pulseaudio-modules-bt

git submodule update --init

git -C pa/ checkout v`pkg-config libpulse --modversion`

mkdir build && cd build

cmake ..

make

sudo make install

可以使用PPA安装(支持Ubuntu 18.04、18.10系统)

sudo add-apt-repository ppa:eh5/pulseaudio-a2dp

sudo apt-get update

sudo apt-get install libavcodec libavutil libldac pulseaudio-module-bluetooth

安装完成后重启Pulseaudio:

pulseaudio -k

# if pulseaudio not restart automatically, run

pulseaudio --start

安装后进行蓝牙配对就可以了。以上过程在Ubuntu 18.04配对测试成功。

  • 21
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值