Baser 5 25 февраля, 2008 Опубликовано 25 февраля, 2008 · Жалоба Заказчик принес для макетирования модуль SIM300, дата выпуска, судя по маркировке - начало 2006 года. Модуль выдает на ATI: SIMCOM_Ltd SIMCOM_SIM300M(SST) Revision:P1008B01SIM300M32_SST_INNO Судя по всему это пилотная инженерная версия модуля после перехода на память SST. Модуль ведет себя странновато: включать его поверкеем удается, а вот выключить нет. Вопрос: можно ли в него зашить последнюю (1008B15) версию фирмваре, не поменялось ли с тех пор железо? Или вообще не стоит его мучить и потребовать от заказчика новый модуль? На самой печатной плате маркировка: SIM300_V2.04(050926) F164671-7-2M Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 25 февраля, 2008 Опубликовано 25 февраля, 2008 · Жалоба Можно попробовать и обновить, хотя у нас с 15 версией идут модули с платами - "PCB v7.03" Думаю хуже не будет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 25 февраля, 2008 Опубликовано 25 февраля, 2008 · Жалоба Удалось прошить в этот модуль версию 1008B15SIM300M32_SST34HF3284 предварительно прочитав и сохранив оригинальное содержимое флешки. Сам процесс прошивки прошел нормально, правда оказалось, что в модуле стоит другая память: SST32HF3281 После обновления модуль стал нормально включаться и выключаться поверкеем, стал нормально мигать NETLED. Но модуль перестал реагировать на АТ команды! Проверил на всех скоростях. При этом, из модуля периодически вываливаются строчки на 115200: FF FF 2B 43 42 43 4E 3A 20 30 2C 39 30 FF FF ..+CBCN: 0,90.. FF FF 2B 43 42 43 4E 3A 20 30 2C 39 31 FF FF ..+CBCN: 0,91.. Что еще можно предпринять? Как провести какой-нибудь системный сброс модуля? Может дело в том, что я перепрошивал, не очищая всю флеш? Распределение памяти, таблиц могло сильно изменится. Что вообще происходит, когда прошиваешь модуль короткой программой с очисткой всей флешки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба У меня с вот этой прошивкой (вложение) проблем не возникало. Попробуйте перешить.... Если продолжатся глюки, значит версии плат не совпадают...... У нас идут платы - SIM300_V7.03 Если прошить короткой программой с очисткой флешки: 1. IMEI заменится на технологический - можно поправить потом в Service tool или прочитать его AT+GSN и изменить на нужный в прошивке и зашить еще раз. 2. Перегенерятся все таблицы - особого криминала не замечено и к фатальным последствиям не приводит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба У меня с вот этой прошивкой (вложение) проблем не возникало. Попробуйте перешить....Именно этим и это и прошивал первый раз. Попробовал очистить всю флешку, но никаких результатов это не дало - те же глюки, видимо железо отличается :( Далее решил вернуть все обратно, дабы можно было бы хоть отлаживать работу по УАРТу (мои SIM-карты эта версия ПО не видит). С боооольшими матюгами это удалось (спасибо ув. CADiLO, помогли ваши "наводки"). Правда так и не понял, где правильно резать полную прошивку. На цельную говорит что-то типа "некорректные адреса", слишком короткую прошил, но она вышла еле живой :) В конце концов отрезал только последний кусок с данными, где сериальный номер и IMEI - вроде стало как прежде. Вообщем заказчик послан за новым модулем, целый рабочий день коту под хвост, зато experience-а завались..... B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 27 февраля, 2008 Опубликовано 27 февраля, 2008 · Жалоба как резать рассказываю на примере той версии что выложена выше: смотрим первую строчку 0000000000: 00 00 00 01 38 16 1D 01 │ E8 72 9F E5 01 60 A0 E3 000000 - старт 01 - разделитель 1D1638 - длина прошивки (но есть хитрость, о ней ниже) 01 - разделитель если стать в конец обрезаной прошивки то там будет такое 00001D1620: 00 00 00 00 00 70 29 00 │ 00 00 00 00 00 70 29 00 00001D1630: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 вот это место ищем в полной и обрезаем так чтобы от последнего 70 29 было 17 байт это и будет искомый файл, но длину в заголовок ставим на 7 байт меньше ! вобщем если посмотрите куда указывает длина - все станет ясно. и еще - не знаю почему но иногда прошивальщик не берет файл с другим именем, переименовываем так как дает симком и все начинает работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 27 февраля, 2008 Опубликовано 27 февраля, 2008 · Жалоба (мои SIM-карты эта версия ПО не видит). Если не секрет - какого оператора и когда приобретены? Тут тоже есть пара загадочных карточек, которые SIM300 не видит (а Q2406 видит, и все, что под рукой, телефоны - тоже) - одна SIM-SIM выпуска примерно 2005 г. и одна Билайновская... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 27 февраля, 2008 Опубликовано 27 февраля, 2008 · Жалоба ... вот это место ищем в полной и обрезаем ... ... это и будет искомый файл, но длину в заголовок ставим на 7 байт меньше ! ... и еще - не знаю почему но иногда прошивальщик не берет файл с другим именем, переименовываем так как дает симком и все начинает работать. Немного вас поправлю насчет "01 - разделитель". Это не разделитель, а 4-х байтный адрес из адресного пространства проца модуля, куда физически подключена флеш. Флеш расположена по адресам 0x01000000...0x013FFFFF. Соответственно первые 8 байт прошивки - адреса, куда нужно прошивать. (Когда я сначала написал 00 00 00 01 38 16 1D 00, флешер выдал длину 0xFF1D1638) И почему на 8 байт больше, тоже понятно - первые 8 байт файла с адресами служебные, к прошивке не относятся. С именами файлов проблем не было, хотя имена были произвольными. Периодически сбивался процесс прошивки в момент старта загрузчика из ОЗУ модуля (с различными ошибками), но если этот момент проскакивал, дальше все шло без проблем. Я правда списываю эти сбои на то, что у меня модуль и COM порт подключены на различные УАРТы МК, и я просто программно транслирую уровни на TX, RX. А вот вопрос насчет маркера конца прошивки: это 100% известно или просто "пока все прошивки заканчивались так"? Если не секрет - какого оператора и когда приобретены?Думаю, что у меня проблема не с карточками, а с версией ПО модуля. Я в первом посте писал, что версия В01 (первая). Работа этого модуля вообще мало похожа на то, что написано в теперешней документации :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 27 февраля, 2008 Опубликовано 27 февраля, 2008 · Жалоба с поправкой согласен, просто в данном контексте так проще было показать что и где чикать в "длинной" прошивке.... ну вроде как поленился при объяснении лишние клавиши нажать. :-)))))) в серии прошивок 1008 все имели такую концовку. в новой серии - 1604- уже другая концовка.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 27 февраля, 2008 Опубликовано 27 февраля, 2008 · Жалоба Еще вопрос по железу: "процедура безопасного умирания" Есть какие неофициальные рекомендации SIMCOMа или опыт практикующей общественности на тему: Какие уровни сигналов на управляющих ногах PWRKEY, DTR и RTS наиболее безопасны в момент аварийного пропадания питания. А то информации мало и она противоречива. Допустим, DTR и RTS подключены через драйверы с подтяжкой к VEXT. В начале пропадания питания их лучше поставить в пассивное (high) состояние или без разницы? Вроде проскакивали сообщения, что при DTR low->high модуль быстро прекращает передачу. Или нет? По поводу PWRKEY: - с одной стороны, в FAQ написано "If you pull down PWRKEY PIN to GND directly, the module will power on and power off automatically when the module’s working voltage below 3.3V. This will damage the module. - с другой стороны, при прошивании флешки, PWRKEY зажат в нуле и остается на земле после программирования и в момент снятия питания. И ничего страшного не происходит. Мне чего-то кажется, что PWRKEY нужно подтягивать к VBAT и переключать в High в начале пропадения VBAT. Какие мнения? И какие АТ команды можно послать (если, конечно, успеешь :) ) при обнаружении пропадания питания. Например, в момент передачи данных по GPRS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 28 февраля, 2008 Опубликовано 28 февраля, 2008 · Жалоба ...Если напряжение ниже 3,3 В, модуль будет выключаться и включаться автоматически... может быть, они не совсем правы (такое может быть разве что при отсутствии супервизора питания!). Другое дело, если напряжение "плавает", то выше 3,3 В, то ниже. Выключился - напряжение повысилось - включился, начал искать сеть, напряжение просело - выключился. Какой-то гистерезис там, конечно, должен быть (нужно посмотреть внимательнее в доках или измерить), но его при повышенном внутреннем сопротивлении источника питания (например, старая батарея) может оказаться недостаточно. А из GPRS быстро выйти вряд ли получится... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 28 февраля, 2008 Опубликовано 28 февраля, 2008 · Жалоба "процедура безопасного умирания" от состояния не ногах не зависит. фокус в блочной перезаписи флешки SST - именно она в момент пропадания питания может потереть сама себя...... Powkey подтянут к Vbat внутри модуля и во внешнем резисторе не нуждается. >>>>>- с другой стороны, при прошивании флешки, PWRKEY зажат в нуле и остается на земле после программирования и в момент снятия питания. И ничего страшного не происходит так в режиме програмирования ничего кроме лоадера и не крутится в памяти, таблицы не перезаписываются и модуль свою флешину в качестве NVRAM не использует.... и выйдет он из этого режима или по таймауту - если комп не послал байт запроса на перепрошивку или после удачной перешивки выключением Vbat обрыв процеса записи не приведет к краху, просто придется залить прошивку заново - начальный загрузчик сидит в защищенной памяти в чипсете и шанс затереть его - нулевой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 15 марта, 2008 Опубликовано 15 марта, 2008 · Жалоба Привезли мне новый модуль SIM300Z (P1008B15). Поигрался с ним немного, вроде бы все, что проверил, соответствует документации. Но вот возникли вопросы, связанные с передачей данных при помощи GPRS. Как я понял, процесс установления соединения состоит из нескольких этапов: - Регистрация в сети GSM; - Подключение к сервису GPRS (AT+CGATT=1); - Активация PDP контекста с получением PDP адреса от мобильной сети; - Установление TCP или UDP соединения. Так вот, меня удивило наличие множества различных команд, которые частично дублируют друг друга. Получается, что установить соединение можно различными путями. Так работает (AT+CGATT=1 даже можно и опустить, к GPRS само подключается): TE: AT+CGATT=1 ME: OK (STATE: IP INITIAL) TE: AT+CIPCSGP=1,"APN","USER","PASS" ME: OK (STATE: IP INITIAL) TE: AT+CIPSTART="TCP","xx.xx.xx.xx","PORT" ME: OK ME: CONNECT OK (STATE: CONNECT OK) И так работает: TE: AT+CSTT="APN","USER","PASS" (+CGATT: 0 STATE: IP INITIAL) ME: OK (+CGATT: 0 STATE: IP START) TE: AT+CIICR ME: OK (+CGATT: 1 STATE: IP GPRSACT) TE: AT+CIFSR ME: xx.xx.xx.xx (+CGATT: 1 STATE: IP STATUS) TE: AT+CIPSTART="TCP","xx.xx.xx.xx","PORT" ME: OK ME: CONNECT OK (+CGATT: 1 STATE: CONNECT OK) А вот со стандартными командами AT+CGDCONT - Define PDP Context AT+CGACT - PDP Context Activate Or Deactivate какие-то непонятки. Такое впечатление, что это бутафория, неработающие заготовки. PDP контекстов можно определить целых 10! Они пишуться и читаются. Можно их активировать и деактивировать. Только на работу с GPRS это никак не отражается. И точка доступа (APN) при активации контекста стеку TCP/IP не становится известной. :( Вот так не работает: ME initial state: (+CGATT: 0 STATE: IP INITIAL) TE: AT+CGDCONT=1,"IP","APN" ME: OK (+CGATT: 0 STATE: IP INITIAL) TE: AT+CGACT=1,1 ME: OK (+CGATT: 1 STATE: IP INITIAL) TE: AT+CIPSTART="TCP","xx.xx.xx.xx","PORT" ME: OK ME: CONNECT FAIL ME: STATE: IP IND ME: +PDP: DEACT (+CGATT: 1 STATE: PDP DEACT) И вот, в связи со всем этим, вопросы: 1. Зачем нужно такое разнообразие команд и вариантов? 2. Команда AT+CGACT в SIM300 действительно не до конца реализована, или я чего-то не понял? Мне казалось, что при активации PDP контекста сразу должна настраиваться APN и сетью выделяться PDP адрес. 3. Где можно посмотреть описание состояний GPRS соединения (AT+CIPSTATUS)? Смысл части состояний понятна из названий, но остальные - полная загадка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stream 0 17 марта, 2008 Опубликовано 17 марта, 2008 · Жалоба А вот со стандартными командами AT+CGDCONT - Define PDP Context AT+CGACT - PDP Context Activate Or Deactivate какие-то непонятки. Такое впечатление, что это бутафория, неработающие заготовки. PDP контекстов можно определить целых 10! Они пишуться и читаются. Можно их активировать и деактивировать. Только на работу с GPRS это никак не отражается. И точка доступа (APN) при активации контекста стеку TCP/IP не становится известной. :( +CGDCONT действует для "классического" соединения со стороны компа через ATD*99#. Собственно, после ATD*99 еще можно как-то указать и номер контекста, вот тут-то эти 10 штук и заработают. Насколько настройки "внешнего" dial-upного gprs-а влияют на "внутренний" стек модуля - вопрос темный. Похоже, что настройки не пересекаются, и лучше подобрать работающую последовательность команд для твоей задачи экспериментально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Собственно, после ATD*99 еще можно как-то указать и номер контекста, вот тут-то эти 10 штук и заработают. ATD*99***<№контекста>#. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться