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

Siemens MC35i не отвечает после попытки перевести в мультиплексорный режим

Здравствуйте!

На свою голову попробовал использовать мультиканальный (мульплексорный) режим на модеме Siemens MC35i.

Воспользовался под Linux для этого утилитой gsmmux. Ну это не суть. Утилита инициирует мультиплексорный режим последовательностью команд:

 

AT+IPR=57600

AT

AT&S0

AT\Q3

AT+CMUX=0

 

Других логов к сожалению нет, известно только, что на AT+CMUX=0 ответа "OK" от модема получено не было.

После этого он вообще ни на что не отвечает. А ужас весь в том, что и после перезагрузки работоспособность модема не восстанавливается.

Ещё более ужасное, что решив что модем умер, я попробовал тоже самое проделать над другим модемом (точно модель смогу назвать завтра, если необходимо) и он вошёл в точно такой же "рыбий" режим.

 

На последовательность байт (0xC3, 0x01), которые вроде бы должны вернуть привычный AT-режим, модем тоже не реагирует. Но индикатор ведёт себя должным образом сигнализируя о том, что соединение со станцией установлено или не установлено если SIM-карты нет.

 

При включении питания на COM-порт приходит какая-то последовательность байт. Не уверен что это важно, но завтра постараюсь перевести её с каракулей в нормальную HEX-последовательность.

 

Я не верю в то что эти модемы умерли безвозвратно, но чего же они ожидают теперь на входе?

Помогите, пожалуйста! И заранее спасибо!

 

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


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

Второй модем называется iRZ automation MC52iT.

Ответ при включении:

00 f8 66 98 66 66 98 e6 98 06 66 06 86 98 06 66 e6 80 98 80

 

В общем начальный 00 и конечный 80, вроде как говорит о том что это не совсем мусор. Буду расшифровывать.

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


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

Ответ при включении:

00 f8 66 98 66 66 98 e6 98 06 66 06 86 98 06 66 e6 80 98 80

 

Долгое изучение спецификаций "Multiplexer User's Guide" от Siemens и протокола GSM07.10 позволяет заключить, что это ответ не в формате этого протокола.. Похоже на тупик, не знаю куда копать дальше..

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


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

Посмотрите может этот документ вам поможет.

Ну и на список литературы в конце статьи гляньте....

 

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


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

Посмотрите может этот документ вам поможет.

Ну и на список литературы в конце статьи гляньте....

Да, как я уже говорил не похоже это почему-то на MUX-протокол.

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

В основном это перемежающиеся "0x06 0x66 0xFE", где 0x66 может повторятся от 0 до 6 раз.

В частности этот вывод возникает после посылки последовательности "0x09 0x20" много раз.

При этом у модема есть некий таймаут в 30 секунд, если прервать посылать что либо на вход, то через 30 секунд возникает ответ:

 

e6 80 98 80 66 86 98 86 98 e6 98 18 66 1e 98 80

 

А совсем редко при посылке случайной последовательности возникают и более интересные ответы. Вот только один из них:

 

e0 f8 1e 98 86 06 06 1e 1e e0 fe 86 fe e6 fe fe 78 7e 06 18 06 e0 fe 1e 98 80

 

Вынимать их довольно сложно, какой-то закономерности в них я не нашёл, но они бывают разными.

Бывают ответы без "0x06 0x66 0xfe" и очень длинные. Например:

             06 06 7e 86 9e 98 e0  86 e0 e6 e6 9e e6 e6 06  |...~............|
