Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сбой связи после неоднократных дозвонов на модуль SIM300C
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Pat
Уважаемые здравствуйте.

Сижу вот отлаживаю модуль SIM300C
Украина.
В SIM300C установлена карточка МТС.
Звоню на модуль с телефона, в котором тоже установлен МТС, модуль по звонку чего то там делает и отбивает звонок.
Час ночи, перестают проходить звонки на модуль, мой телефон просто пикает и отключается.
Звоню на модуль с телефона, в котором, установлена карточка Киев Стар, телефон пишет сбой связи.
Если звонить с телефона на телефон то все проходит.

Вчера было тоже самое, после некоторого количества звонков (или тоже после часа ночи).

Что же это такое может быть?
Оператор что ли обрубает, типа иди спать.
Подскажите, если кто с подобным сталкивался.

Звонков было не так и много 30-40.
=F8=
Думаю с модулем это никак не связано, скорей всего проблемы у оператора. Ограничений по количеству звонков у МТС не замечал, а вот качество связи у МТС последнее время ниже бордюра. Если проблема возникает именно ночью можно предположить, что ведутся какие-то работы на соте.
А состояние модуля у вас как-то контролируется? Не то, чтоб СИМ300 часто зависал но на всякий случай это делать надо. А если надежность связи критична то лучше использовать резервную сим-карту другого оператора.
Pat
Цитата(=F8= @ Sep 11 2009, 07:10) *
А состояние модуля у вас как-то контролируется? Не то, чтоб СИМ300 часто зависал но на всякий случай это делать надо. А если надежность связи критична то лучше использовать резервную сим-карту другого оператора.


Состояние модуля я в тот момент не проверял так как он у меня на столе лежит.
Я его полностью обесточивал, он прекрасно регистрируется в сети. Причем делал это неоднократно.
Вот с утра встал, проверяю все работает, сейчас считаю звонки на него и буду ждать часа ночи, нужно выяснить закономерность это или совпадение rolleyes.gif

По ходу вопрос а как вы проверяете состояние модуля?

У меня на данном этапе сделан примерно следующий алгоритм.
В модуль идет AT команда я читаю ЭХО.
если эха нет то повторный запрос до 5 раз.
Нет ответа отключаем модуль и снимаем с него питание (переинициализация).

ЭХО есть но нет ответа на команду которую ждем в течении тайм аута (для каждый АТ команды можно установить свой тайм аут).
Тайм аут закончился повторные запросы 5 раз и в случае неудачи переинициализация.
Это как бы низкий уровень.

Уровень чуть выше пока не придумал (нужно форум почитать).
Но думаю что периодически, в режиме ожидания буду посылать некий набор АТ команд в модуль и ловить ответ.
Наверное нужно смотреть на команды связанные с уровнем сигнала от соты.
etoja
Цитата(Pat @ Sep 11 2009, 02:47) *
Вчера было тоже самое, после некоторого количества звонков (или тоже после часа ночи).
Что же это такое может быть?


Да программа в вашем микроконтроллере виснет, всего-то и делов.
=F8=
Цитата(Pat @ Sep 11 2009, 09:15) *
По ходу вопрос а как вы проверяете состояние модуля?

У меня на данном этапе сделан примерно следующий алгоритм.
В модуль идет AT команда я читаю ЭХО.
если эха нет то повторный запрос до 5 раз.
Нет ответа отключаем модуль и снимаем с него питание (переинициализация).


Как минимум
AT+CREG? //Регистрация в сети
AT+CSQ //Уровень сигнала

Если планируется передача данных по GPRS нужно добавить проверку
AT+CGREG?
AT+CGATT?

Просто AT необязательно т.к. если пройдут это команды то и AT тоже пройдет. Между командами делаю паузу около 50-100мс, но это больше по принципу "хуже не будет".

Если имеются какие-то специфические настройки вроде то периодически их повторяю.
Pat
Цитата(etoja @ Sep 11 2009, 08:36) *
Да программа в вашем микроконтроллере виснет, всего-то и делов.

Не виснет я под отладчиком гоняю и вижу чего он там вытворяет, да и причем тут программа если модуль сам по себе работает.

Цитата(=F8= @ Sep 11 2009, 12:03) *
Как минимум
Просто AT необязательно т.к. если пройдут это команды то и AT тоже пройдет. Между командами делаю паузу около 50-100мс, но это больше по принципу "хуже не будет".


