想要通过USB线快速连接网络?本文详解RNDIS驱动的安装与配置步骤。从Linux系统检测到设备虚拟网卡,仅需几个命令即可实现TCP/IP over USB,让上网变得高效便捷,新手也能轻松上手!
RNDIS是指Remote NDIS,基于USB实现RNDIS实际上就是 TCP/IP over USB——就是在USB设备上跑TCP/IP,让USB设备虚拟为一块网卡,从而使Windows/Linux可以通过USB设备连接4G网络。
社群时有工程师朋友问:模组支持RNDIS吗?可以同时用作USB网卡+运行LuatOS脚本吗……
——(详见docs.openluat.com最新选型手册),均已支持RNDIS。
使用LuatOS开发方式时:RNDIS网卡应用默认关闭,需先通过mobile.config接口打开。
本文将以Air8000多功能工业引擎为例,带你使用RNDIS的方式,搭配Windows或Linux主控终端,快速实现USB上网。
一、应用接口说明
由于Air8000工业引擎只支持LuatOS开发,且RNDIS网卡应用默认关闭,需要使用以下接口打开:
mobile.config(mobile.CONF_USB_ETHERNET, 3)
最新接口说明及脚本代码详见:https://docs.openluat.com/air8000/luatos/app/common/rndis/
1.1 应用接口
1.2 脚本代码
在使用RNIDS之前,请提前给Air8000烧录如下脚本:
二、Window系统RNDIS应用
Window系统默认支持RNDIS,直接用USB连接就可以使用,Air8000工业引擎会虚拟一个网卡,此网卡可在“设备管理器”或“网络连接”中看到。
注意:Air8000驱动使用的是CDC驱动,请使用Win10及其以上系统(Win10以下系统,Air8000不做支持)。
将烧录好上述脚本的Air8000核心板USB插入电脑,正常开机后即可识别(在电脑右下角看见如下所示图标)。
三、Linux系统RNDIS应用
3.1 虚拟串口
1)正常情况默认支持
Air8000使用CDC-ACM驱动,大部分Linux系统默认就支持,插入就可以使用。
此时查看USB设备,可以看到一个ID为19d1:0001的USB设备,这个就是Air8000虚拟出的USB网卡。
查看网卡信息可以看到如下信息:
使用ping命令访问百度,联网成功:
2)未编译内核情况的配置参考
如果你的系统未编译CDC-ACM驱动进入内核,则可以在编译内核的时候参考如下配置。
配置内核:
确定端口:
交叉编译后,板上运行成功后将Air8000开机并使用USB插入你的Linux板上,使用ls/dev/ttyACM*即可看到三个端口。
3.2 RNDIS驱动
1)正常情况默认支持
Air8000是标准的RNDIS,目前Linux大部分发行版本都已经默认支持RNDIS驱动,只要通过USB连接Air8000就可以直接用了。
Air8000开机后就会在Linux设备端看到新的网卡,如下图红框部分为Air8000虚拟出的USB网卡。
注意:每个设备的ethx可能不一样,插入Air8000工业引擎后增加的网卡即为RNDIS网卡。
2)没有RNDIS驱动的情况
如果遇到没有RNDIS驱动的情况,可在编译内核时按照下图配置。
3.3 RNDIS联网测试
使用ping命令访问百度,联网成功:
四、如何禁用RNDIS功能
4.1 Win10如何禁用RNDIS
在设备管理器,网络适配器下找到Remote NDIS选项后点击鼠标右键选择禁用设备即可。
4.2 LuatOS代码如何禁用RNDIS
代码详见:
https://docs.openluat.com/air8000/luatos/app/common/rndis/
今天的内容就分享到这里了~
审核编辑 黄宇
-
嵌入式
+关注
关注
5161文章
19786浏览量
319725 -
物联网
+关注
关注
2933文章
46463浏览量
395652
发布评论请先 登录
让开发板畅游网络:RT-Thread CherryUSB 驱动 RNDIS 模块详解 | 技术集结

HarmonyOS应用一键置灰指南
LoRa无线一键报警安防建设方案

开关柜一键顺控在一键停电、一键送电中的作用
在中压开关柜上使用微机五防锁是否可以实现一键顺控

人机界面在开关柜一键顺控中起到什么作用?

10KV开关柜一键顺控和110KV变电站一键顺控哪些地方不同

评论