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

Допустим, SMS номер один отсутствует (уже стерто), в наличии есть SMS номер 2. Пробуем читать SMS по порядку в терминалке:

AT+CMGR=1
OK
AT+CMGR=2
+CMGR: 1,,155
0791.... и т.д.

OK

Все нормально, строго по доке.

Теперь делаем то же самое, но быстро - например, повесив эти две команды на хоткеи терминалки и нажимая их с небольшой паузой, или делаем крохотную тестовую программку на управляющем контроллере, которая ждет ответа (OK <cr> <lf>) на первую команду и немедленно посылает вторую:

AT+CMGR=1
OK
AT+CMGR=2
OK

+CMGR: 1,,155
0791....


Обратите внимание, где теперь находится OK, а где текст (+CMGR)! Приплыли. Разумеется, управляющая программа на такой авангард реагирует несколько нервно.

Проверялось на 12-й на 14-й прошивке, поведение аналогичное.
Maxim Kutnyashenko
Дык ить не успевает он просто... Пока в симку обратится, пока она передаст... Поэтому я в прошивках после всех команд, задействующих сим, задержку не менее 0,1с делаю и только потом обрабатываю ответ...
stream
Тут все несколько хуже - по общепринятому стандарту, да и по самой же симкомовской доке сначала должна выдаваться "содержательная" часть ответа, а потом OK/ERROR и т.п., говорящее об окончании обработки команды. Когда же порядок ответов меняется по желанию левой пятки, совершенно неясно, как обрабатывать - ждать, несмотря на OK, "а вдруг оно все-таки ответит" ? Сколько ждать? Напомню, что при отсутствии SMS в ячейке в ответ на команду чтения приходит голый OK.

Задержку _перед_ командой я, конечно, поставлю, но... как-то криво все это.
Maxim Kutnyashenko
Цитата(stream @ Sep 19 2007, 15:21) *
Задержку _перед_ командой я, конечно, поставлю, но... как-то криво все это.

Ха... Я вот, когда экспериментировал, пару раз получал ответы от двух последовательных команд в обратном порядке... И ничего... Челюсть подобрал, понял, что без задержек никуда, и больше голову не забиваю...
Maxim Kutnyashenko
Кстати, интересно, кто сталкивался с проблемами потери модулем сети через некоторое время непрерывной работы, каким это было время? Я вот думаю, ставить мне ключи на питание или нет, жалко одну ногу контроллера под это отдавать... Тестовая партия из 20 штук на SIM300D с 10 прошивкой проработала непрерывно уже 1,5 месяца и до сих пор глюков не замечено. Может проблема не столько в прошивке, сколько в том же питании, например? Я, в отличие от даташита, поставил не танталовый на 100 мкФ, а LowESR электролит на 1000мкФ непосредственно рядом с модулем. И антенна подключается почти к самим выводам - линия меньше 1 см длиной.
Йокамон
задержка ответов - проблема в планировщике. KADAX рулит :-) у меня свои куски под сим писаны - а как работет планировщик - до сих пор не вкурю... по крайней мере блокировок пока не нашел... странно как это несколько апп одновременно в порт не срут.
Perepic
А как Вам такое:
Работаем с модемом через GPRS, HTTP-соединение открываем, передаем данные, в ответ ждем того же. Ждем, ждем. Бух, выпадает "CONNECTION CLOSED". Мля, епрст, долго ругаемся, ставим флажок повторить позже, и делаем IPSHUT. И тут на тебе, приезжают данные... После закрытия соединения он мне вываливает 390 байт. Это так китайцы, наверно, думали: лучше поздно, чем никогда.
Я почему говорю про никогда, потому что в режиме "transparent" ответ вообще не приходит. Круто! Кста, гневное письмо, отправленное в евромобайл, с просьбой передать узкоглазым, так и осталось без ответа.
Master of Nature
К евромобайлу бесполезно обращаться.
Они сами технической поддержкой не занимаются.
Сам пробовал их допросить.
Толкового ответа так и не получил. И то реакция была только потому (мне кажется) что я им постоянно названивал.
Perepic
Цитата(Master of Nature @ Oct 11 2007, 13:05) *
К евромобайлу бесполезно обращаться.

