[硬核教程]翼龙15Pro及其它MT7922设备在Linux下蓝牙问题的解决方案

0.前言

MediaTek Filogic 330(MT7922)是一款集成了Wi-Fi 6/6E 与蓝牙 5.2 的单芯片,适用于各种消费电子产品和笔记本电脑。

引用自联发科官网

但是由于自古以来发哥的驱动就支楞不起来,果然这次也没让我失望🤔

提到💻电脑后的第一时间我就发现该芯片在 Ubuntu 无法启动蓝牙😑

具体体现在:识别出蓝牙但是诡异的蓝牙抽搐

和内核中的 ERROR (最喜欢的一集)

1.修复前提示

其实并不需要什么复杂的操作,开源社区已经有大佬提交了一个补丁,修复了这个问题。

[PATCH V2] Bluetooth: Add support for MediaTek MT7922 device (https://lkml.org/lkml/2024/3/15/325)

所以你可以直接拉下这个补丁,自己编译一个内核(不过能编译内核不翻车的大佬应该也不会看这篇文章)

警告: 请不要随意编译 Mainline Kernel。如果您不是高级用户或对内核更新的影响有足够了解,建议您使用发行版提供的稳定内核版本,以避免系统不稳定或出现兼容性问题。

2.获取内核源代码

在终端键入如下命令获取内核源码

sudo apt-get update
sudo apt-get install linux-source

安装完成后,内核源代码会被下载到 /usr/src 目录中。你可以解压它:

cd /usr/src
sudo tar xjf linux-source-*.tar.bz2

解压后,你会得到一个类似 linux-source-<version> 的目录。

3.应用补丁

进入解压后的源代码目录:

cd linux-source-6.8.0

保存这个页面 https://lkml.org/lkml/diff/2024/3/15/325/1 并且重命名为 bluetooth.patch

随后将补丁应用到解压后的源代码

sudo patch -p1 < /path/to/bluetooth.patch

4.编译和安装内核

安装必要的构建工具和依赖项:

sudo apt-get install build-essential fakeroot dpkg-dev flex bison libssl-dev

更改版本号(可选)

sudo nano Makefile

更改 EXTRAVERSIONNAME 字段即可

配置并编译内核:

sudo make oldconfig
sudo make

安装内核模块

sudo make modules_install

安装内核

sudo make install

更新 GRUB

sudo update-grub

重启系统

sudo reboot

享受你的蓝牙吧~

来自共享地址

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注