在Linux 5.4.70内核(ARM64架构)上通过menuconfig开启USB扩展网口功能,需配置USB网络驱动模块及依赖项。


一、进入menuconfig配置界面

  1. 打开终端,进入Linux内核源码目录:
    cd /path/to/linux-5.4.70
    
  2. 启动menuconfig(指定ARM64架构):
    make ARCH=arm64 menuconfig 
    

二、启用USB核心支持

  1. 进入菜单:Device Drivers → USB support
    • 开启 [∗] Support for Host-side USB(必需)
    • 启用 [∗] USB Physical Layer drivers(根据硬件选择,如USB PHY控制器)
    • 勾选 [M] USB Serial Converter support(若需USB串口转网口设备)[4][9]

三、配置USB网卡驱动

在 USB support → USB Network Adapters 菜单下:

  1. 通用驱动(推荐勾选):

    • [M] USB CDC Ethernet support(支持标准CDC以太网设备)
    • [M] USB CDC EEM support(用于低功耗设备)
    • [M] ASIX AX88xxx Based USB Ethernet Adapters(常见AX88179芯片)
    • [M] Realtek RTL8152/RTL8153 Based USB Ethernet Adapters(主流RTL8152/8153芯片)
  2. 其他芯片驱动(按需选择):

    • [M] SMSC LAN75xx based USB 2/3 Ethernet Adapters
    • [M] SMSC LAN95xx based USB 2 Ethernet Adapters

注:若不确定网卡型号,建议启用多个通用驱动(如ASIX、Realtek)并编译为模块([M]),便于动态加载[2][9]。


四、启用USB主机控制器驱动

返回 Device Drivers → USB support:

  1. 根据硬件选择主机控制器:
    • [∗] DesignWare USB2 DRD Core Support(常见于ARM64 SoC)
    • [∗] EHCI HCD (USB 2.0) support(USB 2.0支持)
    • [∗] XHCI HCD (USB 3.0) support(USB 3.0支持)

五、保存配置

  1. 按 右方向键 选择 Save,保存为.config文件(默认路径:内核根目录)。
  2. 退出menuconfig。

六、编译与部署

  1. 编译内核及模块:
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
    
  2. 安装驱动模块:
    make ARCH=arm64 modules_install INSTALL_MOD_PATH=/path/to/rootfs 
    
  3. 将生成的zImage和dtb文件拷贝至目标设备,重启生效。

七、验证功能

  1. 插入USB网卡后,检查驱动加载:
    dmesg | grep "usb.*ethernet"  # 查看设备识别日志 
    
  2. 确认新网卡接口(通常为eth1或enx...):
    ip link show
    

关键配置项总结

菜单路径配置项作用推荐值
USB supportSupport for Host-side USBUSB主机基础支持[*]
USB Network AdaptersASIX/RTL8152/LAN95xxUSB网卡芯片驱动[M]
USB Physical LayerDesignWare/EHCI/XHCIUSB主机控制器[*]

提示:

通过以上步骤,ARM64设备即可支持USB扩展网口功能。驱动加载后可通过ifconfig或ip命令配置网络参数[6][9]。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