Тогда к кому? Узкоглазые на письма упорно не отвечают...
Perepic
Сегодня поставили на прогонку уст-во с модемом SIM300. Оно постоянно лезет на сервер по GPRS. Ну и так уж получилось, что сервер сдох. После нескольких попыток модем на комманду AT+CIPSTART долго думал, а потом вдруг потерял сеть. И все. "ОК" или "ERROR" так и не появился. Такое впечатление, что повис. Оператор говорит, что абонент вне сети. Питание в норме, "POWER DOWN" не было. ЧТо за фигня?
CADiLO
>>>>>Кстати, интересно, кто сталкивался с проблемами потери модулем сети через некоторое время непрерывной работы, каким это было время? Я вот думаю, ставить мне ключи на питание или нет, жалко одну ногу контроллера под это отдавать...

Эта ошибка признана Симкомом - исправлена в версиях 12 и выше.
с меньшими версиями сеть нужно контролировать и иметь возможность снять питание.
alexey123
Цитата(CADiLO @ Oct 19 2007, 11:25) *
..... и иметь возможность снять питание.


Я бы добавил, что такую возможность необходимо иметь всегда. И не только с SIM300..
По опыту работы с десятком разных модемов и модулей могу честно сказать, что периодически сбрасывать питание приходится на всех без исключения.
Не дождался RING'а 3 часа - сброс на 10 сек, не смог выйти в GPRS - туда-же..

метод туповатый, зато избавляет от исследований чужих багов.
edo
Цитата(CADiLO @ Oct 19 2007, 11:25) *
>>>>>Кстати, интересно, кто сталкивался с проблемами потери модулем сети через некоторое время непрерывной работы, каким это было время? Я вот думаю, ставить мне ключи на питание или нет, жалко одну ногу контроллера под это отдавать...

Эта ошибка признана Симкомом - исправлена в версиях 12 и выше.
с меньшими версиями сеть нужно контролировать и иметь возможность снять питание.


то есть +cfun=0, +cfun=1 недостаточно? и выключения через cpowd тоже?
vvs5
питание дергать надо
SiNS
Цитата(alexey123 @ Oct 19 2007, 15:37) *
Я бы добавил, что такую возможность необходимо иметь всегда. И не только с SIM300..
По опыту работы с десятком разных модемов и модулей могу честно сказать, что периодически сбрасывать питание приходится на всех без исключения.
Не дождался RING'а 3 часа - сброс на 10 сек, не смог выйти в GPRS - туда-же..

метод туповатый, зато избавляет от исследований чужих багов.

+1 smile.gif
mikekk
Цитата(stream @ Sep 18 2007, 20:04) *
Прошивка вся какая-то настолько асинхронная, что живет своей жизнью и просыпается в самые неожиданные моменты - в результате ответы модема непредсказуемо меняются местами и путаются.

Допустим, SMS номер один отсутствует (уже стерто), в наличии есть SMS номер 2. Пробуем читать SMS по порядку в терминалке:

AT+CMGR=1
OK
AT+CMGR=2
+CMGR: 1,,155
0791.... и т.д.

OK

Все нормально, строго по доке.

Теперь делаем то же самое, но быстро - например, повесив эти две команды на хоткеи терминалки и нажимая их с небольшой паузой, или делаем крохотную тестовую программку на управляющем контроллере, которая ждет ответа (OK <cr> <lf>) на первую команду и немедленно посылает вторую:

AT+CMGR=1
OK
AT+CMGR=2
OK

+CMGR: 1,,155
0791....
Обратите внимание, где теперь находится OK, а где текст (+CMGR)! Приплыли. Разумеется, управляющая программа на такой авангард реагирует несколько нервно.

Проверялось на 12-й на 14-й прошивке, поведение аналогичное.
.

Это я поборол таким макаром. Сначала читаю все СМС по CMGL. Ловлю номер первого (фича такая, что их нужно обрабатывать по порядку). Запоминаю номер. Плюс к этому, необходимо узнать номер СМС, для того что-бы его удалить. Потом читаю одно СМС по CMGR по номеру, который поймал и уже его обрабатываю. Для удаления номер беру тот-же. Потом удаляю то СМС что обработал, и повторяю все сначала. Конечно тоже криво, но более лучшего алгоритма придумать не смог.



