9. 5G通信

《37-4G和5G模块的使用》

LubanCat系列板卡支持usb接口连接以及mini-pcie接口连接, 虽然他们是两种不一样的接口,但是两种连接方式的原理都是通过usb来通讯。

usb接口连接和mini-pcie接口连接的区别

  • usb接口连接,需要把sim卡插在usb-4G模块(旧款)上,使用的sim卡尺寸为 标准sim ,在usb-4G模块(新款)上,使用的sim卡尺寸为 nano sim

  • mini-pcie接口连接,需要把sim卡插在板卡上,使用的sim卡尺寸为 nano sim

9.1. 5G模块

我们测试使用过的5G模块型号只有移远RG200U。

quectel-CM_8.png

9.2. 模块安装

9.2.1. pcie

首先按图示的样式安装好5G模块

quectel-CM_8.png

搭配野火4G模块底板

quectel-CM_8.png

9.3. 使用方法

  1. 首先我们先把模块还有sim卡安装好,mini-pcie接口的网卡需要先安装完成后再开机,不然会影响到板卡的正常运行。

  2. 查看ip,开机后需要等待才能看到ip的生成。

1
2
#查看ip地址
sudo ifconfig
../../../_images/ifconfig.png

注意

1.看到地址是192.168.137.100,就需要设置usb0为动态ip。2.如果看到ip地址不是 192.168.xxx.xxx ,则证明模块处于网卡模式, 可以连接外网,如果ip地址是 192.168.xxx.xxx, 网卡可能处于路由模式或者桥接模式, 我们就需要通过下一小节的内容,对网络进行设置。

  1. 设置usb0为动态ip

1
2
#修改文件
vi /etc/dhcpcd.conf

注释文件末尾对usb0的配置

1
2
3
4
interface usb0
static ip_address=192.168.137.100/24
static routers=192.168.137.1
static domain_name_servers=8.8.8.8 8.8.4.4

改成

1
2
3
4
# interface usb0
# static ip_address=192.168.137.100/24
# static routers=192.168.137.1
# static domain_name_servers=8.8.8.8 8.8.4.4
  • 然后保存文件

使用下面命令应用网络配置,对usb0进行动态ip配置

1
dhcpcd -n usb0

执行成功后,查看usb0的ip地址

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 8E:D5:B5:D3:FA:1B
          inet addr:10.10.15.230  Bcast:10.10.15.255  Mask:255.255.255.0
          inet6 addr: fe80::7458:55ad:6d6c:53d5/64 Scope:Link
          inet6 addr: 2408:8459:d0b1:478:9d9e:280e:748a:ccb6/64 Scope:Global
          inet6 addr: 2408:8459:d0d3:f852:c815:942a:f26f:69b0/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:689 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14736 (14.3 KiB)  TX bytes:88538 (86.4 KiB)
  1. 查看网络是否能够正确连接网络。

1
sudo ping baidu.com

如果出现下图的情况,则说明能够正常连接网络。

../../../_images/ping_baidu.png

9.4. 移远RG200U配置

移远RG200U支持两种接口的网卡拨号,一种是usb网卡拨号,另一种是Ethernet网卡拨号, 由于我们的鲁班猫暂未支持Ethernet网卡拨号,所以下面我会使用usb网卡拨号给大家讲解一下。

../../../_images/mode.png

9.4.1. 网卡拨号模式

移远RG200U网卡的网卡拨号模式有三种。

  1. 网卡模式

  2. 路由模式

  3. 桥接模式

注意

如果只想连接网络,请选择网卡模式,其他模式在默认配置下没办法连接外网。

9.4.1.1. 网卡模式

如果只想用来连接网络,选择这一项。

LubanCat-2N

9.4.1.2. 路由模式

默认配置下,不支持连接外网。

LubanCat-2N

9.4.1.3. 桥接模式

默认配置下,不支持连接外网。

LubanCat-2N

9.4.2. 驱动类型

RNDIS, NCM, ECM和MBIM都是一些用于在USB上实现以太网功能的协议。它们的区别主要在于以下几个方面:

  • RNDIS是一种由微软提出的供应商协议,它需要安装专门的驱动程序,而且只支持Windows系统。RNDIS的数据包是MAC包,但是有一个额外的报头。

  • NCM和ECM都是基于USB通信设备类(CDC)的标准协议,它们可以跨平台使用,不需要安装驱动程序。NCM和ECM的数据包也是MAC包,但是ECM没有报头,而NCM有一个可选的报头。NCM相比ECM有更高的传输效率和兼容性。

  • MBIM是一种专门针对移动宽带设备设计的接口模型,它由Intel, Microsoft等多家USB/IF成员提出,目的是统一和简化移动宽带设备的驱动和管理。MBIM支持多种移动网络技术,如GSM, CDMA, LTE等。MBIM在Windows 8及以上版本中已经内置了类驱动程序,不需要额外安装驱动。 Linux在3.8版本之后也支持MBIM。MBIM的数据包是IP包,而且有一个报头和一个报尾。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Source: Conversation with Bing, 2023/2/16

