Роутер не выполняет команды, отправленные через SMS
Проблема:
После установки SIM-карты в роутер на нее могут приходить различные служебные SMS от оператора. За время эксплуатации большое количество таких SMS заполняет память на устройстве, так как до тех пор, пока не включена обработка команд через SMS, роутер не будет очищать от них память.
Решение:
Для удаления "старых" SMS нужно выполнить несколько действий:
-
Настроить роутер для выхода в интернет.
-
Зайти на роутер через telnet / ssh, подключив его к компьютеру.
-
Выполнить поочередно следующие команды:
talk -t /dev/ttyMODEM1_AUX -c +cmgf=1 talk -t /dev/ttyMODEM1_AUX -c +cmgd=1,4 -
Чтобы убедиться, что память очищена, нужно проверить наличие SMS:
В зависимости от сотового модуля, установленного в устройстве, команды на этом этапе будут различаться. Информацию об установленном сотовом модуле можно узнать в веб-интерфейсе роутера, раздел Network → Mobile Interfaces или в консоли командой cat /tmp/sysinfo/modem -
SIMCOM
talk -t /dev/ttyMODEM1_AUX -c +cmgl=all -
Quectel EC25Е
talk -t /dev/ttyMODEM1_AUX -c +cmgl all -
Quectel EC200A
Оба варианта:
talk -t /dev/ttyMODEM1_AUX -c +cmgl=all или talk -t /dev/ttyMODEM1_AUX -c +cmgl all
-
Если после выполнения команды в терминале ничего не отобразится - память очищена. В противном случае повторить пп.1-4.
Проверка
Чтобы проверить, как роутер отрабатывает SMS команды, необходимо:
-
Зайти в веб-интерфейс роутера в раздел Service → SMS → Command over SMS.
-
Включить галочку Enable.
-
В поле Message написать текст входящей SMS-команды.
-
В поле Command указать полный путь до служебной команды: /sbin/reboot.
-
Указать номер телефона.
-
Сохранить.
В данном случае роутер должен будет перезагрузиться, после получения соответствующей SMS.
При включении этой опции демон smrd проверяет наличие входящего SMS сообщения раз в минуту.
Скрипт обработки SMS будет автоматически удалять ее перед выполнением.