我经常收到中国移动的客服小姐姐电话,让我换5G套餐,不过我总是不断的拒绝她。一是我没有5G手机,二是我觉得目前的4G足够用了,刷个视频也不卡,所以就没想着换了。

 

自己虽不用5G手机,但是作为一名嵌入式从业人员,还是有必要了解点5G的。最近我们做了一个支持5G的板子,用了移远的5G模组RG500Q-CN,5G模组和主控之间通过USB3.0连接,主控运行Linux系统。下面让我们来看看它的速率如何。

 

测速工具可以使用speedtest-cli,speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行。

 

可通过如下方式下载:

curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

 

下载后设置可执行权限,

chmod +x speedtest-cli

 

之后,尝试运行一下,

python3 speedtest-cli

 

很不幸的是,我没有运行成功,提示如下错误:

 

后来上网查了半天才解决,方法是添加2句话:

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

 

 

再之后就可以正常运行了:

root@myd-imx8mq:~# python3 speedtest-cli 

Retrieving speedtest.net configuration...

Testing from China Unicom Beijing (221.216.116.206)...

Retrieving speedtest.net server list...

Selecting best server based on ping...

Hosted by BJ Unicom (BeiJing) [3.31 km]: 63.225000000000001 ms

Testing download speed................................................................................

Download: 11.70 Mbit/s

Testing upload speed......................................................................................................

Upload: 12.92 Mbit/s

 

上面用的是4G卡,再换一张5G卡试试:

 

 

速率大幅度提升,下载速度接近200Mbps了。5G果然比4G快不少。

 

还有一种测试方法是,通过板子的网口和电脑连接来测试。首先需要实现能通过板子的网口来上网的功能,可以使用iptables来实现路由转发。

 

以下2条指令就可以搞定:

 echo 1 > /proc/sys/net/ipv4/ip_forward

 iptables -t nat -A POSTROUTING -s 172.16.12.0/24 -o wwan0_1 -j MASQUERADE

 

其中wwan0_1是5G网口名称:

 

 

如果系统不支持ipteables,那么需要自己去弄一下,不再这里说了。

 

然后将电脑IP配置如下,

 

 

其中网关就是板子的网口IP,DNS选择板子的DNS,可以通过cat /etc/resolv.conf 查看:

 

 

这样电脑也可以上网了,然后可以在windows下通过浏览器来测速了。

 

最后分享下在调试移远的5G模组的几个小经验:

1) at+csq

以前4G模块经常用这个at命令来判断是否有信号,如果为99,99 表示无信号,但是5G模块不能用这个来判断,因为如果接入5G网络的话,这个返回值就是99,99 。

 

2) at+cops?

可用来查询当前的运营商状态。

       

 

我用的联通5G卡,有5G网覆盖时,会返回11或者13

 

3) AT+QENG="SERVINGCELL"   可用来查看当前接入的是什么网络。

+QENG: "servingcell","NOCONN","NR5G-SA","TDD", 460,01,2014C001,46,12033,627264,78,3,-115,-12,7,3,1749

OK

 

表示接入5G了。

 

AT+QENG="SERVINGCELL"

+QENG: "servingcell","NOCONN","LTE","FDD",460,01,E4DAE01,454,100,1,5,5,18B5,-118,-11,-86,12,9,130,-

 

OK

 

表示接入的是4G网络。