news 2026/9/14 14:50:40

Ubuntu 20.04蓝牙失效?MT7922网卡修复指南:升级内核+更新固件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 20.04蓝牙失效?MT7922网卡修复指南:升级内核+更新固件

先说结论,省得你浪费时间:MT7922 在 Ubuntu 20.04 下蓝牙打不开,90% 是三个原因——内核版本太旧、linux-firmware 里缺固件、蓝牙服务被 rfkill 锁死。这篇文章把排查思路、命令、以及我踩过的坑完整写出来,按步骤走基本能解决。

先说下我的环境,笔记本是 AMD 平台,网卡是联发科 MT7922(也就是很多机器上显示的 RZ616),系统 Ubuntu 20.04.5 LTS。症状很典型:设置里蓝牙开关是灰的,点不动;rfkill list能看到蓝牙被 hard block;dmesg里报 firmware 加载失败。这个问题的根源在于 MT7922 这个网卡太新,而 Ubuntu 20.04 默认的内核版本是 5.4/5.8,对它的支持几乎为零。所以整个修复思路就是两件事:升级内核,让内核能识别并驱动这个设备;更新固件,让驱动能真正把蓝牙模块跑起来。

这篇文章适合谁看?刚在笔记本上装完 Ubuntu 20.04、蓝牙怎么都打不开的朋友,以及被 MT7922/MT7921/MT7920 这些联发科网卡折腾过的人。我不会只丢一堆命令让你复制粘贴,而是把每一条命令的作用、每一步操作背后的原因都讲明白,这样你遇到类似问题也能自己排查。

1. 先搞清楚 MT7922 在 Ubuntu 20.04 里到底卡在哪

1.1 症状全览:这些表现你都遇见过哪种

MT7922 蓝牙出问题,不同机器、不同内核版本表现还不太一样。我把最常见的几种症状列出来,你对照一下自己属于哪种,方便后面精准定位。

第一种:蓝牙设置里开关是灰色,完全点不了。这是最常见的表现,打开系统设置里的蓝牙选项,开关是灰的或者干脆没有。这时候你用rfkill list看,大概率能看到蓝牙设备处在 hard blocked 或 soft blocked 状态。

第二种:输入dmesg | grep -i bluetooth能看到一堆报错,常见的包括Direct firmware load for mediatek/mt7922_dual_bl.bin failed with error -2或者mt7921e: probe failed with error -110。这里最典型的就是 firmware 加载失败,说明系统里根本没有对应的固件文件。

第三种:蓝牙模块能被识别,lsusb或者lspci里能看到设备,hciconfig -a也能看到 hci0 接口,但用它连接任何设备都会失败,或者连接上了过几秒就断开。

第四种:奇葩一点的,蓝牙和设备都正常,但每次重启之后就间歇性失效,这次能用下次不能用,找不出规律。

这四种我都实际遇到过,而且往往不是单一原因,是内核太旧和固件缺失叠加在一起导致的。所以接下来的排查思路,不是只解决某一种症状,而是把所有可能出问题的环节都过一遍。

1.2 为什么偏偏是 Ubuntu 20.04 出问题

这事得从 MT7922 这个芯片的出身说起。MT7922 是联发科的 Wi-Fi 6E 网卡,很多笔记本厂商采购回去之后重新贴牌,叫 RZ616 或 RZ608。它刚量产是 2021 年前后,真正大规模铺货是 2022 年。而 Ubuntu 20.04 是 2020 年发布的,默认内核是 5.4 或者升级后的 5.8。你想想,一个 2020 年的内核,怎么可能对 2022 年才大量出现的芯片有完善支持?

说白了,Ubuntu 20.04 的内核里虽然已经有了 mt76 驱动框架和 mt7921e/mt7922e 驱动模块的身影,但那时候还是早期版本,bug 多、功能不全,对 mt7922 的支持更是半成品状态。而且 Linux 驱动这个东西,很多时候不是内核里有了驱动模块就能用,还得有配套的 firmware 固件文件。内核驱动只是个"翻译官",真正让硬件跑起来的是固件这个"干活的手"。Ubuntu 20.04 自带的 linux-firmware 包版本太老,里面根本没有 mt7922 需要的固件文件。

所以问题的根源很清晰:内核太旧 + 固件缺失。两个问题叠加,蓝牙自然打不开。相比之下,Ubuntu 22.04 甚至 23.04 就很少遇到这个问题,因为新系统默认内核版本高,linux-firmware 包也新。但有些人可能因为工作环境、软件兼容性必须留在 20.04,那这篇文章就是给你准备的。

2. 一句话看懂蓝牙驱动链路:内核、固件、蓝牙栈各管什么

2.1 驱动加载链路到底是怎么回事

很多人在网上搜"MT7922 驱动下载",以为像 Windows 一样下载个 exe 装一下就行。Linux 完全不是这个思路。在 Linux 里,驱动模块、固件、蓝牙协议栈是三层各干各的活,任何一层出问题都会导致最终蓝牙不可用。

第一层是内核驱动模块。MT7922 对应的是mt7921e(PCIe 接口)这个模块,它负责和硬件通信,告诉内核"我这个设备支持哪些能力"。你可以用modinfo mt7921e查看这个模块的信息,能看到它的版本、依赖项、参数等。内核版本越新,这个模块对 mt7922 的支持越完善。

第二层是固件文件。驱动模块本身不做具体计算,它需要把一段微程序加载到蓝牙芯片里,这段微程序就是固件。MT7922 的蓝牙固件文件放在/lib/firmware/mediatek/目录下,关键文件叫mt7922_dual_bl.bin。这个文件不在,驱动模块就算加载成功了,蓝牙芯片也跑不起来。

第三层是蓝牙协议栈。Ubuntu 用的是 BlueZ,它是 Linux 的官方蓝牙协议栈。它负责处理 HCI 接口、配对、音频传输等上层逻辑。你运行bluetoothctlhciconfig这些命令,实际上都是和 BlueZ 打交道。如果前两层没问题,BlueZ 一般也能正常工作。

这三层的关系可以用一个生活化类比来理解:驱动模块是快递员,固件是货品本身,蓝牙协议栈是收货签收的仓库管理员。快递员来了发现货品没到(固件缺失),仓库管理员自然签不了收,最终你的蓝牙就用不了。

2.2 固件文件才是大头:没有它驱动等于空壳

为什么说固件才是大头?因为很多人在排查这个问题时,看到内核模块已经加载了,就以为驱动没问题,转向排查蓝牙服务、设置项这些表面因素。但实际上,MT7922 的驱动模块mt7921e在非常老的内核里也存在,它并不是完全不支持这个芯片,问题出在固件加载这一步。

你可以在终端里执行:

sudo dmesg | grep -i mt7921 | grep -i firmware

如果看到类似Direct firmware load for mediatek/mt7922_dual_bl.bin failed with error -2的提示,那就说明内核模块已经尝试加载固件,但系统里根本找不到这个文件。固件文件缺失的情况下,蓝牙芯片得不到执行指令,整个设备就像一块没有软件的硬件——空有电路板,干不了活。

MT7922 需要用到的固件文件不止一个。通常在/lib/firmware/mediatek/目录下需要存在这些文件:

mt7922_dual_bl.bin mt7922_wo.bin mt7922_a.bin mt7922_all_in_one.bin mt7922.bin

不同内核版本对应的固件文件路径可能略有不同。比如有些版本会在mediatek/mt7922/子目录下找固件,有些直接在mediatek/下找。这就涉及到内核版本和固件版本的匹配问题,后面细说。

3. 逐步实测:从确认硬件到蓝牙恢复的完整流程

3.1 动手前先确认:你的网卡真的是 MT7922 吗

这个问题听起来蠢,但真的坑过不少人。很多笔记本的网卡型号在系统里显示的不是 MT7922,而是 RZ616、RZ608 这些 OEM 贴牌型号。甚至有人的机器是 Intel 网卡,因为硬件故障被卖家换成了联发科,自己不不知道。

在终端里执行下面的命令,确认你的网卡到底是谁家产的:

