2026/1/9 13:09:21
网站建设
项目流程
销售类网站数据库的建设,wordpress 用户相册,北京建设注册中心网站首页,建盏厂家RNDIS协议通过USB模拟以太网接口#xff0c;实现高效网络共享。其实现依赖于一系列不可或缺的配置#xff0c;如USB功能模式设置、驱动加载与IP协商#xff0c;配合标准化操作步骤方可确保连接成功。
本文以Air780EPM系列核心板/开发板为例#xff0c;分享在Windows及Linu…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驱动的情况可在编译内核时参考下图配置今天的内容就分享到这里了~