原创 RNDIS网卡应用看这篇!Air780EP低功耗4G模组AT开发示例

2025-1-27 14:29 41 0 分类: 物联网

Air780EP是低功耗4G模组,支持全系列的AT指令以及LuatOS脚本二次开发。

本文应各位大佬邀请,特别讲解Air780EP模组AT开发RNDIS网卡应用示例。

本文同样适用于以下型号:
Air700ECQ/Air700EAQ/Air700EMQ
Air780EQ/Air780EPS/Air780EX
Air780E/Air724UG/Air201…


一、相关准备工作 


1.1 硬件准备

EVB_Air780EP开发板一套,包括天线、SIM卡;USB线;WIN10以上PC电脑


1.2 软件准备

串口工具

如果没有准备,推荐使用LLCOM:

https://llcom.papapoi.com

AT固件下载

https://doc.openluat.com/article/5055

AT指令手册

https://doc.openluat.com/article/4985

烧录教程

https://doc.openluat.com/wiki/21?wiki_page_id=6072


本文示例烧录的AT固件版本为:
AirM2M_780EP_LTE_AT_V1007

推荐选用:相关型号固件名称后面数字版本号最高的最新版本进行调试。


二、功能简介及操作演示 


RNDIS —— 是指Remote NDIS,基于USB实现RNDIS实际上就是TCP/IP over USB。

也就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡,从而使Windows/Linux可以通过USB设备连接网络。

下文以示例进行简单参数描述,AT指令的详细描述请参考AT手册。

AT指令手册:

https://doc.openluat.com/article/4985


2.1 打开RNDIS功能


01)发送AT+RNDISCALL=1打开

通过AT指令配置成功之后,就可以通过USB连接到电脑,查看下是否有网卡显示。

Window系统支持RNDIS直接用USB连接就可以使用,模块会虚拟一个网卡:


然后到"控制面板->网络和Internet->网络连接"中查看该RNDIS的以太网改为启用状态。


这时等一段时间,再看电脑右下角的网络图标,就变成了以太网已连接的状态:


02)Windows10上如何安装RNDIS驱动

RNDIS驱动是Windows10/11的一部分,默认驱动都是已安装的,不需要重新安装驱动。

但如果接上模块后,发现RNDIS加载失败,可以尝试下面行为安装RNDIS驱动。


- 安装RNDIS驱动 - 


连接设备:

首先,将USB RNDIS设备连接到计算机上。

进入设备管理器:

在Windows10中,按下Win+X键,选择设备管理器,或者通过搜索功能找到设备管理器并打开。

更新驱动程序:

在设备管理器中,展开网络适配器部分,找到RNDIS设备。右键点击RNDIS设备,选择更新驱动程序。

浏览计算机查找驱动程序:

在更新驱动程序的窗口中,选择浏览我的计算机以查找驱动程序软件。

选择驱动程序:

在接下来的窗口中,从计算机上的可用驱动程序列表中选择,然后在设备列表中选择网络适配器。

选择制造商和设备型号:

在制造商列表中选择Microsoft Corporation,然后在设备列表中选择USB RNDIS Adapter或者Remote NDIS Compatible Device(远程NDIS兼容设备)。

完成安装:

点击下一步开始安装过程,等待安装完成。可能需要重启计算机以使更改生效。


2.2 关闭RNDIS功能


由于标准AT固件会打开USB和RNDIS功能,导致客户在首次调试的时候,连接电脑,加载了RNDIS网卡,然后电脑就变成了用Air780EP模块上的SIM卡流量在上网。

可能客户会遇到怎么模块测试着TCP互传数据,突然断网了——实际是没流量了。

所以在没有使用RNDIS网卡功能的场景时,须将功能关闭,避免偷跑流量。

01)发送AT指令关闭 AT+RNDISCALL=0


02)直接在设备管理器,或者控制面板禁用网卡

A. 通过设备管理器:

找到RNDIS的网卡,选择禁用设备或者卸载设备都可以。


B. 通过控制面板:

找到模块对应的RNDIS驱动的以太网,右键后选择禁用即可。


三、常见问题Q&A 


针对客户朋友们实际应用中的反馈,整理了如下常见问题:


3.1 我用的是Linux系统,该怎么配置驱动呢?

一般情况下,不是特别精简的Linux已经支持RNDS功能。如果插上合宙4G模块,不能上网的话,先看能否检测到RNDS 设备。

在命令行中输入dmesg:

如果出现rndis_host 1-1:1.0 eth1这样的打印,则证明已经识别到了;

如果没有,可能是硬件问题,也可能是Linux真的不支持RNDIS。


如果不支持,参照如下配置:

Linux驱动配置:
https://doc.openluat.com/wiki/21?wiki_page_id=6922

此时查看ifconfig:

如果没有出现rndis_host 1-1:1.0 eth1中的 eth1,则发送ifconfig -a;

此时发现有eth1,但是没有IP地址,发送udhcpc -i eth1出现地址后,即可使用此网卡进行上网。


3.2 可以出现设备网卡,但是无法上网?

这可能是由于模块没有注册上网络,可以通过模块串口发送AT指令查询。

常用AT指令:

AT+CPIN? 查看卡是否在位

AT+CEREG? 查看是否注册上网络

AT+CSQ 查看信号值

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /3 下一条