CMUX/en: различия между версиями

Материал из Wiren Board
(Новая страница: «===Example of work===»)
(Новая страница: «Turn on the modem: <pre> root@wirenboard:~# wb-gsm on </pre>»)
Строка 20: Строка 20:
===Example of work===
===Example of work===


Включаем модем:
Turn on the modem:
<pre>
<pre>
root@wirenboard:~# wb-gsm on
root@wirenboard:~# wb-gsm on

Версия 13:01, 7 июня 2019

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

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


he modem supports multiplexing mode - creating virtual ports through which you can simultaneously work with the modem. For example, through one port you can open a PPP session for GPRS, and through another you can receive and send SMS, check the balance, etc.

You need the GSM line discipline to be supportred in the kernel (included as a module in the standard firmware). A special daemon cmux sends the modem into CMUX mode, then creates four virtual ports, /dev/ttyGSM[1-4] . The closure of the demon cmux to close all virtual ports will lead to a kernel panic!


Daemon cmux

Repository

Original author: [1]

The daemon is installed by default as "/usr/bin/cmux", available in the cmux package. Download the binary of the daemon here


Example of work

Turn on the modem:

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