我经常收到中国移动的客服小姐姐电话,让我换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网络。
关注公众号,扫码加入嵌入式交流群: