如何在Linux操作系统下使用airpods

环境是什么呢?debian 10也就是最新的debian 稳定版本。首先呢,这是一个台式机,台式机上不自带蓝牙设备,需要到网上购买一个蓝牙棒。这个蓝牙榜我买回来以后,就插上电脑,结果发现操作系统居然不识别这个蓝牙棒。唉,心里面有1万个cnm奔腾而过。然后去Google搜索,找到了原因。主要就是因为这个蓝牙棒用的是CSR的芯片,然后啊,这个芯片呢,在linux发现他的时候做一些握手会有一个东西不支持,然后操作系统就会直接判定此蓝牙设备不可用。其实啊,这是一个老问题了,然后在linux内核这个bug系统中,2014年大概就出现过。问题是什么呢?唉,其实啊,还是硬件这个设备没做好,就是做了一个功能,但是呢,不完全的遵守蓝牙的这个交互的规范。然后这个Linux内核驱动呢会按照这个蓝牙的这个规范啊,去识别外设,和它握手,结果呢就会发现,哎你不符合规范,对不起,我不能用。不过不符合规范的问题,只是一个很小很小的问题,举个例子,规范可能有100条,我99条都符合你规范,只有那一点我没做好,就和你的规范有些出入,结果呢内核的这个检查比较严格,因为这一点跟这个规范不符合,就判定是坏的就不让用。当时的解决方案是什么?绕。也就是说啊,这种CSR的蓝牙棒太多了,你的市场占有量这么大,我没法解决你这个问题,我就做个标记,好发现你有这个问题,我就把这个东西绕过去让你正常工作,因为刚才说了,99%的情况下都是可以正常工作的,1%的情况你不符合规范,可能平常也用不着,所以那就让你用好了。可是岁月在变化,内核在发展,蓝牙棒也在更新。2019年的时候突然发现内核又出现了这个问题,有些不兼容的蓝牙没法识别出来了。然后这个bug在系统中就被标记为重新打开,2019年重新打开的。到现在是2020年3月1号,这个bug还没有得到解决。但是也有好消息了,也就是说,有内核开发者已经上传了可以测试的补丁。去年10月份也就是2019年10月份的时候,我尝试用那个补丁,在debian 10系统中直接打他当时的内核。结果发现补丁根本不兼容,没法打,要需要改的工作比较多啊,因此就是一声叹息,买了个蓝牙棒呀,在自己的电脑上居然用不起来,可是还不能说人家卖家的什么问题,因为啊我按我猜想在windows上和麦克电脑上用起来肯定是杠杠的,没问题。心里就一直有小小的不甘啊,唉,怎么会这样呢?但是总会想起来,总想去折腾这么一把。这不趁着疫情期间在家里闲着没事儿,终于逮到机会,发现补丁也更新了,然后我发现在debian系统中还有那个backports可以去下载最新的那个内核源代码,也就是5.4版本的内核源代码,这样编译之前,那个补丁打起来还是比较容易的。打完补丁,编译了好几个小时(啥也别说了,电脑看来是该升级了,编一个内核就花好几个小时),然后一折腾,重启了好几把电脑,把那个模块加载的参数也改了,结果终于蓝牙棒可以用啦,此处应该有掌声和鲜花。

不过这个蓝牙设备可以用还是第1步,我需要的是和苹果的airpods配对,能听能说。桌面系统的这个蓝牙配置呀,这些天好像还给我搞得有点不太对,嗯,也折腾了半天,终于把它搞出来了,把那个系统设置打开了,就把蓝牙的那个界面打开,去发现airpods,然后发现了了吗?发现了。发现了之后和它连接,然后在那个声音输出的和输入的这个配置中,找到了这个airpods,可以把它设为默认输出设备。设置过去呢,有一个默认模式,嗯,这个模式是A2DP,是一个Linux的一个声音的驱动模式,然后居然可以听!但是效果不太好,就是顿顿的,声音不大,另外一个问题就是不支持麦克输入。其实呢,还有另外一个模式,在设置界面上可以设置的叫headset 模式,也就是hsp模式,还有一个是hands Free模式,也就是hfp模式。在设置界面中,hsp和hfp这两种模式是一种,就是除了A2DP这个模式之外,那么还可以选择这种。因为效果不好,所以我就想试用这种模式,结果发现我选了这种模式之后,你当时界面上选的是这种模式,但是我把设置界面切到另外一个选项再切回这个语音的输入输出时我看到的是,又返回到A2DP模式了。所以这个模式是不可以被设置的。于是蓝牙棒的问题刚刚解决,又碰到了新的问题,虽然那个耳机的声音可以被听见,但是效果真是不尽如人意,又遇到了这么个模式问题,只好再次去查找。现在这个问题还没有解决呢,嗯,但是呢,我知道大概在什么方向,是一个linux系统的开源软件里面有个叫pulseaudio这个模块,然后它的蓝牙插件和hfp这种模式的兼容性本身是不尽如人意的,好像有个其他的(不是AirPods)耳机有可以在hfp模式下支持的比较好,而airpods有不少用户报告都有兼容性问题。反正这个事情就是说还是在发展。

好了,故事讲完了,也许以后还有续集,但是我想说的是,折腾这玩意儿挺好玩的,这个东西啊总是不完美,就是软件总是不完美,然后开源软件呢,对这个消费品的支持总是正在进行中,所以常常需要用户自己折腾,才有可能得到一个好的结果(也有可能折腾不出啥结果,也有可能折腾出一个半吊的结果,像这次)。但是折腾这玩意的过程就是一个享受的过程,因为你要解决问题,首先呢,你得去Google搜索,你就得用正确的关键字去搜索,你第1次搜索不对,还得换关键词去搜索,多搜几次,你终于找到一个相关的页面,然后找到了发现其实人家也是在进行中,于是你还要去做一些测试,自己完成这个测试。在整个折腾的过程中,你的知识更新了,你的技能成长了。有人说是自虐嘛,也也是一种可能吧,但是挺开心的,所以写篇文章分享给大家。

你可能感兴趣的:(如何在Linux操作系统下使用airpods)