Цитата(CADiLO @ Oct 19 2007, 11:25) *
>>>>>Кстати, интересно, кто сталкивался с проблемами потери модулем сети через некоторое время непрерывной работы, каким это было время? Я вот думаю, ставить мне ключи на питание или нет, жалко одну ногу контроллера под это отдавать...

Эта ошибка признана Симкомом - исправлена в версиях 12 и выше.
с меньшими версиями сеть нужно контролировать и иметь возможность снять питание.


Ты меня убиваешь. У меня достаточно большое количество модулей 10 версии. Снять питание невозможно. Можно только выключть - включить. Батарейка. Может их перепрошить? Подскажешь как? Модули 1008B10SIM300C32_SPANSION
CADiLO
>>>>Можно только выключть - включить

Этого вполне достаточно.
Перепрошить тоже без проблем - прошивки и прогу я выкладывал - внимательно смотрим по форуму. Процесс тоже был неоднократно описан.
Vitaliy_ARM
Всем доброго времени!

Не хотел плодить тем. Приобрел платку с процессором и модемом SIM300 (1008B10SIM300M32_SPANSION). Не получается запустить.
После включения подаю импульс включения. Модем заводится, находит сеть (смотрю по светодиоду).
Но как написано в руководстве по быстрому старту ответов от него, типа
RDY
+CFUN:1
нет.
При попытке дозвониться, дергается ножка Ring и идет гудок. И на выходе модема ничего нет.
(Если я правильно понял, должно быть: RING RING RING). Подозреваю, что модем находится в другом режиме.

Помогите его победить help.gif
CADiLO
Ответов типа
RDY
+CFUN:1
не будет если модем стоит в автоопределении скорости

переводим его в нужную фиксированую - например 115200
AT ( - синхронизируется)
AT
- OK (- ответ модема)
AT&F (поставить заводские настройки)
AT+IPR=115200 (поставить фиксированую скорость 115200)
- OK
AT&W (запомнить настройки)
- OK
выключаем, включаем и видим ответы, и работаем на фиксированой скорости.
ssokol
Цитата(mikekk @ Mar 31 2008, 05:17) *
.
Ты меня убиваешь. У меня достаточно большое количество модулей 10 версии. Снять питание невозможно. Можно только выключть - включить. Батарейка. Может их перепрошить? Подскажешь как? Модули 1008B10SIM300C32_SPANSION

А у меня эти модули (тьфу-тьфу-тьфу )работают месяцами без перезагрузки и вроде всё ОК, а вот которые на ССТ там говорят не всё так хорошо.
Baser
Цитата(stream @ Sep 18 2007, 19:04) *
Прошивка вся какая-то настолько асинхронная, что живет своей жизнью и просыпается в самые неожиданные моменты - в результате ответы модема непредсказуемо меняются местами и путаются.

Это точно! Вот пример, на который я сразу налетел. Модем SIM300Z - 1008B15
При включении модема без сим-карты и с ней порядок ответов различный.
Без сим-карты:
RDY
+CPIN not inserted
+CFUN:1

С сим-картой:
RDY
+CFUN:1
+CPIN READY

Так что вполне возможно, что с различными симками порядок ответов тоже будем различный.


Цитата(alexey123 @ Oct 19 2007, 15:37) *
По опыту работы с десятком разных модемов и модулей могу честно сказать, что периодически сбрасывать питание приходится на всех без исключения.

Как раз на днях удалось подвесить вышеупомянутый модуль прямо "на столе".
Игрался с ручной подачей команд, и после какой-то последовательности команд модуль стал странно отвечать. Но отвечал! Попытки выключить его при помощи PWRKEY успеха не поимели (сигнал выключения на модуле был - проверял осциллом прямо на модуле). После подачи команды AT+CPOWD=1 окончательно затих и COM-порт модуля, но модуль не выключился.
Помогло только передергивание питания sad.gif
Alex_TAV
Один блок после долгой работы, в очередной раз отказался регистрироватся в сети GPRS , т.е. включение блока проходит , есть "Call Ready" и на все команды инициализации приходят ответы "Ok", а вот на команду AT+CIPSTART отвечает Error - прошивка 13 на SST - прошивка целая, считал - верификацию проходит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.