当前位置: 首页 > news >正文

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驱动的情况,可在编译内核时参考下图配置:


今天的内容就分享到这里了~

http://www.cnnetsun.cn/news/66544.html

相关文章:

  • Python 1级编程考试模拟题库(5套精选)
  • 从零开始部署LobeChat:打造个人专属的大模型对话门户
  • Jenkins环境配置篇-更换插件源
  • 行为驱动开发(BDD)在软件测试中的实践流程
  • Trae的使用
  • easy_nbt(Bugku杂项入门)
  • Hyperworks MotionView软件下的发动机激励噪声仿真:识别车内噪声的技术路线揭秘
  • 三层电梯控制系统是PLC入门经典项目。今天拆解一套基于FX3U PLC和GS2107触摸屏的方案,重点聊聊那些容易掉坑的细节
  • 零基础入门:Flutter + 开源鸿蒙打造可视化儿童编程工具
  • 归并排序算法实现,kotlin,c++,python
  • 京东商品列表API,Python请求示例
  • Hadess基础到实践,如何详细管理Npm制品
  • Java 开发问题:类名与注解名冲突问题
  • 如何衡量推广效果(如投产比、转化率)?一位餐饮老板的实战自白
  • 程序员必看!万字长文详解大模型“深度研究“新范式,小白也能入门AI智能体开发!
  • 大模型安全威胁全解析,Agent架构设计避坑指南,小白必看
  • SMDJ45A单向 TVS瞬态抑制二极管 :3000W浪涌保护管 防雷击抗静电
  • Foundation 文本
  • Sui 主网升级至 V1.61.2
  • 25、Kubernetes 应用部署与管理实践
  • 31、容器化应用设计理念与实践
  • 如何评估LobeChat的加载速度与响应延迟?性能基准测试
  • 缓存与数据库一致性解决方案深度解析
  • 消息队列真仙:我的道念支持最终一致性
  • Spring Boot项目推送Gitee全流程(进阶)
  • Java毕设项目:基于Springboot大学校园自习室教室座位预约网站设计与实现基于springboot高校自习室预约系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • JAVA打造同城羽馆预约,一键畅享运动
  • 经验贴 | 科学制定招聘需求与预算:HR 必看的逻辑与实操要点
  • 经验贴 | AI 面试评估系统怎么用?HR 高效识人实操指南
  • 构建个性化AI助手:LobeChat会话管理功能深度使用技巧