RZ608 MT7921K 无线网卡驱动程序不支持 ubuntu 18.04

RZ608 MT7921K 无线网卡驱动程序不支持 ubuntu 18.04

我有一台功能齐全的 amd 笔记本电脑,并且我有 RZ608 (MT7921K),但 ubuntu 找不到该模块,因此缺少驱动程序。我尝试寻找驱动程序,但出现的唯一解决方案是将内核更新到 5.14+。我进行了更新,但问题仍然存在。此外,在联发科中,我只看到内核版本 5.12+ 支持 MT7921,而不是 MT7921K,因此我在哪里可以找到此模块的驱动程序。任何帮助都非常感谢。

lspci -nnk | grep 0280 -A3 的输出:

05:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:0608]
    Subsystem: MEDIATEK Corp. Device [14c3:0608]
06:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. Device [2646:500c] (rev 01)
    Subsystem: Kingston Technology Company, Inc. Device [2646:500c]

输出:

wget https://gitlab.com/jeremy53561/backports-11-26/-/raw/main/backports-5.15-rc6-1.tar.gz

--2021-11-27 16:56:21--  https://gitlab.com/jeremy53561/backports-11-26/-/raw/main/backports-5.15-rc6-1.tar.gz
Resolving gitlab.com (gitlab.com)... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9
Connecting to gitlab.com (gitlab.com)|172.65.251.78|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://gitlab.com/users/sign_in [following]
--2021-11-27 16:56:21--  https://gitlab.com/users/sign_in
Reusing existing connection to gitlab.com:443.
HTTP request sent, awaiting response... 503 Service Temporarily Unavailable
2021-11-27 16:56:21 ERROR 503: Service Temporarily Unavailable.

嘿,我从 Linux 服务器获取第一个链接中的文件作为 .xz 文件,并尝试执行以下操作:

make defconfig-wifi

结果是:

lex -ozconf.lex.c -L zconf.l
make[2]: lex: Command not found
Makefile:23: recipe for target 'zconf.lex.c' failed
make[2]: *** [zconf.lex.c] Error 127
Makefile.real:41: recipe for target 'defconfig-wifi' failed
make[1]: *** [defconfig-wifi] Error 2
Makefile:40: recipe for target 'defconfig-wifi' failed
make: *** [defconfig-wifi] Error 2

好的,我查看了您的所有评论和答案,然后意识到你们都建议将一些文件安装到联发科文件夹中,例如 WIFI_RAM_CODE 等。我检查了所有这些已安装的文件,我已禁用安全启动和您的其他建议,例如更新内核和升级 ubuntu。结果是蓝牙可以工作,但仍然缺少 wi-fi 适配器。我有双启动,在 Windows 中它运行良好。我不知道是什么导致了这个问题。感谢您的关注。

突然它开始工作了。我想这可能是因为禁用了安全启动、更新了内核和 ubuntu 版本、添加了补丁。突然它就工作了。我检查了内核版本,目前是 5.15.5-051505-generic。我打算重新安装 ubuntu,我会更新关于初始化 RZ608 的帖子。谢谢。

答案1

仅供参考,Linux 内核的驱动程序模块mt7921e确实适用于此卡。我正在使用5.15.2。如果您已经有此模块,那么除了一些配置之外,您目前不需要任何其他东西来解决这个问题。

但是,目前看来,直到此补丁发布之前,该模块目前不包含与此卡的 ID 匹配的内容:https://patchwork.kernel.org/project/linux-wireless/patch/84ab45bf42f57fd0301c156ffc11d0fe330ff1f8.1636857817.git.deren.wu@mediatek.com/

因此,目前我正在使用一个modprobe规则和一个udev规则来自动加载模块并将其用于卡。

$ cat /etc/modprobe.d/rz608.conf
alias pci:v000014C3d00000608sv*sd*bc*sc*i* mt7921e

$ cat /etc/udev/rules.d/99-rz608.rules
SUBSYSTEM=="drivers", DEVPATH=="/bus/pci/drivers/mt7921e", ATTR{new_id}="14c3 0608"

如果您只需要它为这次启动工作:

# modprobe mt7921e
# echo 14c3 0608 > /sys/bus/pci/drivers/mt7921e/new_id

  1. 模态
  2. udev(7)

答案2

在终端

sudo apt install build-essential flex bison
wget https://gitlab.com/jeremy53561/backports-11-26/-/raw/main/backports-5.15-rc6-1.tar.gz
tar -xvf backports-5.15-rc6-1.tar.gz
cd backports-5.15-rc6-1
make clean
make defconfig-wifi
make
sudo make install
cd /lib/firmware/mediatek
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/mediatek/WIFI_RAM_CODE_MT7961_1.bin

检查安全启动状态,mokutil --sb-state因为需要在 UEFI 设置中禁用安全启动,才能加载未签名的模块

重启

答案3

我在使用 MT7921 的 ACER Aspire-5 上运行 ubuntu 20.04。与 OP 的问题相同 - 没有 WiFi。

我的解决方案是安装缺失的固件文件,WiFi 现在可以正常工作了。蓝牙也可以正常工作。

请检查您是否已拥有所需的 /lib/firmware/mediatek/ 文件。

mkdir x
cd x
wget 'http://http.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-misc-nonfree_20210818-1_all.deb'
ar x firmware-misc-nonfree_20210818-1_all.deb
tar x -f data.tar.xz
sudo cp -a lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin /lib/firmware/mediatek/
sudo cp -a lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1.bin /lib/firmware/mediatek/
sudo cp -a lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin /lib/firmware/mediatek/

答案4

我听说过 Windows 和 Linux 中对于完全相同的适配器和mt7921e内核模块存在一些非常奇怪的行为。

我能够通过清除主板上的 CMOS 状态(按照手册所述,通过暂时短路必要的引脚)来解决这个问题。适配器内置在主板中。把它留在这里,希望这真的能帮助到别人。

相关内容