Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900DS не выдает приглашение после ATD*99#
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Ilya_A
Всем добрый день!

Подскажите пожалуйста по проблеме: имею SIM900DS, вставлена одна симка в первый слот.
Работаю в режиме мультиплексора. второй канал я планировал под AT команды, первый - под GPRS.

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

Проблема в том, что после CONNECT-а из модуля не вываливается ни одного PPP пакета. и секунд через 15-20 приходит NO CARRIER.
Не приходит железно - проверял в дебаге исходный буфер с усарта еще до обработки протоколом мультиплексора.

Деньги на балансе есть, симка с других мобил в интернет ходит без проблем. AT+CGATT возвращает 1.
Пробывал набирать и ATD*99***1# - результат тот же. Пробывал на другой симке - та же фигня.
Куда копать дальше уже и не знаю...

Может с симом какое-то волшебное слово нужно? Просто в свое время на MC52i у меня работало нормально.

Вот лог:
Цитата
Sim включился
0<AT
0>OK
0<AT+CMUX=0
0>OK
2<AT+CDSDS=1
2>OK
2<AT+CMGF=0
2>OK
2<AT+CREG?
2>+CREG: 0,2
2>OK
.....
2<AT+CREG?
2>+CREG: 0,1
2>OK
2<atd*101#;
2>OK
2>+CUSD: 0,"Balans 173 r. ",64
1>+CUSD: 0,"Balans 173 r. ",64
1<AT+CGDCONT=1,"IP","inet.bwc.ru"
1>OK
1<ATD*99#
1>CONNECT
2>NO CARRIER


PS: модуль брал в МТ-системс.

PPS: ну и раз уж залез на форум, может кто подскажет, можно ли в симе выделить отдельный канал под URC? а то они на все порты вываливаются судя по балансу. хотя интересно, что NO CARRIER пришел на второй канал а не на первый.
CADiLO
The reason PPP information is not given for SIM900 is SIM900 need to initiate the negotiate process firstly after the ”CONNECT” is shown, while SIMI300 is done by server.

In fact, after you have seen the string of ”CONNECT”, if you input ”7E FF 7D 23 C0 21 7D 21 7D 20 7D 20 7D 37 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 3C 3D 48 83 7D 27 7D 22 7D 28 7D 22 7D 2D 7D 23 7D 26 30 51 7E” in the serial port, you will see the negotiate process for PPP in SIM900
Ilya_A
Цитата(CADiLO @ Oct 2 2014, 21:31) *
The reason PPP information is not given for SIM900 is SIM900 need to initiate the negotiate process firstly after the ”CONNECT” is shown, while SIMI300 is done by server.

In fact, after you have seen the string of ”CONNECT”, if you input ”7E FF 7D 23 C0 21 7D 21 7D 20 7D 20 7D 37 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 3C 3D 48 83 7D 27 7D 22 7D 28 7D 22 7D 2D 7D 23 7D 26 30 51 7E” in the serial port, you will see the negotiate process for PPP in SIM900

Спасибо огромное за наводку! Убил пол вечера на эту фигню. Все даташиты которые были в наличии пролистал, нигде такого приема не обнаружил. Киньте пожалуйста документ, где это написано, может там еще какие-нибудь подводные камни для себя открою.
CADiLO
Это не документ, это письмом китайцы отвечали. Исходят из того что PPP уже ни операторам ни производителям не выгоден.....
Поищите по форуму, эта тема уже была.

Ilya_A
Цитата(CADiLO @ Oct 2 2014, 22:54) *
Исходят из того что PPP уже ни операторам ни производителям не выгоден.....

Интересные дела, может я отстал от жизни? Чем же сейчас тогда предлагают китайцы пользоваться взамен, раз скрыли информацию в офиц. доках о специальной процедуре запуска авторизации по PPP?
Исключая вариант со встроенным стэком, он какой-то кривоватый на мой взгляд.

Цитата(CADiLO @ Oct 2 2014, 22:54) *
Поищите по форуму, эта тема уже была.

Сходу найти тему к сожалению не смог, если есть под рукой ссылка или помните ключевые слова, подскажите, если не затруднит.
CADiLO
>>>Чем же сейчас тогда предлагают китайцы пользоваться взамен

http://www.microchip.ua/simcom/SIM900x/App...0Note_V1.02.pdf
http://www.microchip.ua/simcom/SIM900x/App...0Note_V1.05.pdf

Или из ЕАТ - там есть точка входа в начальный уровень


>>>если есть под рукой ссылка или помните ключевые слова

Тема "Переход с SIM300D на SIM900D, Перестало устанавливаться соединение GPRS"
Ilya_A
Цитата(CADiLO @ Oct 3 2014, 01:49) *
http://www.microchip.ua/simcom/SIM900x/App...0Note_V1.02.pdf
http://www.microchip.ua/simcom/SIM900x/App...0Note_V1.05.pdf

Или из ЕАТ - там есть точка входа в начальный уровень

