Skip to content

v4.0.5 — 泰文 DCS=0 误标修复 + BOOT 15s 回归

Choose a tag to compare

@xiangwhy xiangwhy released this 18 Jun 02:25

修复

  • task #37: 泰文 DCS=0 误标 — 部分运营商/网关对非 ASCII 短信使用 DCS=0(GSM 7-bit default)发送,但实际内容是 UCS-2 BE(如泰文 0E23 0E2B 0E31...)。现在 raw body sniff(高字节落在 BMP 高频区 + 至少 4 对字符 / 80% 命中)会强制走 UCS-2 解码,不再乱码 ÅF8Xb!øì*…
  • 7-bit UDH 长短信 — 已用 4 段 UDH 实测:Keep this code secure ...(English, ref 0, total 4, seq 1-4) → 推送成功。
  • DCS 表对齐 gammu GSM_GetMessageCoding — 0xC0/0xD0 (MWI GSM7)、0xF8-0xFB (8-bit) 修正,严格走 3GPP TS 23.040 §9.2.3.10。
  • BOOT_HOLD_MS 60000 → 15000 — 长按 15s 即可清 NVS(回归原设定)。
  • snprintf BUG — AP SSID 拼接格式串残留 %02X%02X%02X 但只剩 AP_SSID_PREFIX 一个参数,导致编译警告 + 不可预期 SSID。已修。

已知问题

  • 字母数字 sender(+CMT: "True App")的 4 段以上 UDH 拼接,可能丢段。手机号 sender 稳定。
  • RNDIS 4G 上网: v4.0.3 已禁用死路径,本版本不变。

重要:首次使用请 web 配网

固件默认 WiFi/token 改为占位符 YOUR_WIFI_SSID / YOUR_WIFI_PASS / YOUR_PUSHPLUS_TOKEN,首次烧录后必须走 AP 配网页面(SMS-Forwarder-XXXXXX,密码 12345678,192.168.4.1)填写真实凭据。

如 NVS 已有配置(OTA 升级场景),配置直接保留,无需重新配网。

验证

  • C++ host test: 45/45 pass(tests/host/,绑定 pdu_codec.cpp 生产代码)
  • 实机: 4G CMT (泰文 DCS=0 + 英文 7-bit UDH 4 段) + pushplus + AP 配网

资产

文件 SHA-256
v4.0.5.factory.bin fc70ba53d995a4661ff7663a168eb8b7a26047ffbe5121bd658d865083b06c65

构建来源

  • Commit: 38f79fada13b1a4c5f36e1504991927b40a3050e
  • 平台: pioarduino 55.03.39 (IDF 5.5 + Arduino-ESP32 3.x)
  • Flash size: 1,131,799 bytes (28.3% of 4MB app partition)