АТ я имел в виду АТ+***
Вот пауза обязательна ибо уже нарвался на клина после некоторых команд нельзя сразу ничего писать.
Pat
Цитата(=F8= @ Sep 11 2009, 12:03) *
Как минимум
AT+CREG? //Регистрация в сети
AT+CSQ //Уровень сигнала


Да вот задумался я.
Допустим проверил AT+CREG? если зарегистрированы работаем дальше, а вот что делать если нет?

С уровнем сигнала еще более непонятно
Если уровень слабый то совсем на связь не выходим, или пытаемся дозвониться в случае тревоги и
какое значение уровня считать слабым?
Harbinger
Цитата(Pat @ Sep 14 2009, 20:37) *
Допустим проверил AT+CREG? если зарегистрированы работаем дальше, а вот что делать если нет?

AT+COPS=0 - принудительная регистрация в домашней сети...
Ждать порой приходится несколько минут, если регистрация не прошла (обычно таки не проходит, т.к. причина физического характера), будет некий +CME ERROR, придётся уже с ним работать... это довольно стрёмный момент. После подачи команды на принудительную регистрацию модуль будет ругаться занятостью (+CME ERROR:515) на всякий чих...
Pat
Цитата(Harbinger @ Sep 14 2009, 20:52) *
AT+COPS=0 - принудительная регистрация в домашней сети...
Ждать порой приходится несколько минут, если регистрация не прошла (обычно таки не проходит, т.к. причина физического характера), будет некий +CME ERROR, придётся уже с ним работать... это довольно стрёмный момент.


Вот про этот стремный момент и хотелось бы услышать.
Что делать может стоит отключать питание модуля и перезапускать инициализацию в надежде что регистрация не прошла по причине
внутреннего глюка SIM300

Цитата(Harbinger @ Sep 14 2009, 20:52) *
После подачи команды на принудительную регистрацию модуль будет ругаться занятостью (+CME ERROR:515) на всякий чих...


Ругаться на всякий чих... в процессе ожидания регистрации по AT+COPS=0 или постоянно и после того как регистрация прошла.
Harbinger
Цитата(Pat @ Sep 14 2009, 22:07) *
Ругаться на всякий чих... в процессе ожидания регистрации по AT+COPS=0 или постоянно и после того как регистрация прошла.
В процессе. Занят, мол, не мешай. wink.gif У вейвкомовских модулей для такого случая (если надоело ждать) есть команда AT+WAC (отмена предыдущей команды), единственная, на которую модуль скажет ОК и снова станет слушаться; может, и у Симкома что-то аналогичное имеется, сейчас талмуда под рукой нет...
HARMHARM
Цитата(Pat @ Sep 14 2009, 20:37) *
Допустим проверил AT+CREG? если зарегистрированы работаем дальше, а вот что делать если нет?

Я делаю перезагрузку с отключением питания раз минут в пять. Раз нет регистрации, то нет и лишнего расхода счетчика в симке...
=F8=
Цитата(Pat @ Sep 14 2009, 20:37) *
Да вот задумался я.
Допустим проверил AT+CREG? если зарегистрированы работаем дальше, а вот что делать если нет?


Перезагружать модуль, все равно этим все и кончится. Сначала попытаться сделать это корректно, если не получается - отключить питание. Количество выполняемых подряд перезагрузок лучше ограничить. Если зарегистрироваться в сети, после нескольких перезагрузок, все равно не удается - заморгать всеми красными лампочками какие есть smile.gif.

Цитата
С уровнем сигнала еще более непонятно
Если уровень слабый то совсем на связь не выходим, или пытаемся дозвониться в случае тревоги и
какое значение уровня считать слабым?


1 Просто выдать уровень сигнала пользователю и пусть он сам решает, что делать.
2 То-же что и с CREG, только подождать несколько минут - может уровень сигнала сам восстановиться.
3 Комбинация вариантов 1 и 2. Постоянно выдаем уровень сигнала и если он очень низкий в течении длительного времени - перезагружаемся.

