启用 IP 直通
默认情况下,调制解调器充当 IPv4 的真正 NAT 路由器,并通过 IPv6 提供地址。调制解调器的 IPv4 地址是 192.168.225.1 – 这不能通过 AT 命令更改(移远通信并不直接支持更改它),但有办法可以更改。
QMAP方法
RM520N AT命令手册中记录的方法,已经测试成功,不知道是否兼容RM500Q系列
详细内容请参考以上AT手册的AT+QMAP=”MPDN_rule”部分。
以我使用的开发板为例,我通过以太网接口进行联网,开启ip直通执行
at+qmap="mpdn_rule",0,1,0,1,1,"FF:FF:FF:FF:FF:FF" //设置为“FF:FF:FF:FF:FF:FF”,模块将始终将公网地址下发给新连接的ETH设备。
at+qmap="mpdn_rule" //检查是否更改成功
+QMAP: "MPDN_rule",0,1,0,1,1
+QMAP: "MPDN_rule",1,0,0,0,0
+QMAP: "MPDN_rule",2,0,0,0,0
+QMAP: "MPDN_rule",3,0,0,0,0
OK
AT+QPOWD=1 //重新启动模块
此时你的联网设备将直接获得运营商下发的IPV4和IPV6地址
你可能会发现,模块下发的DNS可能还是模块的网关地址192.168.225.1,解决方法:
AT+QMAP="IPPT_NAT" //查询QMAP数据通话的IPPT NAT工作模式
AT+QMAP="IPPT_NAT",0 //如何返回1请将其设置为0,即IPPT 模式下不使用 NAT
AT+QMAP="DHCPV4DNS" //查询 QMAP 数据呼叫的 IPv4 DNS 代理
AT+QMAP="DHCPV4DNS","disable" //如果返回enable请将其设置为disable,即禁用 IPV4 DNS代理
AT+QMAP="DHCPV6DNS" //查询 QMAP 数据呼叫的 IPv6 DNS 代理
AT+QMAP="DHCPV6DNS","disable" //如果返回enable请将其设置为disable,即禁用 IPV6 DNS代理
设置完成后,使用命令AT+QPOWD=1重启模块。联网设备将直接获得运营商下发的DNS ip
RGMII方法(不推荐)
此方案参考RM500Q AT手册
AT+QETH="ipptmac",XX:XX:XX:XX:XX:XX //设置 IP Passthrough-RGMII 模式的 MAC 地址,设置为“FF:FF:FF:FF:FF:FF”,模块将始终将公网地址下发给新连接的设备。
AT+QETH="rgmii","ENABLE",1,1 //启用 IP Passthrough-RGMII 模式的 RGMII 数据拨号并使用默认APN 进行数据拨号
使用命令AT+QPOWD=1重启模块。此时应该从您指定的MAC地址设备上看到运营商下发的IP。
获取模块的ADB访问权限
这些调制解调器实际上是一个成熟的 Linux 路由器。一旦获得访问权限,您就可以在文件系统上修改您想要的任何内容。这很酷,但有点危险。访问是通过“adb”进行的——与用于对 Android 手机执行有趣操作的工具相同。
要获得访问权限,您需要从调制解调器获取密钥,从移远通信获取结果,解锁调制解调器,然后启用 ADB。
要获取密钥,请运行 AT 命令“AT+QADBKEY?”。调制解调器将回复:
AT+QADBKEY?
+QADBKEY: 12345678
OK
获得密钥后,通过Python脚本算出密码carp4/qadbkey-unlock: QADBKEY Unlocker for Quectel RM5XX Series Modules (github.com),要使用此脚本,只需访问以下 URL:https://onecompiler.com/python/3znepjcsq 然后将 12345678 替换为 AT+QADBKEY? 的响应,然后点击运行
收到解锁密钥后,应用它:
AT+QADBKEY="xxxxxxxxxxx"
然后,要实际启用 ADB,请运行 AT+QCFG="usbcfg"
,获取输出,将倒数第二个 0 更改为 1,然后将新的 usbcfg 字符串发送到调制解调器(不要仅复制/粘贴以下内容) ;您的调制解调器的 USB VID/PID 很可能不同):
AT+QCFG="usbcfg"
+QCFG: "usbcfg",0x2C7C,0x0801,1,1,1,1,1,0,0 // Initial response
AT+QCFG="usbcfg",0x2C7C,0x0801,1,1,1,1,1,1,0 // Enable ADB
并使用 AT+QPOWD=1
重新启动模块以应用更改
一旦调制解调器重新上线,您应该能够使用 ADB 来管理通过 USB 连接到主机上的调制解调器。基本命令:
adb shell
– 调制解调器上的 root shelladb pull /path/to/file
– 从调制解调器下载文件adb push /path/to/file
– 将文件上传到调制解调器
您好,我用520n的500q外挂8125用的都是RGMII直通,想问下是为何不推荐RMGII直通么?
在官方的最新参考文档中520N是使用QMAP,RMGII直通也适用于520N系列,不推荐的原因就是最新文档中提倡的方案不是RMGII直通。使用中有什么很大的区别?我不清楚。 500Q应该是不兼容QMAP的。
就算直通也是有NAT的,仅仅是IP透传给下级设备。使用过程中我的感觉并不是很稳定。还得是主机拨号,不建议模块本身拨号。因为模块的性能很垃圾