00000140  1e 7e 80 e6 80 fe e0 66  86 18 86 18 86 06 78 18  |.~.....f......x.|
00000150  fe 18 66 60 fe e6 e0 00  98 9e e0 e0 9e 98 98 80  |..f`............|
00000160  00 86 80 80 fe fe e0 e0  06 80 60 06 1e e0 f8 80  |..........`.....|
00000170  e6 60 18 86 60 86 66 9e  60 78 18 fe 78 9e 66 00  |.`..`.f.`x..x.f.|
00000180  78 78 60 98 98 1e 66 1e  7e 86 18 1e 18 fe 18 7e  |xx`...f.~......~|
00000190  80 00 66 80 66 1e 98 9e  80 9e 98 9e 7e 78 80 e0  |..f.f.......~x..|
000001a0  7e f8 80 00 1e e6 7e 7e  f8 60 60 98 06 f8 60 7e  |~.....~~.``...`~|
000001b0  78 66 fe 00 98 e6 fe f8  e0 98 1e f8 f8 78 e6 e0  |xf...........x..|
000001c0  9e f8 7e 7e e6 7e e6 86  f8 e0 18 78 78 66 66 18  |..~~.~.....xxff.|
000001d0  80 66 9e 60 98 98 00 80  e0 06 78 06 e0 e0 66 18  |.f.`......x...f.|
000001e0  7e fe 66 f8 9e 9e 80 e0  86 78 78 1e 98 fe e6 98  |~.f......xx.....|
000001f0  e6 9e 80 86 9e 66 1e 18  00 e6 e6 7e 9e e6 18 e6  |.....f.....~....|
00000200  66 7e 66 00 98 9e 60 98  1e 9e 86 86 86 1e 9e 00  |f~f...`.........|
00000210  e0 86 f8 f8 80 80 00 18  80 18 06 86 e6 e6 78 00  |..............x.|
00000220  00 e6 f8 06 18 60 80 7e  e6 98 66 e0 9e 98 06 06  |.....`.~..f.....|
00000230  f8 66 60 66 86 18 e6 00  06 98 18 00 9e fe 98 e0  |.f`f............|
00000240  66 86 60 9e e0 66 98 66  1e f8 60 7e 80 9e fe f8  |f.`..f.f..`~....|
00000250  fe 78 06 9e 7e e6 e0 e0  e0 e0 80 66 86 f8 66 80  |.x..~......f..f.|
00000260  9e e6 98 80 1e 7e 66 78  78 98 60 86 66 86 00 9e  |.....~fxx.`.f...|
00000270  e0 e6 06 60 98 9e f8 e0  e6 f8 e0 e0 98 66 80 9e  |...`.........f..|
00000280  e6 78 78 86 7e 7e 1e 86  86 06 78 e6 60 1e 86 f8  |.xx.~~....x.`...|
00000290  78 1e 18 e6 86 80 80 86  9e e6 e0 fe 86 86 60 80  |x.............`.|
000002a0  60 fe 00 80 f8 1e 86 e6  98 80 78 e0 78 fe 86 00  |`.........x.x...|
000002b0  66 fe 98 80 86 06 e6 e6  60 86 98 80 98 e6 9e 86  |f.......`.......|
000002c0  66 98 f8 86 86 e0 7e e6  00 06 9e e0 86 60 80 86  |f.....~......`..|
000002d0  f8 86 e6 e6 e6 fe 9e fe  9e 86 e0 06 78 60 86 86  |............x`..|
000002e0  e6 86 7e 80 66 9e 66 fe  fe 7e 98 f8 86 86 9e 60  |..~.f.f..~.....`|
000002f0  86 18 7e 66 1e 18 66 fe  18 f8 e6 f8 86 80 1e f8  |..~f..f.........|
00000300  86 98 e0 18 80 7e 66 9e  00 1e 66 9e 9e 1e 86 00  |.....~f...f.....|
00000310  60 80 60 06 60 78 06 60  e0 f8 7e 66 66 86 86 00  |`.`.`x.`..~ff...|
00000320  e6 e6 06 e6 9e 7e 60 60  80 86 f8 f8 66 9e 86 18  |.....~``....f...|
00000330  66 06 98 18 f8 78 78 7e  98 80 f8 9e 9e 60 18 06  |f....xx~.....`..|
00000340  06 60 18 00 9e fe 06 e6  e0 7e 1e 80 7e 1e 78 98  |.`.......~..~.x.|
00000350  80 1e 9e f8 9e 06 98 e0  98 9e 86 86 fe 1e fe 78  |...............x|
00000360  86 e0 80 80 00 18 80 1e  06 80 00 18 80 86 fe 06  |................|
00000370  18 9e 1e 7e 7e 7e e0 98  86 e6 9e 9e 86 e6 e6 7e  |...~~~.........~|
00000380  e6 66 00 18 7e 18 98 9e  e6 e6 86 fe 66 80 00 18  |.f..~.......f...|
00000390  80 1e 60 86 80 1e e6 86  86 00 98 e0 e0 e0 00 1e  |..`.............|
000003a0  80 e6 78 06 e0 f8 80 9e  80 e6 9e 98 7e 86 e0 e6  |..x.........~...|
000003b0  86 e6 60 1e 86 00 98 00  e6 e6 fe 1e 80 06 f8 86  |..`.............|
000003c0  9e 66 f8 86 78 60 1e fe  98 9e 00 86 66 e6 e6 86  |.f..x`......f...|
000003d0  80 06 18 86 e0 f8 86 98  1e f8 66 78 f8 86 e0 e6  |..........fx....|
000003e0  e6 00 1e 06 80 e6 66 98  e6 f8 86 78 18 98 9e fe  |......f....x....|
000003f0  9e 7e 9e e0 06 78 06 e6  9e fe 1e 00 86 80 80 e0  |.~...x..........|
00000400  18 98 fe 86 66 e0 e6 f8  86 60 f8 f8 1e 18 fe 1e  |....f....`......|
00000410  66 86 78 80 86 80 f8 86  e0 06 60 9e 66 86 80 1e  |f.x.......`.f...|
00000420  60 00 e0 78 80 e6 e0 06  18 f8 9e 80 9e 86 e6 78  |`..x...........x|
00000430  86 66 e6 18 f8 f8 fe fe  1e 06 e0 86 e6 80 78 98  |.f............x.|
00000440  e0 e6 98 fe e6 e6 66 00  86 9e 00 78 80 00 86 98  |......f....x....|
00000450  e6 98 fe 9e 18 66 98 9e  86 7e 06 fe

 

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

