【EG915U 学习笔记】两周从 AT 指令摸到 SIP 信令
新人报到,这两周我一直对着一块 EG915U 折腾,从开机敲 AT 到能看懂 ArmTracer 里的信令,算是从零走通了一遍。把过程记下来,也许对刚上手蜂窝模组的同学有点用。
我是通信工程专业的,手头这块是 Quectel EG915U(UNISOC 8910 平台,插的中国移动卡)。最开始就一个目标:别光会照着手册敲命令,得真懂模组在背后干了啥。
学习顺序大概是这样:
模组基础(AT) → LTE 入网(Attach) → 短信(SMS) → 语音(VoLTE) → 数据业务(ECM)
我的经验是先别急着钻原理,把业务跑通再说。等你能发短信、能上网了,再去翻信令看"为什么能行",那会儿看信令才有感觉。
模块基础与 AT 调试
上手第一件事就是串口(我用 QCOM)确认模组状态,这几条基本天天敲:
AT+CPIN? → +CPIN: READY // SIM 卡就绪
AT+COPS? → +COPS: 0,0,"China Mobile"
AT+CEREG? → +CEREG: 0,1 // EPS 已注册
AT+CGSN → 输出 IMEI
AT+GMR → 输出固件版本
AT 指令有四种写法,一开始很容易搞混:ATI 直接查、AT+XXX=? 看支持范围、AT+XXX? 看当前值、AT+XXX=<val> 下发。分清楚这个,后面调什么功能都顺手了。
LTE 入网:从现象到信令
入网是开机后的第一件事。用 ArmTracer 打开 CPLog(.tra)抓到完整 Attach 流程,顺序是这样的:
EMM_ATTACH_REQUEST
→ RRC 连接建立
→ ESM_PDN_CONNECTIVITY_REQUEST
→ EMM_IDENTITY_REQUEST / RESPONSE
→ ESM_INFORMATION_REQUEST / RESPONSE
→ EMM_ATTACH_ACCEPT // 拿到 IP 和默认承载(QCI=9)
→ EMM_ATTACH_COMPLETE
我一开始以为"连上网"就完事了,后来才搞明白 Attach 真正在干嘛:GUTI 分配、网络鉴权、默认承载建立,全在这一步。所以模组开机后要等那么几秒才能发数据,不是卡,是它在干活。
短信:三通道和 UCS2 中文短信
LTE 下的短信其实有三条路:CS 域、SGs 联合附着、IMS(SMS over IP),现在基本都走 IMS 了。
中文短信必须上 UCS2 编码,这也是为什么中文单条只能发 70 字(每字符 16 bit,140 字节 ÷ 2 = 70)。实测发一条中文:
AT+CMGF=1 → OK // 文本模式
AT+CSCS="UCS2" → OK // 切 UCS2(这步不能漏)
AT+CMGS="<对方号码>" → > // 进入输入
<中文内容> // Ctrl+Z(0x1A) 发送
+CMGS: <mr> → OK // 发送成功
我用 UCS2 发了一条"你好,曾策的测试短信",对方手机收到没乱码。能发又能懂编码,这一步才算真练到了。
语音:VoLTE 与 SIP 信令
语音现在主推 VoLTE,走 IMS 的 SIP 会话。先是 IMS 注册,再发起呼叫。
IMS 注册(SIP REGISTER):
REGISTER → 401 → REGISTER → 200 → SUBSCRIBE → NOTIFY
401 是网络要求鉴权,200 才表示注册成功。
VoLTE 主叫(SIP INVITE):
INVITE → 183 → PRACK → UPDATE → 180 RING → 200 → ACK → (通话) → CANCEL → 487 → ACK
183 做 SDP 媒体协商,180 RING 是对方振铃,200/ACK 接通后媒体流才开始,CANCEL→487→ACK 是挂断,同时 QCI=1 专用承载会被拆掉。
对比 CSFB(电路域回落)明显慢一截,VoLTE 全程在 LTE 上跑,体验完全不一样。
数据业务:ECM 拨号双栈上网
最后验证数据业务,用 ECM 方式拨号拿到 IPv4 + IPv6 双栈:
AT+CGDCONT=1,"IP","CMNET" // 配置 PDP
AT+QNETDEVCTL=3,1,1 // 触发 ECM 拨号
拨号成功后电脑拿到 IPv4(10.x)和 IPv6(2409: 开头,中国移动的前缀),直接 ping 2001:4860:4860::8888 4/4 全通。这一步把"模组真的能上网"彻底坐实了。
工具与一点心得
- QCOM:AT 调试主力,串口返回一目了然。
- ArmTracer + CPLog(.tra):看信令全靠它,Attach / IMS / VoLTE 整条链路都能抓,比对着文档死记硬背直观太多。
- 排查问题我一般按"SIM → 注网 → 承载 → 业务"一层层往下捋。
踩了两周,最大的体会是:敲 AT 命令谁都会,难的是对着信令知道模组建在哪儿卡住了。日志这东西,上手有点劝退,但真看懂了就回不去。
写在最后
上面这些截图和信令都是我自己实操抓的,难免有理解不到位的地方,欢迎拍砖。同样在折腾 EG915U 或者刚接触蜂窝模组的,可以一起交流。