|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# Поиск usb устройств lsubs lsusb -d 1e0e:9001 lsusb -v 1e0e:9001 dmesg | grep usb # Перенаправляем ответ из порта в фоновое чтение cat /dev/ttyUSB2 & # Отправляем команду AT (проверка связи) echo -e "AT\r" > /dev/ttyUSB2 # Отправляем команду получения информации о модели echo -e "ATI\r" > /dev/ttyUSB2 Для работы с модемом SIMCom в Linux интерфейсы обычно распределяются следующим образом: Интерфейс Назначение Для чего используется ttyUSB1 Audio Передача цифрового звука (в обычных сценариях не нужен). ttyUSB2 AT-команды Основной порт для опроса модема, проверки баланса, отправки SMS и ввода команд. ttyUSB3 Диагностика (Diag) Используется сервисными утилитами Qualcomm (например, QPST) для прошивки и калибровки. ttyUSB4 Модемный порт / NMEA Вывод GPS/ГЛОНАСС логов (если включена навигация) или резервный канал. |
Скрипт теста модема:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@napi2:/etc/network/interfaces.d# cat 1.txt PORT=/dev/ttyUSB2 stty -F $PORT 115200 raw -echo # выключаем эхо команд echo -e 'ATE0\r' > $PORT; sleep 0.3 # читаем порт в фоне cat $PORT & CAT=$! sleep 0.3 for CMD in "ATI" "AT+CPIN?" "AT+CSQ" "AT+CREG?" "AT+COPS?" "AT+CGMM" "AT+CGMI" "AT+CGDCONT?"; do echo -e "${CMD}\r" > $PORT sleep 0.5 done sleep 1 kill $CAT 2>/dev/null |
Set APN:
|
1 2 3 4 5 6 7 8 9 10 |
PORT=/dev/ttyUSB2 stty -F $PORT 115200 raw -echo cat $PORT & CAT=$! sleep 0.2 echo -e 'AT+CGDCONT=1,"IP","internet.tele2.ru"\r' > $PORT; sleep 0.5 echo -e 'AT+CGDCONT?\r' > $PORT; sleep 0.5 echo -e 'AT+CGACT=1,1\r' > $PORT; sleep 2 echo -e 'AT+CGPADDR=1\r' > $PORT; sleep 0.5 kill $CAT |
Check interface:
|
1 |
ip -br a |
If RNDIS/wwan0 exists:
|
1 2 |
ip link set wwan0 up dhcpcd wwan0 |
Запрос номера
|
1 2 3 4 5 6 7 8 |
PORT=/dev/ttyUSB2 stty -F $PORT 115200 raw -echo 2>/dev/null cat $PORT & CAT=$!; sleep 0.2 echo -e 'ATE0\r' > $PORT; sleep 0.2 echo -e 'AT+CNUM\r' > $PORT; sleep 1 kill $CAT 2>/dev/null |
Отправка sms:
|
1 2 3 |
echo -e 'AT+CMGF=1\r' > /dev/ttyUSB2; sleep 0.3 echo -e 'AT+CMGS="+7XXXXXXXXXX"\r' > /dev/ttyUSB2; sleep 0.5 echo -e 'test\x1A' > /dev/ttyUSB2; sleep 3 |
Узнать номер:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
tmux В одном окне: cat /dev/ttyUSB2 Во втором: echo -e 'AT+CUSD=1,"*100#",15\r' > /dev/ttyUSB2; sleep 3 Например ответ: +CUSD: 0,"04230441043B0443043304300020043D04350434043E044104420443043F043D0430002E",72 закодирован в UCS2 (UTF-16BE) 0423 0441 043B 0443 0433 0430 0020 043D 0435 0434 043E 0441 0442 0443 043F 043D 0430 002E У с л у г а ␣ н е д о с т у п н а . |