CMUX: различия между версиями
(Новая страница: «Модем поддерживает режим мультиплексирования - создание виртуальных портов, через кото…») |
Sikmir (обсуждение | вклад) м |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
<b> Работа модема в режиме CMUX является экспериментальной функцией и может не работать "из коробки". Работоспособность не гарантируется. </b> | |||
<!--T:2--> | |||
Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. | Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. | ||
Например через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д. | Например через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д. | ||
<!--T:3--> | |||
Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). | Для работы необходима поддержка GSM line discipline в ядре (включена как модуль в стандартной прошивке). | ||
Специальный демон, <b>cmux</b> отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, | Специальный демон, <b>cmux</b> отправляет модем в режим CMUX, после чего создаёт четыре виртуальных порта, /dev/ttyGSM[1-4] . | ||
<b>Закрытие демона | <b>Закрытие демона cmux до закрытия всех виртуальных портов приведёт к kernel panic!</b> | ||
===Демон cmux=== <!--T:4--> | |||
<!--T:5--> | |||
[https://github.com/wirenboard/cmux/ Репозитарий] | |||
<!--T:6--> | |||
Оригинальный автор: [https://github.com/Rtone/cmux] | |||
<!--T:7--> | |||
Демон установлен по-умолчанию как "/usr/bin/cmux", доступен в пакете cmux. | |||
Скачать бинарник демона можно [https://github.com/wirenboard/cmux/releases/tag/0.3 здесь] | |||
===Пример работы=== <!--T:8--> | |||
<!--T:9--> | |||
Включаем модем: | Включаем модем: | ||
<pre> | <pre> | ||
root@wirenboard:~# / | root@wirenboard:~# wb-gsm on | ||
</pre> | |||
<!--T:10--> | |||
Запускаем демон cmux: | |||
<pre> | |||
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 | |||
</pre> | </pre> | ||
<!--T:11--> | |||
Теперь общение с модемом можно производить в любом из каналов /dev/ttyGSMx | |||
</translate> |
Текущая версия на 12:47, 10 сентября 2024
Работа модема в режиме CMUX является экспериментальной функцией и может не работать "из коробки". Работоспособность не гарантируется.
Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. Например через один порт можно открыть сессию 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