CMUX: различия между версиями
Fizikdaos (обсуждение | вклад) |
|||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. | Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. | ||
Например через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д. | Например через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д. | ||
Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). | Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). | ||
Специальный демон, <b>cmux</b> отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, | Специальный демон, <b>cmux</b> отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, <b> /dev/ttyGSM[1-4] </b>. | ||
<b>Закрытие демона cmux до закрытия всех виртуальных портов приведёт к kernel panic!</b> | <b>Закрытие демона cmux до закрытия всех виртуальных портов приведёт к kernel panic!</b> | ||
===Демон cmux=== | |||
Оригинальный автор: | Репозитарий: https://github.com/contactless/cmux/ | ||
Оригинальный автор: https://github.com/Rtone/cmux | |||
Демон установлен по-умолчанию как "/opt/utils/gsm/cmux" в прошивках от 27.10.2013 и новее. | |||
Демон установлен по-умолчанию как "/ | |||
Скачать бинарник демона можно [https://github.com/contactless/cmux/releases/tag/0.3 здесь] | Скачать бинарник демона можно [https://github.com/contactless/cmux/releases/tag/0.3 здесь] | ||
===Пример работы=== | ===Пример работы=== | ||
Включаем модем: | Включаем модем: | ||
<pre> | <pre> | ||
root@wirenboard:~# | root@wirenboard:~# /opt/utils/gsm/gsm.sh toggle | ||
</pre> | </pre> | ||
Запускаем демон cmux: | Запускаем демон cmux: | ||
<pre> | <pre> | ||
root@wirenboard:~# cmux | root@wirenboard:~# /opt/utils/gsm/cmux | ||
SERIAL_PORT = /dev/ttyAPP0 | SERIAL_PORT = /dev/ttyAPP0 | ||
AAAT : AAAT OK | AAAT : AAAT OK | ||
Строка 51: | Строка 38: | ||
</pre> | </pre> | ||
Теперь общение с модемом можно производить в любом из каналов /dev/ttyGSMx | Теперь общение с модемом можно производить в любом из каналов /dev/ttyGSMx | ||
Версия 10:13, 20 февраля 2014
Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. Например через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д.
Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). Специальный демон, cmux отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, /dev/ttyGSM[1-4] . Закрытие демона cmux до закрытия всех виртуальных портов приведёт к kernel panic!
Демон cmux
Репозитарий: https://github.com/contactless/cmux/ Оригинальный автор: https://github.com/Rtone/cmux
Демон установлен по-умолчанию как "/opt/utils/gsm/cmux" в прошивках от 27.10.2013 и новее. Скачать бинарник демона можно здесь
Пример работы
Включаем модем:
root@wirenboard:~# /opt/utils/gsm/gsm.sh toggle
Запускаем демон cmux:
root@wirenboard:~# /opt/utils/gsm/cmux SERIAL_PORT = /dev/ttyAPP0 AAAT : AAAT OK AT+IFC=2: AT+IFC=2,2 OK AT+GMM : AT+GMM SIMCOM_SIM900R OK AT : AT OK AT+CMUX=: AT+CMUX=0 OK Line dicipline set Created /dev/ttyGSM1 Created /dev/ttyGSM2 Created /dev/ttyGSM3 Created /dev/ttyGSM4 Going to background
Теперь общение с модемом можно производить в любом из каналов /dev/ttyGSMx