收起左侧

FNOS 安装 MT7921U USB WiFi 6 驱动说明

0
回复
51
查看
[ 复制链接 ]

1

主题

3

回帖

0

牛值

江湖小虾

FNOS 安装 MT7921U USB WiFi 6 驱动说明

这份文档整理的是本次在飞牛 OS 上实际跑通的方案,目标是给 MT7921U / MT7921AU / MT7921BU 这类 USB WiFi 6 网卡安装驱动。
参考飞牛社区帖子:https://club.fnnas.com/forum.php?mod=viewthread&tid=62368l
适用环境:

  • 系统:fnOS 1.1.3107
  • 内核:6.18.18-trim
  • 架构:x86_64
  • 实测设备:MT7921U

这次成功的关键不是“直接用论坛现成 .ko”,而是:

  • openwrt/mt76 源码
  • FNOS 6.18.18-trim 的 headers 打兼容补丁
  • 在本机重新编译

先说结论

https://club.fnnas.com/forum.php?mod=viewthread&tid=62368l里论坛分享的预编译包 mt76_backup.tar.gz 在这台机器上不能直接用。

虽然它表面上也是给 6.18.18-trim,但直接安装后会报:

modprobe: ERROR: could not insert 'mt7921u': Exec format error
mt76: disagrees about version of symbol module_layout

所以正确做法是重新编译,而不是直接复制旧 .ko

支持的 USB ID

本次编译出的 mt7921u.ko 支持这些 ID:

  • 0e8d:7961
  • 3574:6211
  • 0846:9060
  • 0846:9065
  • 35bc:0107

插上网卡后可先检查:

lsusb

重要提醒

1. modprobe 可能不是没安装,而是不在 PATH

FNOS 上 登录 用户默认 PATH 里没有 /usr/sbin,所以你会看到:

modprobe: command not found

这不一定代表系统没装 kmod。直接用完整路径即可:

/usr/sbin/modprobe mt7921u
/usr/sbin/modinfo mt7921u
/usr/sbin/depmod -a

2. 这套方案是给 6.18.18-trim

如果以后飞牛 OS 升级内核,比如不是 6.18.18-trim 了,需要重新编译一遍,不能直接沿用旧模块。

先确认:

uname -r

安装前检查

uname -r
uname -m
ls /usr/src/ | grep linux-headers
docker version

预期:

  • uname -r6.18.18-trim
  • uname -mx86_64
  • 存在 linux-headers-6.18.18-trim
  • Docker 可用

本次实际成功的最小方案

和常见教程相比,这次没有去编整套 mt76 全家桶,而是只编 MT7921U 真正需要的那几个模块:

  • mt76.ko
  • mt76-usb.ko
  • mt76-connac-lib.ko
  • mt792x-lib.ko
  • mt792x-usb.ko
  • mt7921-common.ko
  • mt7921u.ko

这样可以避开 mt7603mt7615mt76x0mt76x2 那些不相关模块的兼容性报错。

安装步骤

步骤 1:准备源码目录

cd /tmp
rm -rf mt76-build
git clone --depth 1 https://github.com/openwrt/mt76 mt76-build
cd mt76-build

步骤 2:打兼容补丁

这次实际需要的补丁点有 3 个:

  1. mt76.hlinux/version.hLINUX_VERSION_CODE
  2. 把旧路径 asm/unaligned.h 改成 linux/unaligned.h
  3. ieee80211_txq_aql_pending() 改成旧 headers 也支持的 ieee80211_txq_get_depth()

执行:

cd /tmp/mt76-build

code

code

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则