Полная версия этой страницы:
SIM900 CMUX
Sagittarius
Oct 19 2012, 11:08
Здравствуйте.
Вопрос по CMUX. Включил режим, поднял 4 порта как в мануале. Теперь надо по IP соединится с сервером и открыть listen сокет. Надо ли для этого включать +CIPMUX или достаточно просто поднимать соединение с сервером +CIPSTART и сокет +CIPSERVER на разных виртуальных портах ? И попутный вопрос: если на одном виртуальном порту включить сокет слушать, по другому передавать данные на сервер и тут приходит SMS или RING - где о нем будет сообщение? можно ли назначить виртуальный порт для подобного остального обмена, чтоб соединения по IP были отдельно?
Спасибо.
DreamTwister
Oct 19 2012, 12:01
CIPMUX (IPшный мультиплексор) ника не связан с общемодемным, так что можно создавать соединения как с ним, так и без него.
Сообщения об СМС и звонках приходят сразу на все 4 канала мультиплексора. При этом соединение по IP будет соотнесено с тем каналом, с которым изначально была начата работа.
Alechek
Aug 14 2013, 14:06
Разбираюсь с мультиплексором.
Почему-то считал, что каждый канал живет своей жизнью, как написано в 3GPP TS 07.10
Цитата
Each channel will start life as an instance of GSM 07.07, and will allow the normal AT command procedures for both
GSM 07.07 and GSM 07.05. Any changes made to the AT register settings will be valid within the virtual channel only.
В том числе, по выдаче незапрашиваемых ответов. (видел такое в USB свистках, где по одному порту постоянно валится всякая инфа, по другому ходят АТ команды, по третьему данные)
Не проверял другие модемы, но SIMCOM видимо считает иначе: настройка выдачи незапрашиваемых ответов считается глобальной и действет на все каналы сразу!!!
Вот не пойму, зачем мне ВОСЕМЬ! раз получать сообщения о регистрации в сети?
Alechek
Aug 15 2013, 08:44
Посомтрел еще.
У телита в
CMUX User Guide Цитата
7.10 CMUX Basic Option used
CMUX implementation support four full DLCI (Serial Port)
Every CMUX instance has its own user profile storage in NVM
Independent setting of unsolicited message.
In case of GPS product one serial port can be dedicated to NMEA output.
Every CMUX instance has its own independent flow control.
У симкома в "AN_SIM900_Multiplexer User Manual_V1.3.pdf" в разделе
1.3 Restrictions не нашел упоминаний ни о настройках каналов, ни о их количестве!
Где можно узнать подробней? Может есть все-таки механизм настройки каждого канала индивидуально?
Цитата(Alechek @ Aug 15 2013, 11:44)

У симкома в "AN_SIM900_Multiplexer User Manual_V1.3.pdf" в разделе 1.3 Restrictions не нашел упоминаний ни о настройках каналов, ни о их количестве!
4 канала - посмотрите на картинку в разделе 1.2.
Цитата(Alechek @ Aug 15 2013, 11:44)

Где можно узнать подробней? Может есть все-таки механизм настройки каждого канала индивидуально?
Каждый канал
должен работать индивидуально(но не обязательно что-бы все каналы были симметричными), если это не так варианта два - или ждать новой прошивки где возможно это исправят или работать с тем, что есть.
PS Вы-бы описали ситуацию по-подробней - про какие именно сообщения идет речь. SIM900 в mux режиме не юзал, но с SIM300 проблем не было.
Waldelk
Aug 15 2013, 12:08
Цитата(Sagittarius @ Oct 19 2012, 15:08)

Здравствуйте.
И попутный вопрос: если на одном виртуальном порту включить сокет слушать, по другому передавать данные на сервер и тут приходит SMS или RING - где о нем будет сообщение?
Все диагностические сообщения приходят на тот порт, через который идет обмен с терминальной сессией.
Alechek
Aug 15 2013, 12:14
Цитата(=F8= @ Aug 15 2013, 16:19)

4 канала - посмотрите на картинку в разделе 1.2.
Картинки это одно. На деле - все по другому. Каналов у 900-го открывается 8 штук, на 9-м уже идет DM сообщение (не открывается).
Да и в теме можно найти высказывания
CADiLO про 8 каналов
Цитата(=F8= @ Aug 15 2013, 16:19)

