|
SIM900 НАВЕРНОЕ НЕПРАВИЛЬНО, Обнаружена неправильная работа |
|
|
|
 |
Ответов
(1 - 60)
|
Jan 11 2011, 18:58
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(Дмитрий2212 @ Jan 11 2011, 22:14)  БОЛЬШЕ НИКОМУ НЕ СКАЖУ.Вопрос не в том. Работает не так как 300Д.По моему это называется результирующий код.Блин ну поправте меня если не прав.Всегда проверял статус устройства командой AT+CPAS. В режиме дозвона модуль отвечал --3,в режиме соединения---4 Может на какой прошивке так и было , но это не правитльно. Из своего опыта скажу, что такое вы могли видеть на сотовике сименс с62, это я запомнил, т.к. на этом прокололся. А так - забейте на правила, как на них забивают производители, где даже команды из спецификации GSM работают у всех по-разному.
|
|
|
|
|
Jan 12 2011, 01:53
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 9-02-10
Из: Иркутск
Пользователь №: 55 389

|
Цитата(13amator @ Jan 12 2011, 03:40)  AT+CPAS +CPAS: 0 Модем зарегистрирован в сети. OK
RING AT+CPAS +CPAS: 3 Входящий звонок OK
RING
NO CARRIER
RING ATA OK AT+CPAS +CPAS: 4 Установлено соединение OK
NO CARRIER . СИМ 900 2 версия Проверил. То же самое на SIM300D, факт. Но сам пользуюсь CLCC
|
|
|
|
|
Jan 12 2011, 04:33
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
все банально просто - достаточно открыть ITU0707-700 и посмотреть статусы для команд.
CPAS Implementation: Mandatory when ME can be operated from TE (refer subclause "Mobile Equipment control mode +CMEC").
То есть как будет отрабатывать CPAS задается в команде CMEC. Но весь фокус в том что CMEC актуально только для устройств где есть индикатор и клавиатура. Так как перенаправляет результат от CPAS для работы с клавиатурой и индикацией. Кроме того из опыта могу сказать, что еще когда вместо модуля в сотовые мосты ставили Ericsson A1018, то там CPAS тоже неправильно работал.
Для модулей по M2M стандарту рекомендовано использовать дополнительную, но более информативную команду
CLCC Implementation: Optional. Recommended when +CHLD command is implemented.
Description: Returns list of current calls of ME. If command succeeds but no calls are available, no information response is sent to TE. Refer subclause 9.2 for possible <err> values. Defined values
<idx>: integer type; call identification number as described in GSM 02.30 [19] subclause 4.5.5.1; this number can be used in +CHLD command operations
<dir>: 0 mobile originated (MO) call 1 mobile terminated (MT) call
<stat> (state of the call): 0 active 1 held 2 dialing (MO call) 3 alerting (MO call) 4 incoming (MT call) 5 waiting (MT call)
<mode> (bearer/teleservice): 0 voice 1 data 2 fax 3 voice followed by data, voice mode 4 alternating voice/data, voice mode 5 alternating voice/fax, voice mode 6 voice followed by data, data mode 7 alternating voice/data, data mode 8 alternating voice/fax, fax mode 9 unknown
<mpty>: 0 call is not one of multiparty (conference) call parties 1 call is one of multiparty (conference) call parties
<number>: string type phone number in format specified by <type>
<type>: type of address octet in integer format (refer GSM 04.08 [8] subclause 10.5.4.7)
<alpha>: string type alphanumeric representation of <number> corresponding to the entry found in phonebook; used character set should be the one selected with command Select TE Character Set +CSCS
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jan 23 2011, 21:13
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Новую тему создавать не стал, пишу сюда. На SIM300 всегда передавал данные в командном режиме(кто бы что не говорил, а все работает без глюков) Код AT+CIPSPRT=0 OK ..... CONNECT OK AT+CIPSEND=4 test SEND OK . Проблема в том, что на SIM900 для того, чтобы он передал данные, нужна задержка после команды CIPSEND и собственно данными! Пока 500мс поставил, работает, но это никуда не годится! Вопрос к Cadilo, можете ли вы проверить это на 7-й прошивке? Скорость порта 115200. autobaud отключен.
|
|
|
|
|
Jan 24 2011, 07:07
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(rx3apf @ Jan 24 2011, 00:29)  А промптера (">") дождались ? AT+CIPSPRT=0;
|
|
|
|
|
Jan 24 2011, 09:36
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 24 2011, 10:18)  Передавать данные не дождавшись приглашения не есть правильно. Стек другой чем был в 300-й серии и ориентироваться на временные задержки ну никак нельзя. Дождались ">" и отправляем данные. Спешка в этом случае вредна - а если оператор выставил "занято" и не готов от вас принимать ? Будете в никуда отправлять ? Какая спешка, вы о чем? Приглашение отключено командой CIPSPRT. Вот именно, что зажержки неуместны коли выбран режим работы без ">".
|
|
|
|
|
Jan 24 2011, 09:39
|

