前言
去年写过鲁邦通 R1510-4L 工业路由器的简评,当时想给它备份固件然后刷机,苦于闪存读取失败故未果,后来修主板时才发现编程器的烧录夹坏掉了。现在烧录夹已换新,打算再折腾下这个路由器。
鲁邦通这款路由器固件一直在保持更新,今年1月还发布了新固件,地址参见 https://support.robustel.com/portal/en/kb/articles/r1510-firmware-download
可惜这些固件里没有我想要的短信转发功能,还是得换固件小小折腾一下。这个路由器自带的Modem支持收发短信,移远EC20模块接收和发送短信演示 提到
描述:移远的EC20模块采用的是高通的方案,EC20系列有众多版本,具备不同的附加功能,如GPS、语音通话等,但是EC20全系列都具备基本的4G网络和短信功能。下面来简单的演示一下通过AT命令来接收和发送短信的演示。
下面先进行接收短信演示:
我们这里采用的是文本模式,不然无法正常阅读。
首先通过
AT+CMGF?
命令来确认是否是文本模式,如果返回1代表是文本模式,如果是0则是PDU模式,需要修改为文本模式,命令为:
AT+CMGF=1
设置好消息格式后就可以等待短信了,模块收到短信后会有提示:
+CMTI: "ME" ,1
其中ME字段代表的是短信存储位置,只要不断电我们不需要care它到底保存在设备存储器还是SIM卡上,涉及到短信保存、删除的时候才需要详细了解存储位置;数字1代表的是短信序号,在查看短信的时候需要这个参数。
接下来就是查看短信的命令:
AT+CMGR=1
将反汇序号为1的短信的内容和来源信息:
AT+CMGR=1
+CMGR: "REC UNREAD","13957118045","19/12/25,16:35:35+00",,129,0,1,25,0,0,0
Test Message from Mcuzone
具体流程记录如下图所示:
对应的,发送短信就用AT+CMGS命令
发消息前还是一样用AT+CMGF?命令确认一下编码格式,需要用Text格式,也就是需要返回值是1,如果是0,请用AT+CMGF=1进行设置。
输入:
AT+CMGS="1395711xxxx"
英文双引号内为目标手机号码,输入该命令后会出现
>提示符,输入英文消息后按CTRL+Z组合键,短信即可发送

所以通过刷机实现短信转发功能是完全可行的。
Breed
breed 来自 https://breed.hackpascal.net/ ,只有 breed-qca953x.bin 可选。
固件选择
固然可以自行编译openwrt然后手动配置,但实在不想搞这么麻烦。目前有两个候选:
Rooter固件
该项目首页为 https://www.ofmodemsandmen.com/ ,固件发布页为 https://www.aturnofthenut.com/autobuilds/
这个固件基于openwrt,亮点是对Modem的支持异常丰富,直接引用一段官网介绍:
The ROOter Project was created to allow the use of USB, PCie and M.2 Cellular modems in routers that don't have this capability using factory firmware. The project produces new firmware on a regular basis that allows you to update your router for better support of these modems and to add new router related features.
固件内置了短信收发功能,可惜要实现转发还是得折腾下脚本。

固件可以选择 GL.iNet 类似型号,像GL-X750、GL-X300B这两款路由器都是 QCA9531 + Flash 16MB + DDR2 128MB 配置,与 R1510-4L 一致。
GL-XE300 原厂固件
该型号路由器原厂固件支持邮件转发短信,唯一问题是XE300模块为EC25,未必能正常驱动EC20,不过值得尝试。

其他参考资料
后续刷机测试后继续更新。
更新:编程器不识别芯片,所以没有后续了。我这新买的夹子总不至于又坏了吧,前几天给电脑主板刷BIOS时还好好的,一定是路由器的问题!