简介
RNDIS是指Remote NDIS,基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。从而使Windows /Linux可以通过 USB 设备连接网络。
Window系统
window系统支持RNDIS直接用usb连接就可以使用,模块会虚拟一个网卡。
Linux系统
目前linux大部分发行版本都已经默认支持RNDIS驱动了,只要通过USB连接Air724模块就可以直接用了,模块开机后就会在linux设备端看到新的网卡。
其他没有RNDIS驱动的可以通过(http://doc.openluat.com/article/698/0)
教程进行修改内核
IPV6使用方法
http://doc.openluat.com/article/1467/0
如何禁用RNDIS功能
windows下如何禁用rndis功能
代码上如何禁用RNDIS功能?
AT版本:发送AT+RNDISCALL=0,0或者AT+RNDISCALL=0,1,第二个参数0表示关机不保存此项配置,1表示关闭保存此项配置;如果项目中需要关闭RNDIS功能,则建议第二个参数设置为1
LuatOS-Air版本:ril.request(“AT+RNDISCALL=0,0”)或者ril.request(“AT+RNDISCALL=0,1”),第二个参数0表示关机不保存此项配置,1表示关闭保存此项配置;如果项目中需要关闭RNDIS功能,则建议第二个参数设置为1
常见问题
http://doc.openluat.com/article/638/0
一般情况下,不是特别精简的linux 已经支持rndis 功能,如果插上合宙的4G 模块,但是不能上网的话,需要注意以下几点
1,能否检测到rndis 设备
在命令行中输入 dmesg ,如此出现 rndis_host 1-1:1.0 eth1 这样的打印,则证明已经识别到了,(如果没有,可能是硬件问题,也可能是linux 真的不支持rndis http://oldask.openluat.com/article/79)
此时查看ifconfig ,如果没有出现 rndis_host 1-1:1.0 eth1 中的 eth1 ,则发送ifconfig -a ,此时发现有eth1 但是 没有ip 地址,发送 udhcpc -i eth1 出现地址后,即可使用此网卡进行上网
2,出现设备网卡,但是无法上网
这可能是由于模块没有注册上网络,请看通过tcp 和模块进行通信
如果还不可以上网可以通过模块串口发送AT指令查询。
常用 AT :
AT+CPIN? 查看卡是否在位
AT+CEREG? 查看是否注册上网络
AT+CESQ 查看信号值
AT+CGDCONT? 查看当前PDP上下文
ATI 查看版本号(必须426以后固件才支持自动上网之前固件需要发送AT才能激活网络)
3,在LINUX下使用RNDIS上网 获得IP非公网,如何才能知道公网IP
无法获取
4,为什么同一型号的合宙模块读出来的设备id号不同?
显示下图所示的id,说明模块处于下载模式
5, RNDIS方式下,openwrt系统下会虚拟出一个USB0的网口,默认这个网口地址是192.168.0.100,上游网关地址是192.168.0.1。由于现场要接的PLC刚好地址是192.168.0.1。造成地址冲突无法访问。请问有没有方法可以修改这个默认地址段
6,RNDIS 上网,获取时时流量,下行下行数据是哪个指令
模块没有对应指令获取, 可以通过ifconfig获取