Три фикса из одного живого инцидента: SIM7100E ночью свалился с LTE на EGSM 900, карточка показывала бессмысленный «B-86», а сторож, решив что это лимит оператора, остановил лечение навсегда.
SIMCom: честный 2G вместо «B-86»
Разбор AT+CPSI? теперь различает системы. Раньше LTE-раскладка колонок применялась к любой строке, и на GSM уровень сигнала (−86 dBm) попадал в номер диапазона. Теперь 2G показывается как есть — «GSM | EGSM 900» с RSSI, LAC и Cell ID; телеметрия отдаёт mode:"2G".
Сторож: падение в 2G — это отказ, а не лимит оператора
Вердикт «адрес есть, трафика нет — похоже на ограничение оператора» больше не срабатывает, когда модем сидит на GSM/EDGE: там данных нет по природе, и правильное действие — лечить (перезагрузка модуля возвращает LTE), а не останавливаться.
Сторож: не мешать модему искать сеть
Перед тяжёлыми ступенями лечения (перезагрузка модуля, питание USB) лестница спрашивает у модема состояние регистрации — и если тот в активном поиске сети, откладывает попытку, не сжигая её. Раньше перезагрузка посреди сканирования отбрасывала регистрацию в начало, и на слабом сигнале лестница сама не давала модему зарегистрироваться. Потолок ожидания — 12 минут: вечный поиск лечится как обычно.
Всё воспроизведено и проверено на живом модеме.