Спасибо, но это я уже читал, и это опять все те же встроенные фичи, которые не добавляют универсальности программе.
Если, например, взять центурионы, то сокеты там хотя бы обезличены, и можно открывать любые соединения, хоть TCP UDP FTP EMAIL и т.д. и общение с ними будет стандартизовано и однообразно вне зависимости от его типа. И производится оно только через две команды SISW и SISR. В СИМ-ах же все сделано довольно не однозначно. Что касается TCP и UDP еще похоже, а в остальном, полная жуть: куча своеобразных команд для настройки и передачи данных....

Для студента конечно самое то, но когда есть целый парк готовых приборов на различных модулях: SIM508, MC52i, SIM300, SIM900D, SIM900DS то уже начинает тошнить от количества дефайнов в программе. Хочется постоянства. И это сможет обеспечить только свой TCP/IP стэк.
CADiLO
Тогда ЕАТ - там вход в РРР и далее все свое.
Только для EAT SIM900DS должен быть со 128 памятью, мы их только начали привозить.

http://microchip.com.ua/simcom/?link=/SIM9...00/EAT/SIM900DS
Ilya_A
Цитата(CADiLO @ Oct 4 2014, 01:08) *
Тогда ЕАТ - там вход в РРР и далее все свое.
Только для EAT SIM900DS должен быть со 128 памятью, мы их только начали привозить.

http://microchip.com.ua/simcom/?link=/SIM9...00/EAT/SIM900DS

Пока я еще никогда не связывался с EAT, но на сколько я понимаю это только подорвет все основы для написания универсального кода для разных GSM модулей. (см. мой пост выше)

В любом случае вам огромное спасибо за помощь и участие в обсуждении!
Ilya_A
Как я не бился, так выйти в интернет я на SIM900DS и не смог sad.gif

Подскажите, кто в курсе, в чем может быть проблема?

Есть два устройства. Симка одна и та же, программа тоже. Разное - только модем

Вот лог с модемом Cinterion MC52i, такой же на терминале TC35:
Цитата
1<AT+CGDCONT=1,"IP","inet.bwc.ru"
1>OK
1<ATD*99***1#
1>CONNECT
1>C0 21 01 03 00 19 02 06 00 0A 00 00 07 02 08 02 05 06 CF 2D 37 21 03 05 C2 23 05 [LCP]
1<C0 21 04 03 00 0A 02 06 00 0A 00 00 [LCP]
1>C0 21 01 05 00 13 07 02 08 02 05 06 CF 2D 37 21 03 05 C2 23 05 [LCP]
1<C0 21 04 05 00 06 07 02 [LCP]
1>C0 21 01 07 00 11 08 02 05 06 CF 2D 37 21 03 05 C2 23 05 [LCP]
1<C0 21 04 07 00 06 08 02 [LCP]
1>C0 21 01 09 00 0F 05 06 CF 2D 37 21 03 05 C2 23 05 [LCP]
1<C0 21 04 09 00 0A 05 06 CF 2D 37 21 [LCP]
1>C0 21 01 0B 00 09 03 05 C2 23 05 [LCP]
1<C0 21 01 0B 00 08 03 04 C0 23 [LCP]
1>C0 21 02 0B 00 08 03 04 C0 23 [LCP]
1>C0 21 01 0B 00 08 03 04 C0 23 [LCP]
1<C0 21 02 0B 00 08 03 04 C0 23 [LCP]
1<C0 23 01 0C 00 06 00 00 [PAP]
1>C0 23 02 0C 00 05 00 [PAP]
1<80 21 01 0D 00 0A 03 06 00 00 00 00 [IPCP]
1>80 21 01 01 00 0A 03 06 C0 A8 FE FE [IPCP]
1<80 21 02 01 00 0A 03 06 C0 A8 FE FE [IPCP]
1<80 21 01 02 00 0A 03 06 C0 A8 FE FE [IPCP]
1>80 21 03 0D 00 0A 03 06 0A FE F2 EB [IPCP]
1<80 21 01 0D 00 0A 03 06 0A FE F2 EB [IPCP]
1>80 21 03 02 00 0A 03 06 0A FE F2 EB [IPCP]
1<80 21 01 02 00 0A 03 06 0A FE F2 EB [IPCP]
1>80 21 02 0D 00 0A 03 06 0A FE F2 EB [IPCP]
1<80 21 01 02 00 0A 03 06 0A FE F2 EB [IPCP]
1>80 21 02 02 00 0A 03 06 0A FE F2 EB [IPCP]
1>80 21 02 02 00 0A 03 06 0A FE F2 EB [IPCP]

видно, что в данном случае сервер начинает сам слать PPP пакеты. В логе для читаемости приведены уже распарсенные PPP пакеты в которых опущены первые два байта 0xFF 0x03, и последние два байта CRC. Модем без проблем получает IP-шку и выходит в интернет. В квадратных скобках - тип протокола