lspci -nn | grep -Ei "network|wireless|bluetooth"

输出结果类似这样:

02:00.0 Network controller [0280]: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]

或者有的机器显示:

02:00.0 Network controller [0280]: Device [14c3:0616]

看到14c3:0616这个 ID 基本就是 MT7922 了。14c3是联发科的 PCI Vendor ID,0616是 MT7922 的设备 ID。如果显示14c3:7961,那是 MT7921,解题思路类似,固件文件略有不同。

另外一个更直观的方法是看蓝牙接口:

lsusb

MT7922 的蓝牙走的是 USB 接口,你会在输出里看到一个 MediaTek 的无线网卡,通常显示为:

Bus 001 Device 002: ID 0e8d:0616 MediaTek, Inc. Wireless_Device

如果看到ID 0e8d:06160e8d:7922,那基本实锤了。这里有个容易迷惑的地方,蓝牙设备往往在一个单独的 USB Bus 上面,而 Wi-Fi 走 PCIe,这正好体现了 MT7922 这个芯片的混合架构——Wi-Fi 走 PCIe,蓝牙走 USB。这也解释了为什么蓝牙出了问题但 Wi-Fi 一切正常,因为两者虽然共用同一个芯片,但连接主机的通道和驱动程序是分开的。

3.2 三步走方案:升级内核、更新固件、加载模块

确认了设备是 MT7922 之后,接下来就是正式动手解决。我推荐按照这个顺序来:升级内核 → 更新固件 → 重启加载。不要反过来。

先说为什么要先升级内核。MT7922 的内核驱动模块mt7921e在后期的内核版本里才逐渐成熟,特别是对蓝牙的支持。Ubuntu 20.04 默认的 5.4 内核里连mt7921e模块都找不到,或者即使有也是旧版,根本无法正确初始化设备。升级内核能确保驱动模块本身是新的,能正确处理 mt7922 的硬件特性。

再说为什么更新固件。仅升级内核还不行,内核版本高不代表固件就新。Ubuntu 的 linux-firmware 包更新节奏比较保守,即使你的系统已经升级到了 5.15 内核,自带的 linux-firmware 版本还是可能缺少 mt7922 固件。所以必须单独从 linux-firmware 仓库拉取最新固件文件。

最后是加载模块和重启。升级内核和更新固件之后,最好重启一次系统,让内核、驱动、固件在干净的启动流程里完成加载。有些人懒得重启,用modprobe -r mt7921e && modprobe mt7921e重载模块,但实测下来不如重启干净,因为蓝牙还有一堆服务依赖和 USB 设备重新枚举。

3.3 实操:完整命令走一遍

第一步:升级内核到 5.15 LTS

Ubuntu 20.04 可以通过 HWE(Hardware Enablement)仓库直接升级到 5.15 内核,这样所有驱动模块都跟着升级,而且不会像用主线内核那样搞乱系统依赖。执行:

sudo apt update sudo apt install --install-recommends linux-generic-hwe-20.04

装完之后确认一下内核版本:

uname -r

正常情况下你会看到5.15.0-xx-generic。如果你的机器比较新,也可以考虑安装 5.19 HWE 内核,不过 5.15 是 LTS 长期支持版本,稳定性和兼容性更好,我推荐先用 5.15,不够再升级 5.19。

这里有个细节值得说下,HWE 内核包是批量安装的,它会自动处理依赖关系,比如linux-image-generic-hwe-20.04linux-headers-generic-hwe-20.04等。它会和系统原本的 5.4 内核共存,启动时你可以在 GRUB 里选择用哪个。这是 Ubuntu 官方设计好的升级路径,比你自己去 kernel.ubuntu.com 下载 deb 包要安全得多。

第二步:更新 linux-firmware

这一步踩坑的人最多。直接apt install linux-firmware在 20.04 上经常得不到最新固件。最可靠的方式是从官方仓库拉取:

git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git cd linux-firmware sudo cp -r mediatek /lib/firmware/

如果你那边访问 git.kernel.org 比较慢,也可以用 GitHub 的镜像仓库:

git clone --depth 1 https://github.com/wkennington/linux-firmware.git

不过这个镜像更新可能不及时,我更推荐直接用 Linux 内核官方的 linux-firmware 仓库。复制mediatek目录过去之后,最好再确认一下关键固件文件是否到位:

ls -lh /lib/firmware/mediatek/mt7922*

正常情况下你应该看到:

-rw-r--r-- 1 root root 1.7M ... mt7922_dual_bl.bin -rw-r--r-- 1 root root 1.4M ... mt7922_wo.bin -rw-r--r-- 1 root root 2.0M ... mt7922_a.bin -rw-r--r-- 1 root root 2.3M ... mt7922_all_in_one.bin -rw-r--r-- 1 root root 2.3M ... mt7922.bin

注意,不同版本的固件仓库文件列表会有差异,有些版本只有mt7922_dual_bl.binmt7922_wo.bin,这也没关系,关键是mt7922_dual_bl.bin必须在。它是 MT7922 蓝牙启动时第一个要加载的固件。

这里我想强调一个很多人容易忽略的点:不要直接删除原来的 mediatek 固件目录再拷贝,最好是先备份再覆盖:

sudo cp -r /lib/firmware/mediatek /lib/firmware/mediatek.bak sudo cp -r mediatek /lib/firmware/

这样万一新固件有兼容性问题,可以快速回滚。而且新固件文件里有些配置文件格式变了,旧的内核可能不认,覆盖安装后如果有问题,回滚方案就能派上用场。

第三步:清理蓝牙相关模块缓存并重启

在重启之前,先把内核模块的依赖关系缓存刷新一下:

sudo depmod -a sudo update-initramfs -u

depmod -a会重新生成模块依赖关系,让新内核和固件文件的对应关系正确。update-initramfs -u会更新 initramfs 镜像,确保启动时能加载到需要的模块和固件。

然后执行:

sudo reboot

第四步:重启后验证 Bluetooth 是否恢复

重启之后,不要急着开系统设置里的蓝牙开关,先去终端确认底层是否正常:

rfkill list

如果蓝牙设备状态不再是 hard blocked,说明硬件层面已经正常了。然后:

systemctl status bluetooth

如果蓝牙服务正在运行,再测试 HCI 接口是否注册成功:

hciconfig -a

能看到 hci0 信息说明驱动加载成功了。最后可以用bluetoothctl做一些简单的配对测试:

bluetoothctl power on scan on

如果能看到周围的蓝牙设备并及时响应,说明问题已经解决。

3.4 验证:蓝牙彻底可用后再做这几件事

到这一步你的蓝牙应该能用了,但我建议你再做几件事确保长期稳定。

第一件事,确认稳定重启后的自启状态。连续重启两三次,每次开机都检查一次蓝牙是否正常工作。因为有些机器的蓝牙控制器和 Wi-Fi 共用射频前端,存在互相抢占的问题,偶尔会出现某一次开机蓝牙设备随机掉线,需要重新加载模块。这个我有一次折腾了整整半天才确定是硬件冲突不是软件问题。

第二件事,升级内核后验证 Wi-Fi 是否依然正常。升级 HWE 内核后,Wi-Fi 驱动模块也会换新版本,大部分情况下没问题,但也有小概率出现 Wi-Fi 慢、丢包的情况。如果真遇到了,多半是新的 mt7921e 驱动默认开启了某些省电特性导致的,可以用以下命令关闭:

sudo modprobe -r mt7921e sudo modprobe mt7921e disable_aspm=1

如果有效,就把它写入/etc/modprobe.d/mt7921e.conf永久生效:

echo "options mt7921e disable_aspm=1" | sudo tee /etc/modprobe.d/mt7921e.conf

当然,如果你的 Wi-Fi 正常就别动它,ASPM 的disable_aspm=1参数会略微增加功耗,没必要为了用不上的特性牺牲续航。

第三件事,测试耳机和音频文件传输。蓝牙能连上不等于体验没问题。建议你连一下蓝牙耳机,播放几分钟音频,确认 A2DP 音频协议工作正常。再用蓝牙传几个大文件,毕竟蓝牙音频和文件传输走的是不同 profile,问题往往藏在这种边角场景里。