По крайней мере из 423 таких дуплей уникальными являются 201. В принципе это, конечно, ещё ничего не значит.

Поэтому я просто попробую проанализировать на выходных 100 Килобайтный лог ответов этого модема.

 

В общем даже без 100 Кб видно, что корректными в этой кодировке считаются только 16 значений байта:

00, 06, 18, 1e, 60, 66, 78, 7e, 80, 86, 98, 9e, e0, e6, f8, fe

 

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

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


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

На последовательность байт (0xC3, 0x01), которые вроде бы должны вернуть привычный AT-режим, модем тоже не реагирует.

 

Для закрытия используется mux фрейм, т.е. не просто два байта, а :

FLAG (0xF9)

Адрес для 0 канала

тип кадра UIH (0xEF)

длина 0x02

Ваши 0xC3 и 0x01

байт CRC

FLAG (0xF9)

 

 

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


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

Для закрытия используется mux фрейм, т.е. не просто два байта, а :

FLAG (0xF9)

Адрес для 0 канала

тип кадра UIH (0xEF)

длина 0x02

Ваши 0xC3 и 0x01

байт CRC

FLAG (0xF9)

 

Ну, да, я в курсе, я это делал опять же тем же кодом из gsmmux, он там автоматически во фрейм всё это засовывает. (gsmmux вообщем сам пытается закрыть MUX режим, если нет ответа на "AT").

Но судя по стандарту ответы модема тоже ведь должны быть в том же формате. Но там фреймов 0xF9 и в помине нет.

