Вылезла проблема с GSM-модемом: через несколько часов работы МРВ обмен с GSM-модемом, который используется для приема/отправки SMS-сообщений прекращается. Сам МРВ продолжает работать, а обмен по COM-порту останавливается. После перезапуска МРВ (не компьютера) картина повторяется. Пробовал использовать другой COM-порт (в компьютере их 2 шт.), пробовал менять скорость порта - разницы нет. В логах никакого криминала нет. Модем используется Moxa OnCell G2110. Еще 5 подобных проектов и таких же модемов этой проблемы не имеют. С чем это может быть связано? Особенность компьютера? Глюк модема? Может есть возможность программно переинициализировать обмен МРВ с модемом?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Наиболее вероятная причина - буфер SMS-сообщений в модеме не чистится. Это определяется настройками модема, т.к. МРВ после любой SMS-транзакции дает команду на удаление принятого/переданного SMS-сообщения.
Posted by dlesnikov (Участник № / Member № 4358) on :
quote:Отправитель / Originally posted by AdAstra Technical Support: Наиболее вероятная причина - буфер SMS-сообщений в модеме не чистится. Это определяется настройками модема, т.к. МРВ после любой SMS-транзакции дает команду на удаление принятого/переданного SMS-сообщения.
За это время (от старта МРВ до прекращения обмена) МРВ может отправить разное кол-во SMS-сообщений, начиная от 0 (т.е. вообще ничего не отправлять) до где-то 50 штук. Можно ли как-либо использовать флаги COM-порта, например, "Выключить" или "Отключить от источника" периодически? Чтобы как-то инициализировать COM-порт или процесс работы с модемом? Меня бы это устроило.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. При появлении проблем с отправкой SMS-сообщений МРВ автоматически переинициализирует модем. 2. Для ренициализации COM-порта можно использовать системную переменную @RS_Reinit. 3. Для получения более полной информации с помощью профайлера можно в файл *.cnf ввести ключ GSM_LOG=7FF – степень детализации отчета по GSM- или GPRS-обмену.
Posted by dlesnikov (Участник № / Member № 4358) on :
Поймал ошибку в логе, вот его конец:
17-11-2010 6:03:02.328 INFO (GSM MODEM(+79803544038)):SMS idle period expired, try to reinitialize 17-11-2010 6:03:02.328 INFO (GSM MODEM(+79803544038)):Modem initialization started 17-11-2010 6:03:02.359 INFO (COM1):Deinitialized 17-11-2010 6:03:02.359 INFO (COM1):Initialization complete successfully 17-11-2010 6:03:03.734 INFO (GSM MODEM(+79803544038)):WAVECOM modem detected 17-11-2010 6:03:08.562 INFO (GSM MODEM(+79803544038)):Modem initialization finished 17-11-2010 6:33:09.265 INFO (GSM MODEM(+79803544038)):SMS idle period expired, try to reinitialize 17-11-2010 6:33:09.265 INFO (GSM MODEM(+79803544038)):Modem initialization started 17-11-2010 6:33:09.296 INFO (COM1):Deinitialized 17-11-2010 6:33:09.296 INFO (COM1):Initialization complete successfully 17-11-2010 6:33:10.406 INFO (GSM MODEM(+79803544038)):WAVECOM modem detected 17-11-2010 6:33:14.578 INFO (GSM MODEM(+79803544038)):Modem initialization finished 17-11-2010 7:03:15.281 INFO (GSM MODEM(+79803544038)):SMS idle period expired, try to reinitialize 17-11-2010 7:03:15.281 INFO (GSM MODEM(+79803544038)):Modem initialization started 17-11-2010 7:03:15.312 INFO (COM1):Deinitialized 17-11-2010 7:03:15.312 INFO (COM1):Initialization complete successfully 17-11-2010 7:03:16.421 INFO (GSM MODEM(+79803544038)):WAVECOM modem detected 17-11-2010 7:03:21.078 INFO (GSM MODEM(+79803544038)):Modem initialization finished 17-11-2010 8:01:07.046 INFO (GSM MODEM(+79803544038)):SMS idle period expired, try to reinitialize 17-11-2010 8:01:07.046 INFO (GSM MODEM(+79803544038)):Modem initialization started 17-11-2010 8:01:07.078 INFO (COM1):Deinitialized 17-11-2010 8:01:07.078 INFO (COM1):Initialization complete successfully 17-11-2010 8:01:08.187 INFO (GSM MODEM(+79803544038)):WAVECOM modem detected 17-11-2010 8:01:08.281 ERROR (GSM MODEM(+79803544038)):Can enter only PIN code
На строчке с текстом "Can enter only PIN code" обмен с модемом прекращается. До этого примерно 36 часов работал нормально...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Согласно коду последнее сообщение означает, что модем запросил какую-то информацию помимо PIN-кода, которой у МРВ нет. Мы ожидали, что при задании GSM_LOG=7FF в протоколе профайлера будут и AT-коды, по которым можно было восстановить ситуацию. (Вы действительно задали именно такой ключ?) Если этого не получается, можно использовать PortMon для получения текстового протокола транзакций с AT-кодами.
Posted by dlesnikov (Участник № / Member № 4358) on :
GSM_LOG=7FF прописал, dll-ку заменил, AT-команды пишутся. Буду ждать "зависания" обмена...
Posted by dlesnikov (Участник № / Member № 4358) on :
Продолжение истории. С включенным расширенным логом (GSM_LOG=7FF) проблема не проявляется. Ждал две недели, все работает. Как только выключил детальный лог, схватил глюк через ~30 минут. Включил лог, опять все работает, только места на диске он съедает негуманно - 8,5Гб за две недели. Немного уточнение по первому моему посту - проблема возникает со всеми модемами, просто МРВ раньше так долго не работал без падения (по причине SNMP).
Что посоветуете делать дальше?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы надеялись получить дополнительную информацию по AT-командам, чтобы понять, какие данные требует модем в конфликтной ситуации. Теперь складывается впечатление, что в этой конкретной аппаратной конфигурации модем чувствителен к временной диаграмме принимаемых им AT-команд. Ведение файлового протокола несколько замедляет трафик COM-порта и, видимо, модем более точно воспринимает и исполняет команды. К сожалению, наши надежды на более полную локализацию проблемы не оправдались.
Посылаю Вам несколько модифицированный программный модуль, который, по нашим предположениям, должен исправить ситуацию.
Posted by dlesnikov (Участник № / Member № 4358) on :
quote:Отправитель / Originally posted by AdAstra Technical Support: Посылаю Вам несколько модифицированный программный модуль, который, по нашим предположениям, должен исправить ситуацию.
Пока с этим модулем uptime системы 5 суток, что очень хорошо. До этого было максимум 6 часов...