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

如何在Yocto 5.10-gatesgarth中为IMX6开发板启用mt7601u驱动?

问题描述

我使用IMX6开发板,默认Linux镜像未包含MediaTek mt7601u WIFI适配器驱动,尝试通过内核配置添加该驱动并重新编译,启用了以下选项:

CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=m

但启动镜像后找不到该驱动,USB适配器仍无法工作,我使用的是Yocto 5.10-gatesgarth版本。

更新
我通过menuconfig界面保存配置为customized.config,然后为内核创建.bbappend文件并添加以下脚本以指定自定义配置文件:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += " \
    file://customized.config \
"
KERNEL_DEFCONFIG_tw-image-dev = "customized.config"

在镜像脚本中配置如下:

inherit tw-irtu-core
inherit tw-dev

IMAGE_INSTALL += " \
    iw \
    wpa-supplicant \
    wireless-regdb-static"

KERNEL_MODULE_AUTOLOAD += " mt7601u"

export IMAGE_BASENAME = "tw-image-dev"

镜像编译成功且开发板可正常启动,但执行lsmod查看加载的模块时,mt7601u未被列出,请问如何正确实现驱动启用?

解决方案

针对Yocto Gatesgarth(5.10内核)环境下mt7601u驱动加载失败的问题,可按以下步骤排查修复:

1. 确认内核配置是否生效

  • 编译完成后,检查生成的内核配置文件build/tmp/work/<你的imx6机器名>/linux-imx/<版本>/build/.config,确认CONFIG_MT7601U=m和CONFIG_WLAN_VENDOR_MEDIATEK=y确实存在,若不存在说明自定义配置未被正确应用。
  • 检查内核.bbappend文件路径:需放在meta-<你的层>/recipes-kernel/linux/linux-imx/目录下,且customized.config要放在该目录的files子目录中。
  • 若tw-image-dev不是对应机器/镜像的专属后缀,可替换KERNEL_DEFCONFIG_tw-image-dev为KERNEL_DEFCONFIG。

2. 确保驱动模块被打包进镜像

  • 动态编译的模块(=m)需确认镜像包含对应模块,可在镜像脚本中添加:
    IMAGE_INSTALL += " kernel-module-mt7601u"
    
  • 也可以在内核.bbappend文件中强制指定模块安装:
    MODULE_TASK += " mt7601u"
    

3. 修复模块自动加载配置

  • 规范KERNEL_MODULE_AUTOLOAD写法,去掉空格:
    KERNEL_MODULE_AUTOLOAD += "mt7601u"
    
  • 手动在开发板验证模块是否存在:执行modprobe mt7601u,若提示module not found说明模块未编译/打包;若加载成功,可手动在/etc/modules-load.d/mt7601u.conf中添加mt7601u实现开机自动加载。

4. 验证USB设备识别

  • 先确认硬件连接正常,执行lsusb查看输出中是否存在MediaTek设备(通常ID为0e8d:7601),若不存在优先排查USB硬件或供电问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:17:24