4G模块(USR-402tf)一般的AT命令超时时长为30秒,发送短信的超时时长为60秒。在发送超时后,可以使用AT命令中的AT来判断设备是否正常。
问题分析:
1)4G模块发送超时的AT命令+CGATT=1(附着)会执行4次重发,重发间隔15秒,最坏需要75秒才能回应最终响应;+CGATT不会被其它AT命令中断,即使在75秒超时返回ERROR后,终端还会继续重复尝试附着过程。
2) 在4G模块发送+CGATT=1成功后,+CGACT=1(激活PDP)也会执行4次重发,重发间隔30秒,最坏需要150秒才能最终响应。+CGACT可以被中断,以及时响应用户的其它命令。建议的超时时间40-90秒,保证至少有一次PDP重发的机会。
3) +CGACT=1可以附带启动附着过程(如果还没有完成附着),这样最坏的情况下需要225秒,4G模块才能收到响应。建议的流程是首先发送+CGATT=1,成功后再发送+CGACT=1,这样可以灵活的分配超时时间,出现问题也方便定位。
4)在+CGACT=1成功后,+ZGACT实际是个本地命令主要是通知OS网卡已经UP, OS启动DHCP请求IP地址,DNS等。这个过程在30秒内可以完成。
典型示例:
当前的4G模块拨号流程是先 CGACT 激活,然后下发 ZGACT 拨号,设备经过 34S 拨号成功,但 GUI 已超时(20 秒)失败。后来将 PC 侧拨号超时设置为 40 秒。40S 的时间可以保证 TDG 在恶劣场景下可能有一次 PDP 激活重发的机会。 40 秒的时间与中移 G3 随 e 行的 30 秒接近,用户体验影响不大。CPE 情况不同,建议超时时间可以更长,否则中断了 PDP 激活,接下来还是要发送+CGACT=1 激活 PDP,不如让设备自动重发激活 PDP。