news 2026/4/18 15:21:00

还买啥USB网卡~直接开启RNDIS就行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
还买啥USB网卡~直接开启RNDIS就行

本文以Air780EPM系列核心板/开发板为例,分享在Windows及Linux系统下,通过RNDIS方式实现USB上网的要点。

一、Windows下使用RNDIS功能

Windows系统默认支持RNDIS,直接用USB连接板子和电脑就可以使用。

1.1 核心示例代码

open_rndis.lua核心代码如下图示,完整demo详见源码仓库最新文件。

1.2 确认RNDIS状态

先用Luatools将相关代码烧录到模组中,通过日志来确认是否已经成功开启RNDIS功能:

1.3 在Widows中启用RNDIS

当开启RNDIS功能后,Air780EPM会虚拟一个网卡,此网卡可在“设备管理器”或“高级网络设置”中看到。

启用完毕后,即可看到我们电脑的图标已经变为以太网连接,此时可以正常使用RNDIS上网了。

1.4 相关注意事项

  • 由于Air780EPM驱动使用的是CDC驱动,所以请使用Win10及其以上系统(Win10以下系统,Air780EPM不做支持)。

  • 如果启动后日志中打印RNDIS启动成功,但是Windows上没有连上网络,需要确认下系统是否将RNDIS的虚拟网卡禁用了

二、Linux下使用RNDIS功能

2.1 在Linux中启用RNDIS

因为Air780EPM的RNDIS使用CDC-ACM驱动,大部分Linux系统默认就支持,所以无需设置代码,插入USB就可以在Linux中使用。

使用 ls /dev/ttyACM* 即可看到三个端口:

在控制台查看USB设备可以看到一个ID为19d1:0001的USB设备,这个就是Air780EPM虚拟出的USB网卡:

查看网卡信息可以看到如下信息:

尝试使用ping命令访问百度,联网成功:

2.2 相关注意事项

  • 有些Llinux设备存在Air780EPM重启后,操作文件会发生移位。

    比如:

    本来是/dev/ttyACM0/1/2,重启后变成了ttyUSB1/3/4。

    最靠谱的方法是,通过驱动节点来找到操作文件usb_find.c;

    寻找真正的需要的端口:

    FindUsbDevice(AIRM2M_USB_DEVICE_AT_INTERFACE_ID)

  • 每个设备的ethx可能不一样,插入Air780EPM后增加的网卡即为RNDIS网卡。

  • 如果遇到没有RNDIS驱动的情况,可在编译内核时参考下图配置:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:00:10

免电源POE温湿度传感器:以太网加持,解锁稳定监测新体验

在工业生产、仓储物流、机房运维等场景中,温湿度数据的精准采集与稳定传输直接关系到设备安全、物资品质与工作效率。传统温湿度传感器往往面临电源布线繁琐、信号传输易中断等痛点,而“免电源 POE 温湿度传感器 以太网网口设计 稳定传输不中断”的创新产…

作者头像 李华
网站建设 2026/4/18 7:01:42

【c++】——c++编译的so中函数有额外的字符

0. 代码 // c int add(int a, int b) {return a b; }用gcc编译成动态库,并用nm看函数名字。 gcc -shared -fPIC -o libtest.so add.c nm -D --defined-only ./libtest.so | grep -E "[Tt]" 0000000000201020 B __bss_start 0000000000201020 D _edata 00…

作者头像 李华
网站建设 2026/4/17 22:01:11

AI一周重要会议和活动(12.15-12.22)

1.【会议通知】2025年第八届人工智能与云计算国际会议将于12月20至22日在日本东京举行第八届人工智能与云计算国际会议(2025 8th Artificial Intelligence and Cloud Computing Conference,AICCC 2025)将于2025年12月20日至22日在日本东京隆重举办。作为…

作者头像 李华
网站建设 2026/4/17 18:30:12

URL.createObjectURL()、URL.revokeObjectURL() 详解

URL.createObjectURL() 详解基本概念URL.createObjectURL() 是一个静态方法,用于为 Blob 或 File 对象创建一个唯一的 URL。这个 URL 可以在浏览器中像普通 URL 一样使用,但指向的是内存中的对象。基本语法javascriptconst objectURL URL.createObjectU…

作者头像 李华
网站建设 2026/4/17 5:24:35

2025时序数据库选型指南:从大数据视角看Apache IoTDB的核心优势

随着物联网、工业互联网、大数据技术的深度普及,时序数据已成为企业数字化转型的核心资产——工业传感器、智能设备、运维监控、车联网等场景每天都会生成海量时序数据。据统计,2025年国内企业时序数据产生量同比增长超60%,选择一款适配业务场…

作者头像 李华