Знающий
   
Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998

|
Цитата Вот именно, что зажержки неуместны коли выбран режим работы без ">". а вчем собственно выигрыш? неуместные задержки и GPRS - это несоместимые понятия. сама сеть может до минуты тормозить в ЧНН.
|
|
|
|
|
Jan 24 2011, 09:47
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(av-master @ Jan 24 2011, 12:39)  а вчем собственно выигрыш? неуместные задержки и GPRS - это несоместимые понятия. сама сеть может до минуты тормозить в ЧНН. Я сейчас не о выигрыше, и не о совместимости понятий, а о соответствии реальной работы и документации. Должно работать, и работало на SIM300: AT+CIPSEND=4<CR><LF>test на SIM900 работает, только если AT+CIPSEND=4<CR><LF><delay>test Если задержку не делать то теряются все данные, вне зависимости от размера, модем молчит и отправляет 4 байта команды обработки таймаута передачи, в моем случае AT+CIPLOSE. Т.е. удаленная сторона вместо test получает AT+C.
Сообщение отредактировал grinux - Jan 24 2011, 09:48
|
|
|
|
|
Jan 24 2011, 11:43
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Цитата(CADiLO @ Jan 24 2011, 09:18)  Передавать данные не дождавшись приглашения не есть правильно. Стек другой чем был в 300-й серии и ориентироваться на временные задержки ну никак нельзя. Дождались ">" и отправляем данные. Спешка в этом случае вредна Спешка действительно вредна, а вот повысить скорость работы не помешает. И ожидание подсказки НЕ ДОЛЖНО БЫТЬ ОБЯЗАТЕЛЬНЫМ. Это снижает скорость отправки данных, особенно если отправляющий контроллер из-за загруженности не может быстро реагировать на реплики модема. Цитата(CADiLO @ Jan 24 2011, 09:18)  а если оператор выставил "занято" и не готов от вас принимать ? Будете в никуда отправлять ? Дык достаточно в таком случае SEND FAIL вернуть - и все будут довольны. Так что Эдуард, пишите, пожалуйста, по этому делу баг-репорт. Иначе как тогда трактовать команду AT+CIPSPRT=0? Хочется все-таки руководствоваться логикой интуитивно понятной, а не китайской
|
|
|
|
|
Jan 24 2011, 13:08
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(Aurochs @ Jan 24 2011, 14:43)  Спешка действительно вредна, а вот повысить скорость работы не помешает. И ожидание подсказки НЕ ДОЛЖНО БЫТЬ ОБЯЗАТЕЛЬНЫМ. Это снижает скорость отправки данных, особенно если отправляющий контроллер из-за загруженности не может быстро реагировать на реплики модема. Дык достаточно в таком случае SEND FAIL вернуть - и все будут довольны. Так что Эдуард, пишите, пожалуйста, по этому делу баг-репорт. Иначе как тогда трактовать команду AT+CIPSPRT=0? Хочется все-таки руководствоваться логикой интуитивно понятной, а не китайской  Хоть кто то адеватно реагирует... CADiLO, вы задумывались о том, зачем вообще опция, отключающая приглашение? Правильно, чтобы пристегнуть к данным, хоть ASCII, хоть бинарным, не важно, заголовок в виде команды и размера и запульнуть в модем, ожидая в ответ SEND OK, а не тратить время на ожидание >. А вы мне про джип, запор и другой стек Это должно работать так, как заявлено. Если же Цитата You should write data ONLY AFTER the promoting mark ”>” Тогда нужно убрать из описания команду AT+CIPSPRT=0 и добавить в документ отличий AT команд от SIM300 соответствующий пункт о несовместимости работы CIPSEND. Проверьте, у кого есть возможность, поведение на 7-й прошивке.
Сообщение отредактировал grinux - Jan 24 2011, 13:35
|
|
|
|
|
Jan 24 2011, 15:29
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Цитата(grinux @ Jan 24 2011, 15:08)  зачем вообще опция, отключающая приглашение? Ну как же, китайская логика: "Сказал отключить приглашение - тебе его отключили, а про то что его уже ждать не нужно - уговора не было. К отключению приглашения претензии есть?"  Цитата(grinux @ Jan 24 2011, 15:08)  Проверьте, у кого есть возможность, поведение на 7-й прошивке. Да, не изменилось это поведение. И в 8-й не изменится, если не пошлют им баг-репорт. Как там в популярной программистской шутке: "Если Вам не хочется исправлять ошибку в программе, то задокументируйте ее как особенность реализации".
|
|
|
|
|
Jan 24 2011, 17:39
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 24 2011, 18:31)  Написал я им - посмотрим что скажут. Спасибо!
|
|
|
|
|
Jan 26 2011, 20:28
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 25 2011, 14:01)  Написал я им - посмотрим что скажут. Китайцы ответили что нибудь?
Сообщение отредактировал grinux - Jan 26 2011, 20:33
|
|
|
|
|
Jan 28 2011, 22:46
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 27 2011, 10:28)  На эту тему еще нет - я пока с ними по поводу JD и RI бодался. Отдам подтверждение на исправление ошибок и напомню про ">" Понятно. Вы уже предварительно анонсируете 8 прошивку, можно ли ожидать что в ней, кроме всего прочего, и эту проблему решат?
|
|
|
|
|
Feb 21 2011, 10:18
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Было: >>>>Проблема в том, что на SIM900 для того, чтобы он передал данные, нужна задержка после команды CIPSEND и собственно данными! Пока 500мс поставил, работает, но это никуда не годится!
Цитирую дословно ответ:
We see this problem, and we think it is AT mechanism difference between SIM900 and SIM300. So it is difficult for us to remove the delay. Could you please persuade customer to add delay in his program? You said it is 0.5s delay. But we think 50ms is OK. You can suggest customer to try 50ms and please let me if it is ok.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Feb 21 2011, 14:58
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Странно то, что эта задержка требуется даже в режиме (AT+CIPSPRT=1). То есть: 1) AT+CIPSEND=<Len> 2) жду "> " 3) delay(100ms) // на 50 ms работает нестабильно (изредка не проходит) 4) отправляю данные.
забыл указать: SIM900D 1137B05SIM900D64_ST PS: может в более новой прошивке этой проблемы уже нет?
|
|
|
|
|
Feb 21 2011, 15:17
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Вышесказанное справедливо для CIPMUX=1. При CIPMUX=0 приведённая схема не заработала даже с 500мс задержками. =(
|
|
|
|
|
Feb 22 2011, 12:09
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Обновил до 6-й версии - модем ведёт себя также. Но самое печальное то, что даже 100мс задержка - не панацея!
Запустил тест: 12 байт запрос - 57 байт ответ, модем в режиме TCP-сервера. следующий запрос только по получении ответа. Совершенно вольготный режим обмена. Результат: Даже 5 минут не продержался - сбился!
Алгоритм повис в ожидании статуса отправки "0, SEND OK". Я запустил терминалку - попробовал вручную несколько AT-команд. Модем сначала упорно молчал, потом выдал "0, SEND OK", и уже после стал отвечать на AT-команды. Что любопытно, удалённой стороне отправились последние из набранных мною в терминалке символов. Это значит, что модем после выдачи им же самим приглашения "> " висел в прострации, игнорируя все отданные ему данные, около минуты, после чего очнулся принял данные и отправил.
Это конечно самый вопиющий случай, обычно же модем "висит" от долей до единиц секунд.
Кстати, иногда (~раз на сотню-две) модем выдаёт искажённый ответ: вместо "0, SEND OK" выдаёт: "0,D OK" "0, SOK" и т.д. вместо "+RECEIVE,0,12:<данные>" выдаёт: "+Rя«E,0,12<данные>" "+IVE,0,12<данные>" "+мусор<данные>" и т.д. При этом сами данные и другие ответы не искажаются.
И за одно, хотелось бы обратить внимание на команду "AT+CIPSERVER=1,<port>": В 50% случаев после подачи этой команды модем ничего не отвечает. Зато на повторную запрос сразу отвечает "SERVER OK". Складывается впечатление, что и первый вызов сработал, но модем "забыл" ответить.
|
|
|
|
|
Feb 22 2011, 13:52
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Цитата(CADiLO @ Feb 22 2011, 16:05)  Какой используете контроллер, напряжение его питания, какой кварц (или какой процент разбега по частоте обмена)? Как сделано сопряжение контроллер-модуль? На какой скорости общаетесь с модулем, выключено ли автоопределение, используется ли RTS-CTS? Вряд ли копать надо в эту сторону. Всё отлажено и работает с SIM300DZ. Мы заменили модуль на SIM900D. Изменили AT-команды.... Изменения можно сказать косметические. Скорость фиксированная 115200,8N1 RTS-CTS не используется (данные идут малыми порциями, отправляются они редко) автоопределение не выключал AT+IPR? возвращает "+IPR: 0" (для синхронизации после включения делаю паузу потом посылаю "AT" потом снова паузу и "AT" пока не ответит "OK" - работает стабильно)
|
|
|
|
|
Feb 23 2011, 09:30
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 23-09-08
Из: Россия
Пользователь №: 40 430

|
Здравствуйте.
Чтобы не плодить лишнюю тему пишу сюда.
Модуль SIM900. Прошивка версии 6. Аппаратное управление потоком.
Пакет двоичных данных с некоторой периодичностью отправляется на сервер в командном режиме по команде AT+CIPSEND с указанием фиксированной длины пакета.
Обнаружил такой нюанс.
Во время работы отсоединяю антенну от модуля. После подачи команды AT+CIPSEND модуль выдает приглашение для ввода пакета данных.
Передаю в модуль пакет. Сигнал CTS становится неактивным. И от модуля после этого нет никакого ответа. Ни SEND OK, ни SEND FAIL, ни CLOSED, ни PDP DEACT. Ждал минут 20. Дальнейшее подключение антенны и регистрация модуля в сети ни на что не влияет. От модуля никакой реакции. Прошивка послушно ждет возвращения сигнала CTS в активное состояние.
Если через некоторое время начать передавать модулю команды, не обращая внимание на состояние сигнала CTS, то где-то после 2-й - 3-й команды модуль оживает и сигнал CTS становится активным.
SIM300CZ в этой ситуации выдавал ошибку передачи или сообщение о закрытии сокета.
Кто нибудь с таким сталкивался? Возможно есть команда установки каких-либо таймаутов, но я в даташите таких не нашел. Мне кажется, поведение SIM300 в такой ситуации было более правильным и логичным.
|
|
|
|
|
Feb 24 2011, 07:43
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Цитата(CADiLO @ Feb 22 2011, 17:00)  не совсем - если с 300D стыковались на 3.3 вольта, то для 900D это уже проблема. Поясните, пожалуйста. Я изучил матчасть только касательно программирования. Аппаратной частью занимаются мои коллеги. Возможно они что-то упустили из виду.
|
|
|
|
|
Feb 24 2011, 09:28
|
Местный
  
Группа: Свой
Сообщений: 483
Регистрация: 1-09-06
Из: Гродно РБ
Пользователь №: 20 011

|
Цитата(ssokol @ Feb 24 2011, 12:51)  Ну вы , блин, даете. А вы не пробовали шандарахнуть кувалдой по модулю, а потом сказать ,что он глючит? Вы почитайте , что такое свч передатчик и куда девается энергия при отключенной антенне и вам все станет ясно. тут товарищ имитирует таким образом выход из зоны покрытия. конечно это вариант не лучший правильнее было бы переключать антенну на нагрузку 50 Ом. но насколько мне известна у модуля есть защита от несогласованной антенны (отключенной, закороченной), то так тоже можно поступать.
|
|
|
|
|
Feb 24 2011, 12:59
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(Peps @ Feb 24 2011, 15:47)  А в SIM300D такая защита была? Просто специально тестировал без антенны долго и упорно - модуль жил и радовался жизни, я даже спор по этому поводу выиграл. Да и другим модулям перепадало включаться и пытаться зарегистрироваться без антенны - все живы-здоровы. Вот с тех пор и укоренилось у меня мнение об великом изобретении китайского гения! А видимо это не фича, а простая случайность! И в сим300 такой защиты не было, однажды у трекера на сим300 украли антенну, машина в пути была 3 дня, те 3 дня бедный сим300 пытался "выйти на связь", когда машина приехала и поставили новую антенну, то сим300 обрадовался, и все что накопилось за 3 дня с удовольствием передал , при этом не сгорев. К Сим900 также один раз забыли припаять антенну , он даже в сети как-то умудрился зарегиться, при этом не сгорев, но может быть здесь дело в организации питания, разводке ... удаче, везучести ... так, что не надо вкл без антенны делать, вдруг не повезет :-(((
|
|
|
|
|
Feb 25 2011, 10:53
|
Группа: Новичок
Сообщений: 6
Регистрация: 30-11-10
Пользователь №: 61 283

|
Цитата(CADiLO @ Feb 22 2011, 16:05)  Какой используете контроллер, напряжение его питания, какой кварц (или какой процент разбега по частоте обмена)? Как сделано сопряжение контроллер-модуль? На какой скорости общаетесь с модулем, выключено ли автоопределение, используется ли RTS-CTS? Вынужден признать Вы были правы. Подключили модем к COM-порту компьютера. Модем стал заработать корректно. Не знаю что там накосячили в схемотехнике, но в результате данные передаваемые в модем и получаемые из него изредка искажались - естественно модем вёл себя неадекватно. Сейчас мне кажется странным, что я не догадался раньше. Спасибо за подсказку.
|
|
|
|
|
Feb 25 2011, 14:00
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Пока меня не было плавно сменили тему. Хотелось бы все-таки вернутся к исходной. Цитата(CADiLO @ Feb 21 2011, 12:18)  We see this problem, and we think it is AT mechanism difference between SIM900 and SIM300. So it is difficult for us to remove the delay. Я с уважением отношусь к чужим трудностям, если их только не пытаются перекладывать на других. Что мешает реализовать внутри модема промежуточное буферирование? И тогда делай, какую тебе нужно задержку перед отсылкой. И не нужно будет каждому пользователю решать проклятый вопрос: 50 мс или 100? или 500, чтобы наверняка? Достаточно будет послать команду CIPSEND и дождаться ответа, как для любой другой команды.
|
|
|
|
|
Feb 25 2011, 14:13
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Этот вопрос китайцам озвучен в баг-репорте, они приняли его к рассмотрению. Возможно что-то и поправят. дополню... Сейчас есть две более критичные ошибки которые исправлялись и уже есть тестовые прошивки где поправлено. 1. не работали команды использующие или меняющие PIN2 2. исправления в логике выхода из SLEEP по DTR ну и еще есть мелочи.... так что никто не забросил доведение до ума модуля, просто там своя бюрократия. им надо объяснить что мы хотим, потом они пишут своим R&D извещение на измененение, потом тестируем..... и так пока не подтвердим что нас устраивает... да не быстро, но движемся. могу сказать что общий багрепорт для 4 версии составлял почти 400 замечаний (392). для восьмерки всего 38. ну если конечно новых ошибок не наделают
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Feb 25 2011, 14:21
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Цитата(CADiLO @ Feb 25 2011, 16:13)  Этот вопрос китайцам озвучен в баг-репорте, они приняли его к рассмотрению. Возможно что-то и поправят. Большое спасибо.
|
|
|
|
|
Feb 27 2011, 08:36
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
При работе TCP/IP стеком sim900 в прозрачном режиме наткнулся на 2 неприятные вещи. 1 Если соединение закрывают с другой стороны, то сообщение CLOSED приходит до того как снимается DCD. 2 При переходе в командный режим дерганьем DTR даже после получения OK в порт может проскочить порядка 100 байт данных. В принципе и ту и другую проблему можно обойти программно, но все-же... ЗЫ поругавши надо и похвалить  похоже симкомовцы сделали раздельный буфер для данных и команд, так-что при переходе в командный режим и обратно данные в буфере не теряются, в отличие от того-же HiLo.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|