Полезные скрипты для работы с 3-G модемами
В данном посте рассматриваются скрипты, необходимость в которых возникает при определенных, нестандартных конфигурациях оборудования.
----------------------------------------------------------------------------
I. Скрипт сброса модема для корректной программной перезагрузки
----------------------------------------------------------------------------
Этот скрипт необходим для модемов с системой EVDO (2 и 3 типов -
но с реальной флешь на модеме). Особенность таких модемов при командной перезагрузке - модем сохраняет свое состояние (модем), однако
usb_modeswitch в связке с
insmod usbserial ... корректно обработать модем уже не могут. В результате для получения дозвона необходимо перезагружать роутер из сети.
Порядок действий:
1) Задействуем
usb_modeswitch командно со сбросом USB-устройства. Синтаксис:
usb_modeswitch -v VENDOR -p PRODUCT -R 1
где:
VENDOR - DefaultVendor
PRODUCT - DefaultProduct -
Для модемов 2-го типа (без смены ID)
VENDOR - TargetVendor
PRODUCT - TargetProduct -
Для модемов 3-го типа (со сменой ID)
Рассмотрим действие этой команды на примере
ZTE AC8710 ("чистый"):
usb_modeswitch -v 0x19d2 -p 0xffff -R 1
Смотрим ответ в окне Telnet:
Код:
[admin@(none) root]$ usb_modeswitch -v 0x19d2 -p 0xffff -R 1
* usb_modeswitch: tool for controlling "flip flop" mode USB devices
* Version 0.9.7 (C) Josua Dietze 2009
* Works with libusb 0.1.12 and probably other versions
Looking for default devices ...
Found default devices (1)
Prepare switching, accessing device 002 on bus 001 ...
Resetting usb device .
OK, device was reset
-> Run lsusb to note any changes. Bye
После этого при перезагрузке роутера по команде
reboot модем будет нормально обрабатываться скриптом автозапуска.
2) Вписываем нашу команду в
/usr/local/sbin/pre-shutdown
Содержимое скрипта:
Код:
#!/bin/sh
echo "Pre-shutdown : Script started" >> /usr/tmp/syslog.log
usb_modeswitch -v VENDOR -p PRODUCT -R 1
sleep 15
echo "Pre-shutdown : Reset continue" >> /usr/tmp/syslog.log
Сохраняем, задаем права на выполнения и флешируем:
:w /tmp/local/sbin/pre-shutdown
:q
chmod 755 /tmp/local/sbin/pre-shutdown
flashfs save && flashfs commit && flashfs enable
PS: В связи с введением закрытия суточной сессии у провайдера PeopleNet продолжению в скором будущем следует быть