(1) Ethernet over USB - Wikipedia. https://en.wikipedia.org/wiki/Ethernet_over_USB

(2) RNDIS,ECM及MBIM报文简述 - 豆丁网. https://www.docin.com/p-703805208.html

(3) mbim ndis ecm ncm之我的理解_wandersky0822的博客-CSDN博客_mbim. https://blog.csdn.net/wandersky0822/article/details/101559271

(4) RNDIS,ECM及MBIM报文简述_百度文库. https://wenku.baidu.com/view/fd16907e011ca300a6c3903e.html

(5) RNDIS,ECM及MBIM报文简述.doc. https://max.book118.com/html/2017/0831/131033866.shtm

(6) 拨号之 PPP NDIS RNDIS CDC ECM NCM QMI-WWAN GOBINET RMNET MBIM 区别. https://blog.csdn.net/wwwyue1985/article/details/112971030

9.5. 使用AT命令配置移远RG200U网卡

移远RG200U网卡的配置方式是使用AT命令,配置成功后网卡就会把配置保存到网卡内部。 因此,配置过一次后,我们就可以不用额外的配置。

9.5.1. 配置前准备

配置前需要把模块先安装好,然后开机,查看网卡驱动是否安装好。

1
2
#查看网卡是否安装驱动
dmesg | grep GSM

如果有下面的东西出现证明驱动安装。

../../../_images/dmesg_gsm.png

9.5.2. minicom的配置

  1. 使用AT命令

1
2
#设置串口
sudo minicom -s

如下图:

未找到图片

进入设置,按照下图,修改串口或者波特率,按键盘上的字母进入各自要设置的东西,enter键确认。

未找到图片

设置完成后,可以按这按键保存配置,保存后,以后打开不用设置。

未找到图片

然后”exit” 进入minicom的终端,”exit from minicom”就是退出minicom。

未找到图片

9.5.3. 使用AT命令配置网卡

如果之前设置好了minicom,就可以跳过minicom的配置,使用下列命令打开minicom。

1
sudo minicom

进去后,我们可以先输入数字,如果没有显示证明,证明我们还没有开回显。

我们使用该方法进行设置 : 先按组合键”Ctrl + A” 然后再按 “e”键。

设置完成后,我们就可以使用AT命令和网卡通讯。

AT指令

AT指令

指令效果

指令返回

AT+QCFG=”usbnet”

查询当前配置

5:NCM 1:ECM 2:MBIM 3:RNDIS

AT+QCFG=”usbnet”,5

配置网卡拨号方式及驱动类型为 NCM

OK

AT+QCFG=”usbnet”,1

配置网卡拨号方式及驱动类型为 ECM

OK

AT+QCFG=”usbnet”,2

配置网卡拨号方式及驱动类型为 MBIM

OK

AT+QCFG=”usbnet”,3

配置网卡拨号方式及驱动类型为 RNDIS

OK

AT+QCFG=”nat”

查询当前配置

0:网卡模式 1:路由模式 2:网桥模式

AT+QCFG=”nat”,0

配置拨号模式为网卡模式

OK

AT+QCFG=”nat”,1

配置拨号模式为路由模式

OK

AT+QCFG=”nat”,2

配置拨号模式为网桥模式

OK

AT+CFUN=1,1

网卡复位重启

OK

  • 如果收到 +CME ERROR: 4 ,证明指令没有输入正确,需要重新输入指令。

注意

上面的这些参数配置需要重启后生效, 可以使用复位网卡,重启板卡,如果是使用usb接口的话可以重新插拔。

在配置之前,建议先查询配置,在配置完后,建议再次查询, 以确保配置能够正确写入到网卡内,有时候写入配置时不会成功返回OK,可以重复写入。

注意

使用minicom时,不能使用退格键把发出去的内容删掉, minicom是以单个字符的方式发送的。 如果输入错误的指令可以通过修改指令,将指令修改为不影响网卡的指令, 发送出去,这样不会影响5G模块的工作。

9.5.4. usb拨号模式设置举例

未找到图片

9.5.5. 网卡驱动模式设置举例

未找到图片

拨号组合示例如下,通过minicom发送:

1
2
3
AT+QCFG="usbnet",3
AT+QCFG="nat",0
AT+QNETDEVCTL=3,1,1

配置完拨号方式和拨号模式后,也可通过echo发送自动拨号AT命令:

1
echo -e "AT+QNETDEVCTL=3,1,1\r"  |  minicom -D /dev/ttyUSB2

发送AT+QNETDEVCTL=3,1,1信息如下图:

未找到图片

ifconfig命令查看5g网卡ip,如下图,会获取到ip6:

未找到图片