V1.5: 修复OTA承载激活概率性失败(SAPBR前增加等待网络附着cat_wait_cgatt_attached(30))

This commit is contained in:
helei 2026-08-18 16:13:38 +08:00
parent 71fd432f87
commit 03c7f96581
2 changed files with 7 additions and 0 deletions

View File

@ -583,6 +583,11 @@ static void air780e_trigger_ota_body(const char *host, int port, const char *pat
if(r==0)return; if(r==0)return;
if(air780e_send_at("AT+CSQ","OK",3000)!=0)return; if(air780e_send_at("AT+CSQ","OK",3000)!=0)return;
/* 模组 OTA 入口刚复位过,必须先等网络重新附着(CATT=1)再激活承载,
* (/) SAPBR=1,1 (S3) */
log_info("> OTA: 等待网络附着...");
if (cat_wait_cgatt_attached(30) != 0) { log_warn("> OTA: 附着超时"); return; }
log_info("> SAPBR..."); log_info("> SAPBR...");
if(air780e_send_at("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"","OK",3000)!=0){log_info("> S1");return;} if(air780e_send_at("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"","OK",3000)!=0){log_info("> S1");return;}
if(air780e_send_at("AT+SAPBR=3,1,\"APN\",\"\"","OK",3000)!=0){log_info("> S2");return;} if(air780e_send_at("AT+SAPBR=3,1,\"APN\",\"\"","OK",3000)!=0){log_info("> S2");return;}

View File

@ -145,3 +145,5 @@
- 修复 4G OTA 失败后"假死"(平台不可控/无法再 OTAOTA 入口会复位 4G 模组MQTT 已断但 - 修复 4G OTA 失败后"假死"(平台不可控/无法再 OTAOTA 入口会复位 4G 模组MQTT 已断但
ready 标志未清S1~S4 等前置失败退出后设备假在线。现改为任何 OTA 失败路径退出后 ready 标志未清S1~S4 等前置失败退出后设备假在线。现改为任何 OTA 失败路径退出后
标记原因(RSN_OTA_FAIL "OTA失败中止")并主动复位,重启走干净 4G 初始化恢复联网 标记原因(RSN_OTA_FAIL "OTA失败中止")并主动复位,重启走干净 4G 初始化恢复联网
- 修复 OTA 的 SAPBR 激活承载概率性失败OTA 入口复位模组后未等网络重新附着(CATT)就
激活承载,注册慢时必失败。现 CSQ 后加 cat_wait_cgatt_attached(30),附着成功才走 SAPBR