CMUX/en

Материал из Wiren Board
Версия от 12:46, 7 июня 2019; RomanKulibaba (обсуждение | вклад) (Новая страница: «<b> Modem operation in CMUX mode is an experimental function and may not work "out of the box". Performance is not guaranteed. </b>»)

Другие языки:

Modem operation in CMUX mode is an experimental function and may not work "out of the box". Performance is not guaranteed.


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

Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). Специальный демон, cmux отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, /dev/ttyGSM[1-4] . Закрытие демона cmux до закрытия всех виртуальных портов приведёт к kernel panic!


Демон cmux

Репозитарий

Оригинальный автор: [1]

Демон установлен по-умолчанию как "/usr/bin/cmux", доступен в пакете cmux. Скачать бинарник демона можно здесь


Пример работы

Включаем модем:

root@wirenboard:~# wb-gsm on

Запускаем демон cmux:

root@wirenboard:~# 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