реклама на сайте
подробности

 
 
> <AT+CIICR> + <RING> + <SIM300C> = ГЛЮК, Модем странно себя ведёт
david_off
сообщение Nov 4 2008, 18:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 15-10-08
Из: Одесса, Украина
Пользователь №: 40 978



В своем посте "Краткий курс по TCP/IP" я писал про три чудо команды AT+CSTT, AT+CIICR, AT+CIFSF и про глючно работающую AT+CIPSHUT.

На горьком опыте убедился, что одна из чудо команд так же имеет особенность. Заметил, что если после посылки AT+CIICR поступает входящий звонок, то модем:
1) в упор отказывается присылать ответ на AT+CIICR, пока есть входящий звонок
2) пока есть входящий звонок - лезут сообщения RING, а любые команды посылаемые модему игнорируются.

Получается, что если кто-то дозвонился после посылки команды AT+CIICR и до приёма ответа на эту команду - то надо ждать пока на той стороне положат трубку. На нашей стороне нельзя ни отклонить ни принять звонок.

Отдалённо я понимаю, что эти модемы не мультизадачны, но должен же быть какой-то выход из этой ситуации?
Может хотя бы можно поставить ограничение на количество RING, после которых, если трубка не снимается, то модем сам выполняет ATH. Это конечно не решает проблему, но хотя бы сокращает время "зависания" модема.


Для лучшего понимания приведу лог. Лог реальный! CTRL+C, CTRL+V из окна терминала (кроме коментов кончено):

AT+CSTT="WWW.UMC.UA"
OK
AT+CIICR
RING
RING //в этот момент посылаю ATH первый раз
RING //в этот момент посылаю ATH второй раз
RING
RING
RING
NO CARRIER //положил на другой стороне трубку
+PDP: DEACT //модем ожил и вспомнил, что выполняет команду CIICR
ATH //получаю эхо на посланную первый раз ATH
ERROR //ответ на первый ATH
ATH //получаю эхо на посланную второй раз ATH
OK //ответ на второй ATH

Сообщение отредактировал david_off - Nov 4 2008, 19:00
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
david_off
сообщение Nov 4 2008, 19:29
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 15-10-08
Из: Одесса, Украина
Пользователь №: 40 978



Тихо сам с собой веду беседу...
Нашёл регистр S7. В нём хранится значение в секундах, которое вызывающий модуль будет ждать до установления связи. По его истечению он перестаёт пытаться дозвонится и выдаёт команду NO ANSWER. Штука почти что надо, только она не совсем корректно работает при разной нагрузке на сеть.
Если бы найти что-то подобное для случая, когда поступает входящий звонок и можно регулировать время приёма сообщений RING до автоматической посылки команды ATH, то было бы лучше.

Сообщение отредактировал david_off - Nov 4 2008, 19:30
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Nov 4 2008, 21:52
Сообщение #3





Guests






Цитата(david_off @ Nov 4 2008, 22:29) *
Если бы найти что-то подобное для случая, когда поступает входящий звонок и можно регулировать время приёма сообщений RING до автоматической посылки команды ATH, то было бы лучше.

Попробуйте при получении RING, вместо ATH, использовать команду ATA (ответ другому модему). Далее - сразу же прервать связь и, тем самым, отключить звонящего. (По моему цель такая?). В регистре S1 находится текущий счетчик звонков (количество принятых RING-ов). Можете воспользоваться, если хотите ответить не сразу. Еще режим автоответа можно попробовать задействовать для решения Вашей проблемы...
По моему скромному мнения, Вам нужно для начала основательно разобраться с работой обычного, стандартного модема. Далее - изучить дополнительные особенности вашего модема (модуля), потом - сети, с которой работаете. Вы, почему-то, движетесь строго с "противоположного конца". Отсюда - и большинство проблем...
Go to the top of the page
 
+Quote Post
david_off
сообщение Nov 4 2008, 22:18
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 15-10-08
Из: Одесса, Украина
Пользователь №: 40 978



Цитата(@Ark @ Nov 5 2008, 01:52) *
Попробуйте при получении RING, вместо ATH, использовать команду ATA


Я же говорю, что ни одна команда модемом не воспринимается в этот момент. Ни ATA ни ATH. По логу видно, что модем даже эхо не выдаёт, пока на той стороне не положат трубку.

Цитата
В регистре S1 находится текущий счетчик звонков

В моём модеме нет такого регистра. Проверял ATS1? - выдает ERROR. AT&V - показывает S0, S2, S3...
Кроме того, даже если бы было, то всё равно наврядли помогло бы. Модем НЕ РЕАГИРУЕТ ни на какие посылаемые ему команды.

Цитата
По моему скромному мнения, Вам нужно для начала основательно разобраться с работой обычного, стандартного модема. Далее - изучить дополнительные особенности вашего модема (модуля), потом - сети, с которой работаете. Вы, почему-то, движетесь строго с "противоположного конца". Отсюда - и большинство проблем...

Спорить с вами не буду. Убедился, что у Вас опыта побольше будет. Но помоему эта фраза не очень к месту относительно данной темы. Со всеми аспектами касательно данного вопроса я разобрался. Моя же проблема возникла не из-за недостатка знания, а из-за БАГА-ФИЧИ конкретного модема. Её решение ИМХО может быть только каким-то недокументированным способом. А может она вообще не решаема.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 04:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.02564 секунд с 7
ELECTRONIX ©2004-2016