|
<AT+CIICR> + <RING> + <SIM300C> = ГЛЮК, Модем странно себя ведёт |
|
|
|
Nov 4 2008, 18:18
|
Участник

Группа: Новичок
Сообщений: 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 //модем ожил и вспомнил, что выполняет команду CIICRATH //получаю эхо на посланную первый раз ATHERROR //ответ на первый ATHATH //получаю эхо на посланную второй раз ATHOK //ответ на второй ATH
Сообщение отредактировал david_off - Nov 4 2008, 19:00
|
|
|
|
|
 |
Ответов
|
Nov 4 2008, 19:29
|
Участник

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

|
Тихо сам с собой веду беседу... Нашёл регистр S7. В нём хранится значение в секундах, которое вызывающий модуль будет ждать до установления связи. По его истечению он перестаёт пытаться дозвонится и выдаёт команду NO ANSWER. Штука почти что надо, только она не совсем корректно работает при разной нагрузке на сеть. Если бы найти что-то подобное для случая, когда поступает входящий звонок и можно регулировать время приёма сообщений RING до автоматической посылки команды ATH, то было бы лучше.
Сообщение отредактировал david_off - Nov 4 2008, 19:30
|
|
|
|
Guest_@Ark_*
|
Nov 4 2008, 21:52
|
Guests

|
Цитата(david_off @ Nov 4 2008, 22:29)  Если бы найти что-то подобное для случая, когда поступает входящий звонок и можно регулировать время приёма сообщений RING до автоматической посылки команды ATH, то было бы лучше. Попробуйте при получении RING, вместо ATH, использовать команду ATA (ответ другому модему). Далее - сразу же прервать связь и, тем самым, отключить звонящего. (По моему цель такая?). В регистре S1 находится текущий счетчик звонков (количество принятых RING-ов). Можете воспользоваться, если хотите ответить не сразу. Еще режим автоответа можно попробовать задействовать для решения Вашей проблемы... По моему скромному мнения, Вам нужно для начала основательно разобраться с работой обычного, стандартного модема. Далее - изучить дополнительные особенности вашего модема (модуля), потом - сети, с которой работаете. Вы, почему-то, движетесь строго с "противоположного конца". Отсюда - и большинство проблем...
|
|
|
|
|
Nov 4 2008, 22:18
|
Участник

Группа: Новичок
Сообщений: 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... Кроме того, даже если бы было, то всё равно наврядли помогло бы. Модем НЕ РЕАГИРУЕТ ни на какие посылаемые ему команды. Цитата По моему скромному мнения, Вам нужно для начала основательно разобраться с работой обычного, стандартного модема. Далее - изучить дополнительные особенности вашего модема (модуля), потом - сети, с которой работаете. Вы, почему-то, движетесь строго с "противоположного конца". Отсюда - и большинство проблем... Спорить с вами не буду. Убедился, что у Вас опыта побольше будет. Но помоему эта фраза не очень к месту относительно данной темы. Со всеми аспектами касательно данного вопроса я разобрался. Моя же проблема возникла не из-за недостатка знания, а из-за БАГА-ФИЧИ конкретного модема. Её решение ИМХО может быть только каким-то недокументированным способом. А может она вообще не решаема.
|
|
|
|
Сообщений в этой теме
david_off <AT+CIICR> + <RING> + <SIM300C> = ГЛЮК Nov 4 2008, 18:18   @Ark Цитата(david_off @ Nov 5 2008, 01:18) Я ж... Nov 4 2008, 22:35    david_off Проверил ваше предложение. Пришёл к выводу, что пр... Nov 5 2008, 09:18 Baser Есть парочка соображений:
- конечно, SIM300 являе... Nov 5 2008, 21:51 david_off Цитата(Baser @ Nov 6 2008, 01:51) погляди... Nov 6 2008, 17:04  Baser Цитата(david_off @ Nov 6 2008, 19:04) Отв... Nov 6 2008, 20:37   david_off Цитата(Baser @ Nov 7 2008, 00:37) В моих ... Nov 7 2008, 09:36    Baser Цитата(david_off @ Nov 7 2008, 11:36) А п... Nov 7 2008, 21:32 megaboy ЦитатаВ редких случаях сервер может пнуть клиента ... Nov 10 2008, 00:01 Baser Цитата(megaboy @ Nov 10 2008, 02:01) хм..... Nov 10 2008, 13:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|