树莓派5G NR上网折腾记

背景

每年春节回老家过年的时候,都需要解决上网的问题。基本需求是, 需要通过路由器为家里的电视、手机等设备提供一个可靠的网络覆盖,

而且网络的质量需要满足要求。因为平时不在老家住,开通宽带一般需要按年计费,不太划算。所以之前也尝试过买流量卡, 一个月可能

有几十G流量,然后使用树莓派和4G模块上网,共享网络给路由器满足需求。2020年春节期间隔离在家,不得不在家办公一个月,

还开通过电信宽带。当时用的是电信129元十全十美套餐,绑定银行卡优惠30元(当时没想着长期用,就没绑定 :< ), 因为合约期两年

后面出去打工后就没管了,送的三张卡也没有用。后面却发现欠费好几百,考虑可能影响到个人征信,因此又补缴了费用。相当于没有使用

却给电信捐款, 略坑。 因此一直在调研其他的方案,来满足春节短期的上网需求。

由于宽带一般都需要长期开通,成本才会降低。而且在人口密集的城市和乡村地区,宽带价格差异很大。基层业务人员服务也不够好,

一不小心又会掉进坑里。所以宽带不是一个好的选择。

5G网络的全国覆盖已经比较广了,其实4G+的网速(150Mbps~300Mbps)已经可以满足绝大多数上网场景的需求。

而且国内的电信运营商, 如果设备支持5G的话,就算使用的是4G套餐,也会支持5G的网络。虽然会被限速,但网速依然会提升不少,延迟也相对较低。

毕竟5G设备已经安装在那里,不用的话也会浪费。

所以树莓派+5G上网模块就是一个好的选择。 剩下要做的事情就是选择一个可靠且实惠的5G上网模块和套餐资费了。

这里不进行比较,我选择的方案就是 Rapsberrry Pi 3 + RM500U-CN + 天际通卡.

作为一个树莓派粉,设备我当然有了,而且每一代都有(还是在低位入手的), 暂时不计成本。

RM500U-CN 大概需要 900块。

天际通卡一年资费500多,但有按月的套餐99/月, 一个月的流量2000GB。非常适合我的需求。

虽然整体成本要1000+, 比一年的100M宽带价格 800左右并没有便宜多少。 但是设备是买到是我自己的,我还可以继续折腾,

从物品和精神上也都保值呢。

这比开通了宽带但是没有使用依然扣费划算不少,可能只是心理舒坦 :>

RM500-CN

RM500U-CN是一款相对物美价廉的产品,微雪电子对其定制了扩展版和外壳天线等,简单的组装一下就可以比的上商业产品的质量。

RM500U-CN商品链接

天际通卡

天际通14001号码的卡支持SA网络, 14000的不支持。可以通过卡后面的号码区分。

为了保证能买到14001卡, 我从闲鱼上找卖家购买并确认。 一般来说,华为移动路由设备送的卡是14001卡。 我买的那张卡, 应该是闲鱼卖家从回收的华为设备里单独拿出来卖的; 一个技巧是, 确认这个卡没有人使用,自己可以实名认证,防止用别人的卡充值后被别人挂失找回,造成不必要的经济损失

组装

组装教程 https://www.waveshare.net/w/upload/8/8b/PI4-CASE-4G-5G-M.2-Assembly-cn.jpg

实际上按照从底部往上组装的顺序比较容易。

因为我们用的是RM500U-CN, 是通过usb(不是gpio)共享扩展版的网络到树莓派,所以需要插好A-to-A的USB接口.

调试和使用

这里推荐安装ubuntu-server 20.04, 经测试可以运行。而且ubuntu对树莓派本身也有良好的支持,是raspbian的近亲。

安装好ubuntu-server后,根据waveshare提供的补丁,添加USB设备描述符(vendor ID/product ID)

https://www.waveshare.net/w/upload/9/9e/RM500U_FOR_RPI_Ubuntu22.04.zip

IMEI设置和修改

# 设置AT命令回显
ATE1

# 查看IMEI
AT+SPIMEI?

# 修改IMEI
AT+SPIMEI=0,"xxx"

ECM拨号

# 检查SIM卡状态
AT+CPIN?
# 检查网络状态
AT+QENG="servingcell"
# ECM
AT+QCFG="usbnet",1
AT+QNETDEVCTL=2,3,1
# 重启设备
AT+CFUN=1,1

APN设置 5gscuiot, 可以在微信小程序切换网络类型

ubuntu server配置

netplan config

ubuntu 22.04版本默认使用systemd提供的networkd. 兼容性较差,这里我们改回使用NetworkManager.

sudo snap install network-manager
sudo apt install modem-manager
network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlan0:
      dhcp4: no
      addresses: [192.168.11.1/24]
      access-points:
        "RPI":
          password: "xxx"
          mode: ap
  modems:
    usb0:
      dhcp4: true
      match:
        macaddress: "72:cf:d3:08:d8:bf"
      optional: true
      set-name: "usb0"
      auto-config: true
      apn: "5gscuiot"

https://netplan.io/examples

通过ethernet端口共享以太网 https://ubuntu.com/core/docs/networkmanager/configure-shared-connections

nmcli c add con-name lan type ethernet ifname eth0 ipv4.method shared ipv6.method ignore 
nmcli c up lan

常用AT命令

APN设置 AT+CGDCONT=1,"IP","5gscuiot"

5G网络设置

可以在天际通小程序上选择网络类型。默认为优质网络, 即为5G网络。其余两种为低延迟网络和稳定网络(IPV6), 都是4G类型。

可以根据网络覆盖情况和使用场景选择。如果有良好的5G网络覆盖,优选选择5G网络。

通过AT命令AT+QENG="servingcell" 查询。

AT命令设置网络模式

# auto
AT+QNWPREFCFG="mode_pref"

# 5g
AT+QNWPREFCFG="nr5g_band"

# lte
AT+QNWPREFCFG="lte_band"

参考