
做 LoRaWAN 设备接入最怕的往往不是信号差而是设备明明活着却突然不出声。我前段时间调一批 STM32WL 节点用的是 STM32CubeWL 中间件 2.5.0MAC 版本 1.0.4频段 AU915。接入 ChirpStack v4 联调时入网上行都正常但只要 ChirpStack 下发的 LinkADRReq 一到节点就“冻结”后续上行彻底没有服务器侧只能看到最后一次上报。同一个固件切到 TTN 后跑了两周都没有复现典型的“服务器差异”问题。后来逐层抓到 MAC 命令、再翻 ST 协议栈源码才搞明白不是射频不是天线是 ADR 状态机在接收非法信道掩码后把自己锁住了。这篇文章把全过程和一个可复现的排查路径记录下来适合正在做 STM32WL LoRaWAN 接入尤其是 AU915 频段并且设备要同时兼容 ChirpStack 和 TTN 的工程师参考。1. 问题现场设备不挂就是不出声1.1 复现条件与固件背景先说硬件和软件环境因为这个问题的复现对版本极其敏感。主板基于 STM32WL55射频部分直接使用芯片内置的 SX126x radio没有外挂 PA。固件用 STM32CubeIDELoRaWAN Middleware 版本 2.5.0协议栈版本 1.0.4频段配置为 AU915。入网使用 OTAADevEUI、JoinEUI、AppKey 都正常。ChirpStack 版本是 v4.3.1网关通过 UDP Packet Forwarder 接入频点从 915.2MHz 开始信道规划也选了 AU915。TTN 那边用的是同一台网关、同一套设备只是在 TTN Console 里重新注册了设备所以射频链路本身