Каждый канал должен работать индивидуально(но не обязательно что-бы все каналы были симметричными), если это не так варианта два - или ждать новой прошивки где возможно это исправят или работать с тем, что есть.
PS Вы-бы описали ситуацию по-подробней - про какие именно сообщения идет речь. SIM900 в mux режиме не юзал, но с SIM300 проблем не было.
Проблема, что в 1-м канале я говорю +CREG=1, затем во 2-м +CREG=0. B во всех открытых каналах никаких асинхроннных +CREG не получаю.
Если последовательность поменять, то получу асинхронный +СREG во всех (8-ми) каналах.
PS Эт хорошо, что проблем с SIM300 не было. Прошивка с мультиплексорным управлением планируется как обновление для всех текущих устройств. А они и на 300D/900D/900/900DS.
По этой же причине ждать исправления бессмысленно, надо адаптироваться к существующему.
CADiLO
Aug 15 2013, 12:27
В последних версиях прошивок - четыре. Согласно даташиту на АТ.
None Multiplexer Control DLCI=0
Channel Number - Type - DLCI
1 07.07 and 07.05 1
2 07.07 and 07.05 2
3 07.07 and 07.05 3
4 07.07 and 07.05 4
Касаемо URC сразу не отвечу - спрошу китайцев, так как сам еще с MUX подробно не разбирался.
Цитата(Alechek @ Aug 15 2013, 15:14)

Проблема, что в 1-м канале я говорю +CREG=1, затем во 2-м +CREG=0. B во всех открытых каналах никаких асинхроннных +CREG не получаю.
Если последовательность поменять, то получу асинхронный +СREG во всех (8-ми) каналах.
А вот про GREG как-раз ничего не скажу. Использовал его только в режиме CREG=0.
Alechek
Aug 15 2013, 14:34
А не секрет, с какой прошивкой в 300-м работало?
у меня на столе 1008B14SIM300D32_SST34HF3
шлет, собака, одни F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9
вместо
F9 03 73 00 00 A4 F9
F9 07 73 00 00 D7 F9
F9 0B 73 00 00 42 F9
F9 0F 73 00 00 31 F9
SIMCOM_SIM300D
Revision:1008B16SIM300D32_SST34HF3284
Сорри перепроверил - тоже, что что и у вас F9 F9. Раньше тестил на каком-то IRZ модеме на SIM300, завтра попробую его найти.
CADiLO
Aug 16 2013, 06:08
Обратите внимание - SIM300 и SIM900 отличаются в реализации.
SIM300 migrate to SIM900
Parameter scope is different. ”F9 F9 F9 F9” can not be used for synchronization.
For SIM900 module, illegal MUX frame will be discarded automatically.
Из апнотеса для SIM300
The continuous bytes F9 F9 F9 F9 has the following effects:
1) Indicate MS multiplexer initialization is OK and waiting for further operations (Establish DLC)
2) The byte continuously transmitted by MS after receiving PSC message.
2) TE or MS uses to wake up the other one.
3) The synchronization bytes between TE and MS when synchronization lost.
Alechek
Aug 16 2013, 06:32
Да, уже заметил, найдя "SIMCOM Multiplexer User's Manual 1.4" на каком-то baidu для онлайн просмотра.
Эдуард, не могли бы вы поделится самой последней редакцией этого документа?
Кстати, заметил, что SIM900 допускает только CMUX=0 и различный размер кадра. А SIM300 как CMUX=0, так и CMUX=1 (но с ним вообще ничего не отвечает), но размер кадра всегда 127 и скорость 115200.
CADiLO
Aug 16 2013, 07:47
У меня последняя весия 1.3, а потом с уходом SIM300x новее не понадобилось.
Так что думаю что для SIM300 последний как раз и есть 1.4
Они должны были доделать CIPMUX, но в 1008 прошивках был только тестовый вариант , а в 1604 CIPMUX появился в последней.
SIM300_ATC_V2.03.pdf
<mode> multiplexer transparency mechanism
0 Basic option
1 Advanced option (GSM 07.10 multiplexer) - ни в SIM300, ни в SIM900 вариант 07.10 не реализован.
поэтому смотрим внизу сноску
1. Advanced option with Error Recovery options is not supported.
Alechek
Aug 16 2013, 07:52
Запустил я MUX на SIM300D. Он, оказывается, еще и поддерживает EA=1 только (то есть, однобайтовую длину), при посылке с EA=0 просиходит
Цитата
The continuous bytes F9 F9 F9 F9 has the following effects:
3) The synchronization bytes between TE and MS when synchronization lost.
URC на регистрацию в сети, как я понял, лучше не использовать.... с ними вообще непонятки.
у SIM300D
подаю +CREG=2;+CGREG=2;+CUSD=1;+CSSN=1;+COPS=0,2
получаю +CGREG: 1,"924B","902F" (так же по всем каналам) только! А где же URC +CREG... ???
CADiLO
Aug 16 2013, 07:57
попробуйте давать команды после OK предыдущей
так как у вас можно делать только с настроечными командами модуля которые не лезут к оператору
есть комбинации когда при работе с оператором последующая команда данная до ОК отменяет предыдущую
Заработал CMUX с sim300. Откатился на на одну из первых версий - работает. Оказалось у меня там была ошибка - после CMUX вычитывал все из порта в течении~2сек. Потом это исправил. Кстати нигде не находил ничего по поводу этих F9 F9 F9 F9 F9, ни Cintrion, ни Telit, ни Sagmem такого не выдают. В описании протокола такого не нашел. Симкомовское ноухау?
Alechek
Aug 16 2013, 10:15
Так в том то и дело, что эти команды все настроечные, и к оператору никак не лезут!
Эх, загадочна душа китайского чуда (SIM300D):
Без мультиплексора:
Код
AT+CREG=2;+CGREG=0;+CUSD=1;+CSSN=1;+COPS=0,2
OK
AT+CREG?
+CREG: 2,2
OK
Через мультиплексор:
Код
ùïAT0ùùï+CREG=2Ýùùï
Ôùùï
OK
_ùùïAT0ùùï
+CREG?>ùùï
Ôùùï
+CREG: 0,2
Cùùï
OK
_ùù
Ну почему 0, когда я сказал 2 и модем подтвердил запрос?
Мда, видимо, URC - просто бонус, который может быть, а может и не быть. Надежды на них нет. Грустно.
CADiLO
Aug 16 2013, 10:37
+CREG: 0,2
ноль - не зарегистрирован в сети
двойка - ваше AT+CREG=2
все верно....
Alechek
Aug 16 2013, 11:11
Ну право, хоть и пятница