4. 升级内核和更新固件这件事,不能瞎搞

4.1 内核版本怎么选:不是越新越好

MT7922 在 Linux 内核里的驱动支持有一个演进过程,我可以给你梳理一下不同版本的情况:

内核版本蓝牙驱动支持情况推荐度
5.4几乎没有 mt7921e 完整支持,需要手动补丁不推荐
5.8开始有 mt7921e 模块,但固件缺失且 bug 多谨慎使用
5.11支持有所改善,但蓝牙功能仍不完善不推荐主力使用
5.15驱动成熟,配合新固件基本完美首选
5.19最稳,新特性完整,但非 LTS推荐但有取舍
6.x主线内核,支持非常好依赖具体发行版支持

所以对你来说,5.15 HWE 内核是性价比最高的选择。它是 LTS 版本,长期维护,Ubuntu 官方会持续提供安全补丁;同时它对 MT7922 的支持已经足够成熟。

有些教程建议直接上 6.x 主线内核,我不建议这么干。原因有三点:第一,6.x 主线内核不在 Ubuntu 官方仓库里,你需要从 kernel.ubuntu.com 手动下载 deb 包,这意味着你失去了系统的自动安全更新;第二,6.x 内核发布节奏快,个别版本对某些网卡有回归 bug,你需要赌运气;第三,升级主线内核后,如果有第三方模块(比如 DKMS 驱动的 VirtualBox、NVIDIA 驱动)和新内核不兼容,你会非常痛苦。

4.2 固件不是"装一次就完事"的东西

很多人以为更新一次固件就万事大吉了,其实不是。linux-firmware 仓库更新很勤快,联发科也会根据实测反馈不断调整 mt7922 的固件版本。如果你的机器在使用过程中出现蓝牙断连、音质卡顿等问题,先别急着怀疑硬件故障,去 linux-firmware 仓库看看有没有新固件发布。

一个可行的操作是,每隔一两个月重新同步一次 linux-firmware 仓库,然后覆盖拷贝mediatek目录到/lib/firmware/。覆盖之后不用立刻重启,基础固件更新会在下次重启时生效:

cd linux-firmware git pull sudo cp -r mediatek /lib/firmware/

但是这里有个坑我必须提醒你:不要随随便便把整个 linux-firmware 仓库目录全量覆盖到/lib/firmware/。因为 linux-firmware 仓库里有大量其他厂商的固件文件,某些文件可能和 Ubuntu 当前内核版本存在兼容性差异,全量覆盖容易引入新的问题。我一般只拷贝mediatek这个子目录,这样就只更新了目标芯片的固件,风险最小。

另外一个容易踩的坑是权限问题。拷贝固件文件过去之后,最好确认一下文件属主和权限:

