Перейти к содержанию
    

Всем здравствуйте.

 

Есть следующая проблема.

 

Имеется gsm-модем на чипе SIM900. Он используется в мультиплескируемом режиме (далее для краткости мукс-режим), с помощью

модифицированной программы gsmMuxd; изменения касаются поддержки расширенных пакетов протокола gsm 07.10 (закомментированы по умолчанию в gsmmux, именно этот формат пакетов реализован в SIM900).

 

При попытке установить GPRS-соединение в мукс-режиме модем перегружается. В обычном режиме все работает.

 

Версия прошивки:

 

Revision:1137B09SIM900M64_ST

 

Лог прилагается. В логе строки, начинающиеся с serial[] -- это ответ от модема в 16-ричной/символьной формах.

В районе строки Dropping frame: expected packet length is 8751, received 107 произошла перезагрузка (+CFUN: 1 +CPIN: READY Call Ready), до этого шли пакеты по протоколу gsm07.10 (обрамленные байтами f9).

 

На 6-й (родной) прошивке была эта проблема, на одном из модемов вылечилась перешивкой на 9-ю версию прошивки, на другом модеме проблема не исчезла.

 

Что происходит и как это вылечить ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При попытке установить GPRS-соединение в мукс-режиме модем перегружается. В обычном режиме все работает.

 

Лог прилагается. В логе строки, начинающиеся с serial[] -- это ответ от модема в

 

Не видно, где прилагается.

 

Я правильно понимаю, используется внешний, относительно модема, TCP-стек? И сбой происходит в момент работы PPP-протокола?

 

Это печально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понимаете частично правильно. Сбой происходит на команде AT+CGDCONT, когда ppp еще не стартовал.

Вот прилагается.

 

А какая разница какой стек, внешний или не внешний ?

 

Модем SIM900D, если это имеет значение.

gsm.txt

Изменено пользователем fonin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень интересно получается.

 

>>>Модем SIM900D, если это имеет значение.

 

А прошивку значит указываем от обычного

 

>>>Revision:1137B09SIM900M64_ST

 

И что, все работает? Не верю. Так что или с написанием ошиблись, или заливайте как положено прошивку.

 

 

Кроме того сами пишете что

 

>>>> На 6-й (родной) прошивке была эта проблема, на одном из модемов вылечилась перешивкой на 9-ю версию прошивки, на другом модеме проблема не исчезла.

 

Тогда при чем тут железо если прошивки одинаковы, сравнивайте чем отличаются условия работы того устройства где все вылечилось с неработающим. Оператор, программа, установки.... И даже вплоть до помывки платы....

 

Ну и последнее - на 900D лучше не ориентироваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да непонятно что за модем у вас SIM900 или SIM900D; разница есть.

И также непонятно, зачем внешний стек ипользовать, боязьнь от SIM300 осталась?

Внутренний стек не так и плох, сделать ему аналог снаружи не просто, да и зачем?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробую ответить по порядку.

 

И что, все работает? Не верю. Так что или с написанием ошиблись, или заливайте как положено прошивку.

Вполне возможно что и залили не ту прошивку. Спасибо за замечание.

 

Где можно найти прошивку для sim900d ?

 

Внутренний стек не так и плох, сделать ему аналог снаружи не просто, да и зачем?

Есть такая вещь, как обратная совместимость. Внешний стэк остался еще от мс35. Модемный модуль лишь часть нашего изделия; изменения в нем тянут за собой изменения в массе других подсистем. Поэтому пока что будет внешний (работающий, за исключением описанной проблемы) стек. Кроме того, сохранение внешнего стека позволит сравнительно безболезненно перейти на другую модель модема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>Где можно найти прошивку для sim900d ?

 

Если брали у нас - то как обычно письмом запрос, я вышлю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновили прошивку:

 

Revision:1137B08SIM900D64_ST_DTMF_JD_MMS

 

Уже даже не делаем AT+CGDCONT=1 итд. Перезагрузка просто на

 

AT+CGDCONT?

 

в мукс-режиме.

 

В обычном режиме отвечает

 

+CGDCONT: 1,"IP","vpni.kyivstar.net","0.0.0.0",0,0

+CGDCONT: 3,"IP","","0.0.0.0",0,0

 

Не думаю что дело в железе. Эта команда ведь не приводит к смене режима работы модема, потребления питания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, пожалуйста лог с RX/TX модема в виде АТ команд и данных. Желательно с временными метками.

Можно снять сниффером - например LGComSpyInst или терминалом с второго компа физически читающего обе линии.

 

И еще вопрос - это под линуксом ? Потому что если прийдется снимать внутренний протокол работы модуля, то сервисная программа перехватчик работает только в виндовой среде. Прийдется на дебаг порт подключать комп с виндой и прогой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, только вашей программой это так:

 

serial[2]=52/R

serial[3]=44/D

serial[4]=59/Y

serial[5]=d/

serial[6]=a/

 

gsmMuxd[18024]: is in extract_frames

gsmMuxd[18024]: Dropping frame: expected packet length is 8751, received 7

gsmMuxd[18024]: out of extract_frames

gsmMuxd[18024]: Serial Data

serial[0]=d/

serial[1]=a/

 

serial[2]=2b/+

serial[3]=43/C

serial[4]=46/F

serial[5]=55/U

serial[6]=4e/N

serial[7]=3a/:

serial[8]=20/

serial[9]=31/1

 

А надо как в терминале....

 

RDY

 

+CFUN: 1

 

Если не срочно, то как время будет переварю Ваш текст в удобочитаемый чтобы посмотреть что там к чему.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как же его сделать как в терминале, если там бинарные пакеты идут ? RDY CFUN -- это как раз данные, которые хоть и в текстовом виде приходят (которые можно расписать в строки как вы хотите), но их там быть не должно!!! Должны приходить пакеты с ответами, завернутые в байты f9 (сигнатура начала/конца пакета в протоколе GSM 07.10), вместо этого модем перегружается и выдает RDY +CFUN итд -- заставку загрузки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

инициализация и все что предвараяет данные ведь не бинарная, а АТ команды.

кроме того бинарник можно вписать в виде массива.

 

ну и как я уже говорил что если в инициализации все правильно, то возможно к дебаг порту прийдется подключить комп с виндами и снять лог сервисной программой чтобы видеть что в модуле творится в момент перезагрузки

 

и еще - питание линейный стабилизатор или импульсник?

второе - это на всех операторах такое?

третье работаете на автоопределении или фиксированой скорости?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...