, но зачем путать людей?
Первая цифра - параметр.
3GPP TS 07.07 version 7.8.0 Release 1998
Цитата
7.2 Network registration +CREG
Table 31: +CREG parameter command syntax
Command Possible response(s)
+CREG=[<n>]
+CREG? +CREG: <n>,<stat>[,<lac>,<ci>]
+CME ERROR: <err>
<n>:
0 disable network registration unsolicited result code
1 enable network registration unsolicited result code +CREG: <stat>
2 enable network registration and location information unsolicited result code +CREG: <stat>[,<lac>,<ci>]
Более того после установки AT+CREG=2;+CREG=2 в мультиплексорном канале:
+CREG: 2,2
+CGREG: 0,0
OK
<ничего не делали, подождали 3 секунды>
Call Ready
+CREG: 0,2
+CGREG: 0,0
OK
CADiLO
Aug 16 2013, 12:23
Не просто пятница, а +34....
Все... ум закипел... точно пора
Alechek
Aug 28 2013, 12:07
Дошел до момента с sim900ds.
Возник вопрос: как будет отрабатываться +CDSDS - глобально или для каждого канала?
А то получится, что одна задача меняет активную симку, а другая об этом и не подозревает....
Waldelk
Aug 30 2013, 09:48
Цитата(Alechek @ Aug 28 2013, 16:07)

