В ряде случаев у пользователей GSM/GPRS оборудования возникает проблема «полного зависания» модемов. Это связано, как с устройством модема, так и с работой операторов сетей мобильной связи. Для решения проблемы применяются различные методики. В одном случае используются сторожевые таймеры (Watchdog), которые перезагружают модем через определённый промежуток времени. В других случаях используются более сложные контроллеры, которые работают совместно с ПК и перезагружают модем по заданному алгоритму.
В GSM/GPRS модулях Enfora Enabler предусмотрены широкие возможности по обработке событий c помощью встроенного программного блока «Event Processing».
Модуль может быть запрограммирован таким образом, чтобы внешние события им отслеживались, и вызывали бы определенного рода его ответные действия. Среди прочих, в качестве входных, могут быть использованы сетевые GSM/GPRS события (процесс регистрации, работа в домашней сети, роуминг, потеря регистрации).
Также для входного события можно использовать состояние пользовательских вводов выводов.
В качестве выходного события можно использовать программный перезапуск модема или команду на внешнее, исполнительное устройство, перезапускающее модем.
Одним из таких устройств может служить разработанный фирмой «Оликом» простой контроллер, который выключает и снова включает питание модема, в тех случаях когда не срабатывает программный перезапуск. Этот случай характерен для ряда операторов GSM/GPRS сетей, которые во время своих регламентных работ требуют на некоторое время обесточить SIM - карту.
Контроллер используется для работы с модемами, имеющими пользовательские GPIO вводы выводы (GSM1208, GSM1308, GSM2208, GSM2238, SL-116, SL-308). Он предназначен для мониторинга состояния GSM/GPRS модема, и жесткого перезапуска в случае «зависания».

Рис. 1. Блок-схема подключения контроллера RS01
Контроллер выявляет случаи сбоя работы модемы, отключает питание и через 5 секунд снова его включает.
Блок-схема подключения контроллера приведена на рисунке 1.
На передней панели контроллера размещен разъем Molex к которому подключается постоянное напряжение питания +5\30 В и индикаторы режим работы (рисунок 2).
На задней панели контроллера расположены кабели для подключения к разъему питания модема и к разъему с пользовательскими вводами/выводами (рисунок 3).
Габаритные размеры контроллера: 58х30х30 мм. Масса: 50 г.

Рис.2. Передняя панель контроллера RS01 - Оликом

Рис.3. Кабели для подключения контроллера RS01 к модему GSM1208 Enfora
С завода изготовителя модемы поставляются с заводской настройкой.
Для принудительного восстановления связи в случаях потери регистрации в сети GSM/GPRS нужно с помощью программы Hyper Terminal ввести в модем дополнительные настройки.
Незапрограммированный модем (с заводскими настройками) не будет работать в комплекте с контроллером!
Ниже приведены настройки, которые необходимо ввести, чтобы при потере связи модем сначала программно перезапускается, а если связь не восстановилась, то модем перезапускается через контроллер RS01.
Для ввода настроек, модем нужно подключить к ПК, согласно инструкции на GSM1208 (не подключая контроллер).
Затем нужно с помощью Hyper Terminal ввести в модем команды:
AT$EVENT=10 0 9 1 1
AT$EVENT=10 3 37 1310724 0
AT$EVENT=11 0 9 2 4
AT$EVENT=11 3 21 0 0
AT$EVENT=13 0 9 8 8
AT$EVENT=13 3 21 0 0
AT&W
Поверить настройки можно с помощью команды
AT&V
Ответ должен быть следующий:
E1 Q0 V1 X0 &C1 &D0 S0:000 S3:013 S4:010 S5:008 +CBST: 7,0,1 +FCLASS:0
+CRLP: 61,61,48,6 +CR:0 +CRC:0 +CMGF:1 +CSCS:"PCCP437" +CNMI:1,1,0,0,0
+ILRR:0 +IPR:115200 +CMEE:0 +CSMS:0,1,1,1 +CFUN:1 +CREG:0 +CGREG:0
+CLIP:0,2 +CAOC:1 +COPS:0,0 MegaFon RUS +CSNS:0 +CSSN:0,0 +CSDH:0 +CMUT:0
+COLP:0 +CPBS:"AD" +CGAUTO:3 +CGSMS:3 +CGEREP:0,0 +CGCLASS:"B"
+CSVM:0,"",129 +CGQREQ +CGQMIN
+IFC:2,2 +ICF:3 %CGAATT:0,1 %CGPPP:3 $AREG:1 $HOSTIF:0
$VGR: 22 $VGT: 7 $VLVL: 4 $VST: 0 $VSELECT: 1
$PADBLK: 512 $PADBS: 08 $PADCMD: 000b $PADDST: "000.000.000.000", 0
$PADFWD: 0d $PADSRC: 0 $PADTO: 50 $UDPAPI: "199.245.180.013", 1720
$ACTIVE: 1 $CONNTO: 60 $IDLETO: 120 $GATEWAY:000.000.000.000
$MSCLS: 8 %SLEEP: 2 %CPI: 0 %CGREG: 0 $ACKTM: 0, 0, 0
$MDMID: "353529000099045" $MSGLOGEN: 0 $PKG: 33
$EVTIM1: 0, $EVTIM2: 0, $EVTIM3: 0, $EVTIM4: 0
$WAKEUP: 0, 0 $NETMON: 0, 0, 0, 0
$IOCFG: 10111011, $IOGPA: 11111001
$EVENT: evgp evtyp evcat p1 p2
1A 0 9 2 4
1B 3 33 1 0
2A 0 9 5 5
2B 3 17 0 0
3A 0 9 0 0
3B 3 9 0 0
4A 0 9 1 1
4B 3 17 0 0
10A 0 9 1 1
10B 3 37 1310724 0
11A 0 9 2 4
11B 3 21 0 0
13A 0 9 8 8
13B 3 21 0 0
OK
AT-Command Interpreter ready
AT-Command Interpreter ready
После введения данных команд модем можно использовать совместно с контроллером RS01. Для этого нужно подключить модем к контроллеру в соответствии с рисунком 4.

Рис.4. схема подключения контроллера RS01 к модему GSM1208 Enfora
Для проверки работоспособности модема с контроллером, нужно после того , как модем зарегистрируется в сети, отключить антенну. После потери связи, через 38 сек, контроллер отключит питание и снова его включит через 5 секунд.
На экране ПК в HyperTeminal будут с периодичностью 43 сек появляться сообщения.
OK
AT-Command Interpreter ready
AT-Command Interpreter ready
Если теперь снова подключить антенну, то контроллер после восстановления связи переходит в спящий режим.
Следует отметить, что модем может работать, как с контроллером, так и без него.
Восстановить заводские настройки можно с помощью команды AT&F.