You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04安装Tenda W311mi USB网卡执行make命令报错求助

在Ubuntu 22.04上安装Tenda W311mi USB无线网卡的正确方法

问题背景

按照相关指南操作,从官网下载驱动后,执行sudo make编译Tenda W311mi的MT7601U驱动时,出现以下报错:

make -C tools
make[1]: Entering directory '/home/ali/MT7601U_LinuxAP_3.0.0.1_20130802/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory '/home/ali/MT7601U_LinuxAP_3.0.0.1_20130802/tools'
/home/ali/MT7601U_LinuxAP_3.0.0.1_20130802/tools/bin2h
cp -f os/linux/Makefile.6 /home/ali/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/Makefile
make -C /lib/modules/5.19.0-43-generic/build 
SUBDIRS=/home/ali/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.19.0-43-generic'
make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed 
by 'arch/x86/include/generated/uapi/asm/unistd_32.h'. Stop.
make[1]: *** [arch/x86/Makefile:232: archheaders] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.19.0-43-generic'
make: *** [Makefile:388: LINUX] Error 2

报错核心原因是2013年的旧驱动与Ubuntu 22.04的5.19内核不兼容——新内核已移除32位系统调用表相关文件,导致编译流程中断。


方案一:使用内核自带驱动(推荐)

Ubuntu 22.04的内核已经内置了MT7601U芯片的驱动,无需手动编译旧版本驱动:

  • 清理之前编译的残留文件:
    sudo make clean
    
  • 插入Tenda W311mi网卡,系统会自动识别并加载驱动。若未自动加载,手动触发模块加载:
    sudo modprobe mt7601u
    
  • 验证网卡是否被识别:
    ip link show
    
    输出中会显示无线网卡设备(通常命名为wlan0或类似格式)。

方案二:修复旧驱动编译(仅当内核驱动失效时尝试)

如果必须使用官网的旧驱动,需修改代码适配新内核:

  1. 安装完整编译依赖:
    sudo apt install build-essential linux-headers-$(uname -r)
    
  2. 打开驱动目录下的os/linux/Makefile,将-mno-red-zone添加到EXTRA_CFLAGS配置项中,适配x86_64内核的编译规则。
  3. 重新执行编译安装:
    sudo make && sudo make install
    
    注意:这种方法仅为临时适配,后续内核更新后可能再次失效,不建议长期使用。

内容的提问来源于stack exchange,提问作者Ali Mohammadnia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 12:07:33