PS Я в своих девайсах перезагрузку по низкому уровню сигнала не делаю, несколько раз пробовал сделать такое, но стабильности в работе это не добавило. Делал также проверку работоспособности с попмощью периодической отправки USSD запросов - тоже особо ничего не дало. В общем если модуль и сота в порядке то и проверки регистрации достаточно если нет то как не извращайся... Только индикация уровня сигнала обязательна, а то юзеры они такие - поставят девайс в подвале без выносной антенны и удивляются чего оно не работает...
Harbinger
Цитата(=F8= @ Sep 15 2009, 08:41) *
Только индикация уровня сигнала обязательна, а то юзеры они такие - поставят девайс в подвале без выносной антенны и удивляются чего оно не работает...
Это ещё хорошие юзеры. smile.gif Некоторые антенный кабель коротят, или по питанию 220 шваркнут, были случаи и с серной кислотой... девайс такой, что не позволяет им воровать...
Pat
Спасибо всем, я тоже думал зачем принудительное его регистрировать если лучше перезапустить.

Есть следующий вопрос по начальным установкам.
У меня пока сделано так
1) Включаем питание и проверяем корректность
2) Подаем команду AT для настройки автобоундинга
3) Спрашиваем какая скорость UART установлена AT+IPR?
Если 19200 то работаем дальше если стоит автоопределение то AT+IPR=19200 и AT&W0
4) По рекомендациям форума если карточка тормознутая (не знаю правда с чего ей быть тормознутой но раз народ на грабли наступал то)
AT+CPMS=\"SM\",\"SM\",\"SM с последующем ожиданием корректного ответа
5) Устанавливаем текущую память SIM AT+CPBS=\"SM\"
6) Считываем из SIM карты настройки AT+CPBR=
7) Для дальнейшей работы AT+COLP=1

После чего переходим в основной режим работы

Если на любом шаге пошло что то не так, делаем несколько перепосылок команды и в случае неудачи переинициализация.

Подскажите что сюда еще можно (нужно) добавить?

GPRS не будет использоваться а до SMS еще не дошел ход.

Цитата(HARMHARM @ Sep 15 2009, 07:15) *
Я делаю перезагрузку с отключением питания раз минут в пять. Раз нет регистрации, то нет и лишнего расхода счетчика в симке...


Поясните пожалуйста что такое - "лишний расход счетчика в симке"

И еще вопрос smile.gif Сейчас работаю с SIM300C в конечном устройстве планируется поставить SIM300D
как с вопросом совместимости глюков и команд этих модулей.
=F8=
2 замечания.
1 По возможности используйте скорость 115200.
2 Настройки лучше хранить в еепром. Но это ИМХО.

Цитата
Поясните пожалуйста что такое - "лишний расход счетчика в симке"


Сим карта имеет счетчик на включения и после определенного количества(что-то порядка 50000) запусков...
Так-что с перезагрузками лучше не перегибать палку.
Pat
Цитата(=F8= @ Sep 15 2009, 11:58) *
2 замечания.
1 По возможности используйте скорость 115200.
Сим карта имеет счетчик на включения и после определенного количества(что-то порядка 50000) запусков...
Так-что с перезагрузками лучше не перегибать палку.


А по какой причине скорость 115200 лучше?
Master of Nature
Цитата(Pat @ Sep 16 2009, 21:44) *
А по какой причине скорость 115200 лучше?

Скорее для того, чтобы меньше было мороки с первоначальной настройкой.
При первоначальной настройке одной из партий модемов столкнулся такой особенностью: несмотря на то, что установлено автоопределение скорости, модуль согласился начать общение только на скорости 115200. После этого командой AT+IPR модем удалось перевести на нужную скорость.
Pat
Цитата(Master of Nature @ Sep 17 2009, 15:07) *
Скорее для того, чтобы меньше было мороки с первоначальной настройкой.
При первоначальной настройке одной из партий модемов столкнулся такой особенностью: несмотря на то, что установлено автоопределение скорости, модуль согласился начать общение только на скорости 115200. После этого командой AT+IPR модем удалось перевести на нужную скорость.


Да это есть, тоже приходится по нескольку раз AT передавать, если модуль стоит в автобоундинге, причем нужно хорошую задержку делать между
посылками экспериментально установлено (вернее у меня получилось так)
AT->ждем 5 секунд или OK если нет OK снова AT
Иногда сразу цепляется иногда раза с третьего.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.