news 2026/6/23 23:08:14

RNDIS USB网络连接:不可或缺的配置项与实施步骤详解!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RNDIS USB网络连接:不可或缺的配置项与实施步骤详解!

RNDIS协议通过USB模拟以太网接口,实现高效网络共享。其实现依赖于一系列不可或缺的配置,如USB功能模式设置、驱动加载与IP协商,配合标准化操作步骤方可确保连接成功。

本文以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/6/22 23:14:36

Python 1级编程考试模拟题库(5套精选)

目录Python 1级编程考试模拟题库(5套精选)卷1:基础语法与运算一、单选题 (每题2分,共50分)二、判断题 (每题2分,共20分)三、编程题 (每题15分,共30分)卷2:控制流程 (If/Else)一、单选题 (每题2分…

作者头像 李华
网站建设 2026/6/23 19:48:20

从零开始部署LobeChat:打造个人专属的大模型对话门户

从零开始部署LobeChat:打造个人专属的大模型对话门户 在大语言模型席卷全球的今天,我们早已不再满足于被动地使用AI——人们想要的是一个真正属于自己的智能助手。它不该被锁定在某个商业平台里,数据不透明、功能受限制;而应是可…

作者头像 李华
网站建设 2026/6/23 21:28:16

Jenkins环境配置篇-更换插件源

作为持续集成的利器 Jenkins 已经得到了广泛地应用,仅仅作为一个工具,Jenkins 已然有了 自己的生态圈,支持其的 plugin 更是超过 1300。在实际中如何使用以及如何更好地使用 jenkins,一直是大家在实践并讨论的。本系列文章将会从如…

作者头像 李华
网站建设 2026/6/22 22:20:08

行为驱动开发(BDD)在软件测试中的实践流程

行为驱动开发(Behavior-Driven Development, BDD)是一种基于敏捷方法的软件工程实践,它通过自然语言描述系统行为,弥合了业务需求与技术实现之间的鸿沟。对于软件测试从业者而言,BDD不仅提升了测试案例的可读性和协作效…

作者头像 李华
网站建设 2026/6/23 17:57:17

Trae的使用

一、背景 背景:用来快速上手使用Trae的使用,掌握工具的核心功能与协同开发流程,提升代码编写、部署与智能开发效率。 技术应用场景:快速搭建轻量级项目,借助 AiIDE 的智能代码提示 / 生成功能提升编码效率。 整体思路…

作者头像 李华
网站建设 2026/6/23 9:18:40

easy_nbt(Bugku杂项入门)

解压文件后获得一个文件夹。翻阅文件夹后发现并没有找到flag,但flag就在其中。先丢到winhex里面看看。发现存在很多压缩包文件,这说明文件夹里的很多文件其实都是压缩包。这里可以看出,在newword文件夹下的data文件下有压缩包,但我…

作者头像 李华