sudo chown root:root /lib/firmware/mediatek/* sudo chmod 644 /lib/firmware/mediatek/*

如果权限不对,比如出现了-rw-r--r-- 1 user user的情况,内核在加载固件时会因为无法读取文件而失败。这个问题在从 Git 仓库手动拷贝文件时特别容易遇到。

4.3 升级内核前别忘备份,这不是吓唬你

升级内核听起来简单,但如果你这台 Ubuntu 上有重要的开发环境、数据库或其他服务,升级内核之前最好做一次系统快照或者备份关键数据。特别是如果你用的是 LVM 文件系统,可以在升级前做一个 LVM 快照,万一新内核启动不了,还能快速回退到旧内核。

GRUB 里内核是共存的,所以如果升级后出现问题,手动重启在 GRUB 菜单里选"Advanced options for Ubuntu",就能看到旧内核的启动项,切回去就行。所以实际风险没有想象中那么大,但备份一份总归安心。

5. 常见问题与排查技巧实录

5.1 问题速查表

这一部分我把自己折腾过程中遇到的问题整理成了表格,方便你直接对照。

现象可能原因解决方向
rfkill list显示蓝牙 hard blocked笔记本物理开关或 BIOS 设置检查键盘上的飞行模式快捷键、BIOS 里 Wireless 开关
dmesgDirect firmware load for mediatek/mt7922_dual_bl.bin failed固件文件缺失或路径不对更新 linux-firmware,确认/lib/firmware/mediatek/mt7922_dual_bl.bin存在
蓝牙能开启,但扫描不到任何设备蓝牙模块没进入可发现模式,或射频被电源管理关闭执行bluetoothctl power onbluetoothctl scan on,必要时调整电源管理策略
能配对成功,但连接失败BlueZ 版本太旧,或 profile 不匹配更新 BlueZ,或检查设备支持的蓝牙协议版本
开机蓝牙随机失效,重启后恢复硬件初始化时序问题或 RF 冲突更新内核和固件,或尝试关闭 Wi-Fi 的 ASPM 功能
蓝牙连接后声音卡顿断断续续蓝牙模式下 Wi-Fi 干扰或者电源管理频繁切换关闭 Wi-Fi 的省电模式,或更换蓝牙音频传输模式

这张表是个抛砖引玉,实际遇到问题还得结合自己的dmesg日志和journalctl -u bluetooth日志判断。

5.2 几个隐藏很深的坑

这里分享几个我实际踩过、网上也不太好搜到的坑,希望你能避开。

第一个坑是mt7922_dual_bl.bin存在但仍然报加载失败。这种问题通常发生在新旧固件混装的场景,比如你的系统里mediatek目录是新的,但内核模块是旧的,两者版本不匹配。旧内核驱动加载固件的路径可能是mediatek/mt7922/mt7922_dual_bl.bin而不是mediatek/mt7922_dual_bl.bin。解决方案是确认内核版本,然后让固件文件同时存在于两个路径下,或者干脆升级内核到 5.15 以上保持一致性。

第二个坑是升级完内核后蓝牙好了,但 Wi-Fi 的 5GHz 频段连不上了。MT7922 是 Wi-Fi 6E 芯片,蓝牙和 Wi-Fi 共用天线和射频,在某种模式下会有频段协调问题,特别是蓝牙开启时占用 2.4GHz 频段,会影响 Wi-Fi 的 2.4G 连接。正常来说驱动会自动协调,但新内核 + 新固件配老环境的组合下,偶尔会出问题。遇到这个情况,试试把蓝牙的省电模式关掉:

sudo hciconfig hci0 lp none sudo hciconfig hci0 lm master

这条命令把蓝牙的链路策略改成 master,能缓解一部分 Wi-Fi 和蓝牙共存干扰的问题。实测下来对联想小新、华硕无畏系列的机器效果明显。

第三个坑是 BIOS 里有一个 Wireless LAN 的开关,有些厂商默认会把蓝牙和 Wi-Fi 分开控制,但有的则是合在一起。如果你的rfkill list显示蓝牙硬件被 blocked,但你的电脑又没有物理的无线开关,那十有八九是 BIOS 里把蓝牙单独禁用了。进 BIOS 看看 Wireless、Bluetooth 相关选项,改成 Enabled,这一步能解决一大批"硬件没问题但硬锁"的情况。

第四个坑比较隐蔽,部分机器在系统挂起再唤醒之后蓝牙会彻底消失,lsusb里也看不到设备。这是 USB 设备掉线的问题,因为 MT7922 的蓝牙走 USB 通道,挂起时 USB 控制器可能会把它断开。解决办法是把蓝牙设备从系统挂起时自动断电的名单里剔除。可以创建一个 systemd 服务来处理这个问题,但这个操作较复杂,如果你遇到再具体研究。大部分情况下,升级到 5.15 内核后这个问题会自动解决,因为新内核的 USB 电源管理对这类问题有明显改善。

5.3 一句忠告:先看日志再动手,别瞎试

我在网上看到很多人遇到蓝牙问题,第一反应就是重装驱动、装第三方工具、改一堆配置。其实遇见 Linux 硬件问题,最忌讳的就是盲目操作。Linux 的优势在于几乎所有问题都会在日志里留下线索,dmesgjournalctl就是你的排查利器。

遇到问题第一件事就是执行:

sudo dmesg -T | grep -Ei "bluetooth|mt7921|mt7922|firmware" sudo journalctl -u bluetooth --since "5 minutes ago"

看输出再判断下一步。固件文件缺失就更新固件,模块加载失败就换内核,硬件被锁就去查 BIOS。这样能少走很多弯路。

我在实际解决过的类似问题里,有一半以上都是固件缺失或者路径不对,剩下的要么是 BIOS 设置,要么是内核版本过旧。只要路径正确、版本匹配,MT7922 的蓝牙在 Ubuntu 20.04 上完全可以正常工作,而且稳定性并不差。

6. 一些零散的实操心得

最后分享几个零散但实用的心得,给准备动手折腾的朋友做个参考。

第一,升级 HWE 内核之后,如果蓝牙问题解决了但你对系统稳定性有顾虑,可以观察一段时间再决定是否保留。HWE 内核会跟着 Ubuntu 20.04 的硬件支持更新持续获取补丁,稳定性通常是有保障的。

第二,MT7922 这个网卡在 Linux 下的社区支持其实已经很不错了,驱动和固件更新都很及时。不像某些小众芯片,几年都没人维护。所以遇到问题不用慌,大概率是配置层面的问题,而不是硬件问题。

第三,如果你手上正好有支持蓝牙的 USB 设备(比如蓝牙耳机、蓝牙鼠标),修好之后务必挨个测试一遍。蓝牙耳机主要看 A2DP 音频是否流畅,蓝牙鼠标要注意会不会休眠后断连。每个设备走的是不同 profile,有的问题要用了才知道。

第四,如果你以后升级到 Ubuntu 22.04,会发现 MT7922 的支持几乎是开箱即用的,因为新系统自带的 5.15 内核和新版 linux-firmware 已覆盖这个芯片。如果你不是必须在 20.04,完全可以直接装新系统,少折腾很多。

最后再说一个我的习惯:每次调整完内核或固件,我都会在终端里敲一遍sudo dmesg把关键信息存一份,留着以后对比。这个习惯帮我在后续几次驱动更新后快速定位了回归问题。Linux 排障这种事,经验和日志积累得越多,处理起来越快。希望这篇文档能让你少走点弯路,少熬几个夜。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 14:49:21

Django+Vue景区票务系统:高并发库存扣减与实时余票同步

简介:这是一套基于Django与Vue.js全栈开发的旅游景区管理系统源码,面向Python Web开发初学者与中小型旅游类项目开发者,解决景区门票在线管理、用户预订及后台运营一体化需求。资源包含392个文件,涵盖32个Python后端逻辑文件、28个…

作者头像 李华
网站建设 2026/9/14 14:48:10

DBViewer实战:把数据库工作台搬进浏览器的完整指南

DBViewer这个名字一听就懂——把数据库工作台搬进浏览器。最近我在处理一个远程协作的临时项目,几个同事分散在不同城市,数据库分布在测试机和客户内网,过去那种“谁要查数据就各自装一个桌面客户端、再拷贝一份连接配置”的做法彻底行不通。…

作者头像 李华
网站建设 2026/9/14 14:47:26

微信小游戏五子棋源码拆解:Canvas渲染与AI评分指南

简介:这份微信小游戏源码实现单机五子棋对战,适合刚接触微信小游戏开发的新手,也适合快速了解小游戏工程结构的学习者参考。压缩包共6个文件,主体为3个js脚本,分别涉及入口启动、主循环与棋盘逻辑处理;2个j…

作者头像 李华
网站建设 2026/9/14 14:45:34

华为MateBook E频率限制的三层技术解析

1. 问题不是“芯片不行”,而是“调度策略被重写” 华为 MateBook E 2022 这台设备刚发布时,我第一时间拆机、跑分、压测,结果当场愣住——它用的明明是 Intel Core i7-1265U(10核12线程,P核E核混合架构)&am…

作者头像 李华
网站建设 2026/9/14 14:45:01

日本留学中介模式解析:免费与收费的优劣对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华