А главное - по стандарту он и вовсе не должен был войти ни в какой режим, так как по таймаут'у должен был вернуться к приёму AT-команд.

К сожалению не знаю что происходит если модем работает со скоростью 57600, а скорость порта у меня установлена 115200. Я только пробовал устанавливать скорость порта 57600, и в этом случае я получаю такие же ответы во время включения.

Да и в gsmmux не думаю, что могли так глупо не учесть скорость. Ну и наконец я даже Multiplexer драйвер под Windows пробовал ставить, но он точно также не может найти его.

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


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

К сожалению не знаю что происходит если модем работает со скоростью 57600, а скорость порта у меня установлена 115200. Я только пробовал устанавливать скорость порта 57600, и в этом случае я получаю такие же ответы во время включения.

AT+IPR=57600 это установка соответствующей скорости. Одинаковых ответов не может быть на разных скоростях, если только модем не в режиме autodetect (AT+IPR=0). Может все таки подключить модем к какому-нибудь терминалу и перебрать все скорости по порядку или осциллографом посмотреть реальную скорость?

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


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

AT+IPR=57600 это установка соответствующей скорости. Одинаковых ответов не может быть на разных скоростях, если только модем не в режиме autodetect (AT+IPR=0). Может все таки подключить модем к какому-нибудь терминалу и перебрать все скорости по порядку или осциллографом посмотреть реальную скорость?

 

Спасибо, я попробую ещё раз погонять разные скорости, но это уже будет в воскресенье. Просто странно, что этого ни одна утилита не делает автоматически.

 

Вообще поиск в Google по строке из 16 всевозможных значений байта, выдаёт всего 2 ответа:

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

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

. а не 19200.

 

Кроме того значения этих "корректных" значений байта в двоичной форме наводит на мысль, что это как бы "размазанные" (раздвоенные) на скорости биты:

 

00000000
00000110
00011000
00011110
01100000
01100110
01111000
01111110
10000000
10000110
10011000
10011110
11100000
11100110
11111000
11111110

 

Наконец, так часто встречающиеся "98 80" в ответах модема (в двоичной форме "10011000 10000000"). В принципе похоже на "AT" (Шестнадцатиричное "41 54", двоичное "01000001 01010100"), особенно если отсечь биты с 3-го по 6-ой.

На порядок можно внимание не обращать, так как "80 98" встречается отнюдь не реже.

 

И если я прав, то "06" и "66" это точно такие же размазанно усечённые "\r" или "\n".

 

Пока выходные может попробую ещё что-то порасшифровывать в призме этой теории.

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

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


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

Если программа терминала будет перебирать скорости (число бит, четность и т.п.) для оконечного оборудования, то она сойдет с ума. В оконечном оборудовании (модеме) это проще сделать, потому что, например, модем знает что ему придет от терминала - возврат каретки или AT, а терминал ничего не знает про оконечное оборудование.

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


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

Если программа терминала будет перебирать скорости (число бит, четность и т.п.) для оконечного оборудования, то она сойдет с ума. В оконечном оборудовании (модеме) это проще сделать, потому что, например, модем знает что ему придет от терминала - возврат каретки или AT, а терминал ничего не знает про оконечное оборудование.

 

Спасибо, Вам огромное, вы действительно правы!

Установка скорости порта на 57600 решила проблему. Да, в Интернете везде указано о важности установки верной скорости, но просто немного поработав на режиме автоматического определения скорости, для меня стало неожиданностью, что gsmmux устанавливает режим постоянной скорости.

 

Кроме того там отключилось эхо, и я вероятно не донабрав "AT" решил, что оно не работает когда пытался первый раз установить верную скорость.

 

Кстати, вот, на самом деле какое сообщение присылает модем при старте (его не видно при автоматическом определении скорости, так как видимо до посылки команды модем ещё не знает нужную скорость): "^SYSSTART".

А при таймауте: "ERROR".

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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