Дошел до момента с sim900ds.
Возник вопрос: как будет отрабатываться +CDSDS - глобально или для каждого канала?
А то получится, что одна задача меняет активную симку, а другая об этом и не подозревает....
в модуле стоит коммутатор, который переключает SIM-карты .
в случае активности на передачу данных или голосовой вызов, вторая отключается
CADiLO
Aug 30 2013, 09:53
>>>в модуле стоит коммутатор, который переключает SIM-карты .
Ответ ошибочен. Коммутатор стоит у Квиктела в M95.
В SIM900DS обе карты ОДНОВРЕМЕННО активны на прием (что при коммутаторе невозможно) и только при передаче активна одна, НО! вторая не теряет регистрацию.
Касаемо +CDSDS - все уже написано тут - sim900-ds_application_note_v1.00.pdf
Alechek
Aug 30 2013, 12:19
Дак как бы читал.. Там про MUX ни слова...
Неопределено, "Default SIM" это для всех каналов или для текущего?
CADiLO
Aug 30 2013, 12:29
Я уточню у китайцев.
По MUX для DS еще апнот не готов. Так что разве что только попробовать.
Alechek
Nov 6 2013, 07:21
Есть ли нормальный апнот по использованию CMUX и SLEEP MODE (PSC сообщения)?
Цитата(SIM900_Multiplexer User Manual_Application Note_V1.3)
Wake up
Set DTR low
Цитата(应用_SIM900_多路复用使用手册_V1.6)
唤醒
数据流向 序号 步骤
TE<——>MS
Hex 备注
TE 发送唤醒标志 ——> F9 F9 F9 F9 注 1 1
MS 回送 <—— F9 F9 F9 F9
2 MS 被唤醒,数据收发恢复正
常
注 1
唤醒可以使用一般的帧或 4 个 Flag,这里以 4 个 Flag 为例
注:a. 以上睡眠指令是单次有效指令
b. 关于标志 F9 的作用请参考 3.1 节中的步骤 1 注 1
Wake
Data Direction No Steps
TE <-> MS
Hex Comment
TE sends wake-up flag -> F9 F9 F9 F9 Note 11
MS Loopback <- F9 F9 F9 F9
2 MS wakes up, restore data transceiver is
Often
Note 1
Wake use regular frames or four Flag, Flag this example with 4
Notes: a. Above SLEEP instruction is valid for a single command
b. concerning the role of flag F9 See 3.1 Step 1 Note 1
Первый документ для SIM900 и SIM900R]
Второй для SIM900A
Модули разные по фирмваре.
Других документов нет.
Alechek
Nov 6 2013, 09:34
То есть выяснять опять все опытным путем?

МТ тоже молчат..
Ибо в документе 1.3 есть противоречие со стандартом GSM 07.10
Цитата(5.4.7 Power Control and Wake-up Mechanisms)
Either station may initiate a wake-up from the reduced power state by the transmission of the wake-up signal which
consists of continuous flag characters. When the other station receives the flag characters it will wake-up (if necessary)
and start sending flag characters. When the first station receives these flag characters it will stop sending flags and start
transmitting the first frame. When the second station detects a valid frame it stops sending flags. The stations unfreeze
their timers and continue operation as before.
If no response (continuous flags) is received to the wake-up procedure within time T3, an alarm should be raised to the
higher layers and transmission of flags stops.
А вот 1.6 более близок.
Не верю, что китайская ветка фирмваре более правильная, чем европейская.
Цитата(Alechek @ Nov 6 2013, 13:34)

То есть выяснять опять все опытным путем?

МТ тоже молчат..
Ибо в документе 1.3 есть противоречие со стандартом GSM 07.10
А вот 1.6 более близок.
Не верю, что китайская ветка фирмваре более правильная, чем европейская.

Alechek, пришлите пожалуйста мне kirill(собака)mt-system.ru
1. АТ-лог.
2. Пометки в логе, что ожидалось.
3. Пометки в логе, что получилось (что неправильно).
Alechek
Nov 11 2013, 11:25
Ээм...
Для MUX кадров + DTR как-то странно говорить о AT логе...
Да и не экспериментировал я еще, пока что подготовливаюсь к
убиению модема командой +CDSDS.
Пока нашел, что после поднятия DTR (at+cclk=1) в режиме мультиплексора обмен данными прекращается и без кадра PSC.
Да и не собирался я
плясать с бубном экспериментировать. Хотелось просто разобраться в вопросе и сделать КАК НАДО
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.