Вот лог на SIM900DS, после CONNECT по совету CADiLO шлется PPP пакет присланный китайцами:
Цитата
1>CONNECT
1<C0 21 01 00 00 17 02 06 00 00 00 00 05 06 3C 3D 48 83 07 02 08 02 0D 03 06 [LCP]
1>C0 21 01 01 00 0E 02 06 00 0A 00 00 03 04 C0 23 [LCP]
1<C0 21 04 01 00 0A 02 06 00 0A 00 00 [LCP]
1>C0 21 04 00 00 11 05 06 3C 3D 48 83 07 02 08 02 0D 03 06 [LCP]
1>C0 21 01 02 00 08 03 04 C0 23 [LCP]
1<C0 21 02 02 00 08 03 04 C0 23 [LCP]
1<C0 23 01 03 00 06 00 00 [PAP]
1>C0 21 01 02 00 08 03 04 C0 23 [LCP]
1<C0 21 02 02 00 08 03 04 C0 23 [LCP]
1<C0 23 01 03 00 06 00 00 [PAP]
1>C0 21 01 02 00 08 03 04 C0 23 [LCP]
1<C0 21 02 02 00 08 03 04 C0 23 [LCP]
1<C0 23 01 03 00 06 00 00 [PAP]
1>C0 21 01 02 00 08 03 04 C0 23 [LCP]
1<C0 21 02 02 00 08 03 04 C0 23 [LCP]
1<C0 23 01 03 00 06 00 00
............
............

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

Далее я решил после CONNECT серверу сразу отправить запрос с нужной мне опцией авторизации, вот что из этого вышло:
В фигурных скобках распечатано содержимое пакета
Цитата
1>CONNECT
1<C0 21 01 00 00 08 03 04 C0 23 [LCP]
1>C0 21 01 01 00 0E 02 06 00 0A 00 00 03 04 C0 23 [LCP]
1<C0 21 04 01 00 0A 02 06 00 0A 00 00 [LCP]
1>C0 21 02 00 00 08 03 04 C0 23 [LCP]
1>C0 21 01 02 00 08 03 04 C0 23 [LCP]
1<C0 21 02 02 00 08 03 04 C0 23 [LCP]
1<C0 23 01 03 00 06 00 00 [PAP]
1>C0 23 02 03 00 0D 08 4C 6F 67 69 6E 20 4F 4B [PAP] {Login OK}
1<80 21 01 04 00 0A 03 06 00 00 00 00 [IPCP]
2>NO CARRIER
1>C0 21 06 03 00 3E 50 44 50 20 63 6F 6E 74 65 78 74 20 61 63 74 69 76 61 74 69 6F 6E 20 66 61 69 6C 65 64 2C 20 6E 6F 20 [LCP] {PDP context activation failed, no network protocol running LCP}
1<C0 21 06 03 00 3E 50 44 50 20 63 6F 6E 74 65 78 74 20 61 63 74 69 76 61 74 69 6F 6E 20 66 61 69 6C 65 64 2C 20 6E 6F 20 6E 65 74 77 6F 72 6B 20 70 72 6F 74 6F 63 6F 6C 20 72 75 6E 6E 69 6E 67 [LCP]
1<80 21 01 04 00 0A 03 06 00 00 00 00 [IPCP]
1>C0 21 06 03 00 3E 50 44 50 20 63 6F 6E 74 65 78 74 20 61 63 74 69 76 61 74 69 6F 6E 20 66 61 69 6C 65 64 2C 20 6E 6F 20 6E 65 74 77 6F 72 6B 20 70 72 6F 74 6F 63 6F 6C 20 72 75 6E 6E 69 6E 67 [LCP] {PDP context activation failed, no network protocol running LCP}
1>80 21 01 04 00 0A 03 06 00 00 00 00 [IPCP]

Сначала все шло хорошо, и даже сервер прислал подтверждение на пакет PAP (правда в отличие от MC52i, где содержимое ответа было пустое, для SIM900 была прислана фраза "Login OK")
Но как только я отправил пакет IPCP для получения IP адреса, во второй канал мультиплексора вываливается "NO CARRIER", а в первый - LCP сообщение на разрыв соединения с текстом: "PDP context activation failed, no network protocol running LCP", затем IPCP пакет с кодом REJECT

Что только я уже не перепробывал с SIM900DS, но получается один из двух вариантов: либо зацикливается на LCP, либо разрывается при попытке получения IP адреса.

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

PS: на модемах фирмы siemens никаких похожих проблем никогда не возникало...

Harvester
Цитата(CADiLO @ Oct 2 2014, 16:31) *
”7E FF 7D 23 C0 21 7D 21 7D 20 7D 20 7D 37 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 3C 3D 48 83 7D 27 7D 22 7D 28 7D 22 7D 2D 7D 23 7D 26 30 51 7E” in the serial port, you will see the negotiate process for PPP in SIM900

Добрый день.
А Вы случайно не знаете протокола для этой магической последовательности? Снаружи это HDLC, а вот что внутри?

Update:
Еще раз почитал тему и вроде бы понял - содержимое внутри HDLC-пакета определяется форматом кадра соответствующего протокола. Я прав?
Смог расшифровать 4 типа пакетов:
C021 - LCP
C223 - CHAP
80FD - CCP
8021 - IPCP
Остались непонятными 2146 и 2145. Вики говорит, что это протоколы сетевого уровня, вот только какие - непонятно.
Harvester
Все, сам разобрался. Это пакеты IP (0021) с включенным PFC
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.