Я долго искал в Интернете руководство по отправке sms из командной строки с помощью Huawei E3131 и HiLink в системе Linux на базе debian. Все они не работали. Похоже, что было обновление программного обеспечения.
HiLink показывает мне следующие версии:
- Имя устройства: E3131
- Версия аппаратного обеспечения: CU1E3131IM
- Версия программного обеспечения: 22.521.23.00.00
- Веб-интерфейс-версия: 17.100.08.00.03
После вопроса: Как отправить / получить sms из командной строки в системе Linux на базе debian с E3131?
Существует следующий вопрос по настройке оборудования на автономной системе с суперпользователем

We will use Debian
GNU/Linux 8.7 (jessie) and HUAWEI E3131
modem 12d1:14fe. First of all we need to install usb-modeswitch
to switch from USB Storage mode to GSM modem. We also need to install smstools
for sending text messages via this modem.
apt-get install usb-modeswitch smstools
To configure usb-modeswitch, open /etc/usb_modeswitch.d/12d1:14fe
with your favourite editor, and paste this text:
# Huawei E3131
DefaultVendor= 0x12d1
DefaultProduct= 0x14fe
TargetVendor= 0x12d1
TargetProduct= 0x1506
MessageContent=»55534243123456780000000000000011062000000100000000000000000000″
usb_modeswitch -c /etc/usb_modeswitch.d/12d1\:14fe
[GSM1]
device = /dev/ttyUSB0
incoming = yes
report = no
check_memory_method = 2
signal_quality_ber_ignore = yes
decode_unicode_text = yes
/etc/init.d/smstools start
Try to send sms by editing /var/spool/sms/outgoing/sms file and putting to it:
To: 8611111111
This is a text message sent by smstools!

With this config you will also be able to receive messages addressed to the telephone number of this
modem. The received messages are located in /var/spool/sms/incoming/ directory.

29 май 2013, 14:36
- Команды для модемов типа Huawei E1550, E156 и E171, 173 (старой ревизии) | Показать
- Команды для модема Huawei E1750 | Показать
- Команды для модемов Huawei E367, E352, E392, E353 и E171, 173 (новой ревизии) | Показать
- Команды для модема Huawei E3131 | Показать
- Команды для модема Huawei E3272 | Показать
- Команды для активации предпочтительных режимов сети (для E1750, E1820, E1550 и похожим моделей) | Показать
- Команды для разблокировки 3G-модема от конкретного оператора | Показать
Команды для модема
Команды для модемов серии
29 май 2013, 14:48
Список команд коротковат, для E173 вообще явно не указано, что можно какими-то пользоваться.
Подскажите, пожалуйста, какой командой можно заблокировать запуск программы-звонилки?
29 май 2013, 14:53
rkos писал(а):
Подскажите, пожалуйста, какой командой можно заблокировать запуск программы-звонилки?
Для этого вам нужно отключить автозапуск съёмных носителей в вашем компьютере, и в настройках программы управления модемом, убрать галочку с «Запуск одновремено с Windows», или просто отключить виртуальный CD-ROM в модеме.
Чтобы отключить виртуальный CD-ROM в модеме E173, попробуйте воспользоваться этой командой:
29 май 2013, 15:06
Не сработал ни один из способов.
Причём во втором случае модем команду понял (ответил «ОК»).
29 май 2013, 15:24
Автоматический запуск программы происходит потому что при подключении модема к компьютеру монтируется виртуальный CD-ROM, в котором содержится файл автозапуска и файл конфигурации , если в компьютере включена функция автозапуска, происходит запуск программы.
Поэтому логично предположить, чтобы этого не происходило, нужно, либо отключить автозапуск со съёмных носителей, либо отключить монтирование виртуального CD-ROM-а.
Есть ещё способ отключить автозапуск программы:
1. Откройте папку с установленной программой управления модемом, например C:\Program Files (x86)\HUAWEI Modem 3.0\
2. Откройте папку , и запустите файл
Чтобы вернуть всё обратно нужно будет запустить файл
08 июн 2013, 22:59
Добрый день. Есть проблема:
программа Huawei Modem Terminal видит модем (только после того как установил HUAWEI Modem Plus), спрашиваю AT^SETPORT? получаю ответ
- Код:
-
Recieve: ^SETPORT:A1,A2;1,3,2,A1,A2
Recieve: OK

A1,A2;1,3,2,A1,A2 что это ?
пробовал ставить в «только модем»:
- Код:
-
AT^SETPORT="A1,A2;1,2,3"
- Код:
Recieve: AT^SETPORT="A1,A2;1,2,3"
Recieve: OK
но в AT^SETPORT? ничего не меняется и всё равно остаётся ^SETPORT:A1,A2;1,3,2,A1,A2
переключить нужно для того чтобы планшет увидел
09 июн 2013, 12:00
unactuale
перевёл в «modem only» через hyperterminal (встроенный виндовый мой обилует глюками), использовал скачанный из этих ваших интернетов. планшет не увидел модем.
16 июл 2013, 10:48
Подскажите, возможно ли активировать режим CDMA в модеме EM820W прогой Huawei Modem Terminal.
Вижу только at^hspa=0 — режим wcdma. Как быть?
16 июл 2013, 15:30
Нет, нельзя. Ваш модем не может работать в сети стандарта CDMA.
Поддерживаемые стандарты сети модемом :
GSM 850/900/1800/1900
GPRS/EDGE
UMTS 850/900
UMTS 1900/2100
WCDMA/HSPA
HSDPA/HSUPA
HSPA+
Скорость передачи данных:
DL: 21 Mbps
UL: 5.76 Mbps
16 июл 2013, 15:50
Я почему-то так и предполагал 
А перепрошивка не поможет? Возможно есть такая?
Команды для
модемов типа Huawei E1550:
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader) — не поддерживается Huawei E1750
AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использывать как обычную флешку, отказавшись от установки драйверов модема).
AT^SYSCFG=2,2,3fffffff,0,2 (включение 2G,3G)
Команды для модема
Huawei E1750:
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=6 (девайс в режиме только сетевая карта)
AT^U2DIAG=268 для E1750 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=276 для E1750 (девайс в режиме сетевой карты + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader), можно использовать как обычную флешку, отказавшись от установки драйверов модема.
Команды для модемов Huawei E367, E352, E392, E353 и E171:
AT^SETPORT? — Отображение текущей конфигурации
AT^GETPORTMODE — Отображение в настоящее время активный режим
AT^SETPORT=»A1,A2;1,2,3,7,A1,A2″ — Установить конфигурацию по умолчанию
AT^SETPORT=»A1,A2;1,16,3,2,A1,A2″ — Установить конфигурацию по умолчанию для модема E171 (новая ревизия)
AT^SETPORT=»A1,A2;1,2,3,7,A1,A2,4,5,6,A,B,D,E» — Тоже сброс по умолчанию (на некоторых модемах)
AT^SETPORT=»A1,A2;1,2,3,7″ — Отключить CD-ROM и карту памяти
AT^SETPORT=»A1,A2;1,2,3,A2″ — Отключает NDIS и CD-ROM — остаётся только модем и флешка
AT^SETPORT=»A1,A2;1,2,3″ — Режим «Только модем»
AT^SETPORT=»A1;1,2″ — Отключает вообще всё кроме модема и служебного интерфейса
AT^SETPORT=»A1,A2;2,7″ — Отключить CD-ROM + карту памяти + модем установить в Win7 только NDIS режим.
AT^SETPORT=»A1;2,7″ — CD-ROM + NDIS
Команды для модема Huawei E369:
AT^SETPORT? – вывод на экран текущей конфигурации.
AT^GETPORTMODE — вывод на экран активного режима в настоящее время.
AT^SETPORT = «A1, A2, 1,2,3,7, A1, A2» – установка конфигурации по умолчанию.
AT^SETPORT = «A1, A2, 1,2,3,7» — устройство в режиме Modem + Network Card.
AT^SETPORT=»A1,A2;1,2,3,A2″ — устройство в режиме Modem + Card Reader.
AT^SETPORT = «A1, A2, 2,7» — устройство в режиме Network Card.
AT^SETPORT=»A1,A2;1,2,3″ — устройство в режиме Modem (работает быстрее и стабильнее).
AT^SETPORT = «A1, 2,7» — Network Card + CD-ROM.
AT^SETPORT = «A1, A2, 1,2,3,7, A1, A2, 4,5,6, A, B, D, E» — сброс настроек по умолчанию.
Команды для модема Huawei E3131:
AT^SETPORT=»A1,A2;1,16,3,2,A1,A2″ — (Установить конфигурацию по умолчанию)
AT^SETPORT=»A1,A2;1,2,3,16,A1,A2″ — (режим для работы модема с Android 4.0 (иногда работает))
AT^SETPORT=»A1,A2;1,16,3,2″ — (девайс в режиме «модем + сетевая карта»)
AT^SETPORT=»A1,A2;1,2,3,A2″ — (девайс в режиме «модем + Card Reader»)
AT^SETPORT=»A1,A2;1,2,3,A1″ — (девайс в режиме «модем + CD-ROM»)
AT^SETPORT=»A1,A2;1,2,3″ — (девайс в режиме «только модем»)
AT^SETPORT=»A1,A2;2,16″ — (девайс в режиме «сетевая карта»)
AT^SETPORT=»A1,A2;2,16,A1″ — (девайс в режиме «сетевая карта + CD-ROM»)
Команды для модема Huawei E3272:
AT^SETPORT=»A1,A2;10,12,16,A1,A2″ — Конфигурация по умолчанию
AT^SETPORT=»A1,A2;10,12,16,A2″ — Конфигурация по умолчанию, отключить CD
AT^SETPORT=»A1,A2;10,12,16″ — Конфигурация по умолчанию, отключить CD + SD
AT^SETPORT=»A1,A2;10,12″ — Конфигурация по умолчанию, отключить NDIS + CD + SD
AT^SETPORT=»A1;10,12,13,14,16,A1,A2″ — Включает: все COM порты + NDIS + CD + SD
AT^SETPORT=»A1;10,12,13,14″ — Включает: все COM порты, отключает: NDIS + CD + SD
AT^SETPORT=»A1;10,12,13,14,16″ — Включает: все COM порты + NDIS, отключает: CD + SD
AT^SETPORT=»A1;10,12,13,14,A2″ — Включает: все COM порты + SD, отключает: NDIS + CD
Команды для активации предпочтительных режимов сети (для E1750, E1820, E1550 и похожим моделей):
at^hspa=0 — режим wcdma
at^hspa=1 — режим hsdpa
at^hspa=2 — режим hspa
at^hspa=3 — режим hspa+
at^hspa=4 — сбалансированный режим. На некоторых форумах пишут, что кое-какие виды модемов с таким параметром лучше держут соединение.
Если на предыдущие команды появилось ERROR, то стоит попровать эти:
AT^HSDPA=1 — режим HSDPA
AT^HSDPA=0 — выключено
AT^HSUPA=1 — режим HSUPA
AT^HSUPA=0 — выключено
Внимание! Команды для активации предпочтительных режимов сети сбрасываются после отключения модема от питания.
Команды для разблокировки 3G-модема от конкретного оператора:
AT^CARDUNLOCK=»nck md5 hash» — Сброс попыток к 10
AT^CARDLOCK=»nck code» — Снятие блокировки
AT^CARDLOCK? — Проверить блокировку и количество попыток в ответ модем выдаст:
CARDLOCK: A,B,0
A -> 2- означает, что симлока нет, 1-если модем залочен
B -> количество оставшихся попыток разблокировки. У нового модема = 10
Обсуждение AT-команд на форуме, в теме: Настройка модема с помощью AT-команд
The provided solutions include a Python script for reading the last three SMS messages on a HUAWEI E3276 and a guide for sending SMS via command line using a Huawei E3131 with HiLink on a Debian-based Linux system. The author hopes that their scripts can help save someone else’s time, as they have worked flawlessly for about six months. They had searched the internet for a long time to find a suitable guide for this purpose.
Table of contents
Sending and receiving SMS by command line with Huawei E3131 and HiLink on a debian system
After an extensive web search for a command line guide on how to send sms
with Huawei E3131 and HiLink on a Linux system based on Debian, I found that none of the available options were successful. Похоже, что эта проблема могла быть вызвана обновлением программного обеспечения.
Вот версии, которые мне показывает HiLink:
- Имя устройства: E3131
- Аппаратная версия: CU1E3131IM
- Версия программного обеспечения
: 22.521.23.00.00 - Это относится к номеру версии веб-интерфейса 17.100.08.00.03.
В системе Linux на основе Debian с E3131, каков метод отправки и получения SMS-сообщений через командную строку?
Необходимо 3 шага:
- Получить идентификатор сеанса
- Получить токен
- Отправлять/получать смс
Получите идентификатор сеанса в качестве начального шага.
В моем личном сценарии оболочки я использую следующую команду для получения идентификатора сеанса.
#!/bin/bash
curl -b session.txt -c session.txt http://192.168.8.1/html/index.html > /dev/null 2>&1 Получите жетон на втором этапе.
Чтобы получить токен, я полагаюсь на набор команд, включенных в отдельный сценарий оболочки.
#!/bin/bash
TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html)
TOKEN=$(echo $TOKEN | cut -d'"' -f 10)
echo $TOKEN > token.txt Шаг 3A — Передайте текстовое сообщение.
Третий сценарий оболочки, отправляющий SMS, также вызывает два предыдущих сценария.
#!/bin/bash
NUMBER=$1
MESSAGE=$2
./session.sh
./token.sh
LENGTH=${#MESSAGE}
TIME=$(date +"%Y-%m-%d %T")
TOKEN=$(<token.txt) sms="-1$NUMBER$MESSAGE$LENGTH1$TIME" echo="" $sms="" curl="" -v="" -b="" session.txt="" -c="" -h="" "x-requested-with:="" xmlhttprequest"="" --data="" "$sms"="" http:="" 192.168.8.1="" api="" send-sms="" --header="" "__requestverificationtoken:="" $token"="" "content-type:text="" xml"=""
command phonenumber "text"Step 3B - Get SMS.
To obtain the most recent unread sms message, or if it's unavailable, the latest read SMS, I utilize the subsequent script.
#!/bin/bash
./session.sh
./token.sh
TOKEN=$(<token.txt) data="111001" curl="" -b="" session.txt="" -c="" -h="" "x-requested-with:="" xmlhttprequest"="" --data="" "$data"="" http:="" 192.168.8.1="" api="" sms="" sms-list="" --header="" "__requestverificationtoken:="" $token"="" "content-type:text="" xml"="" Although the code may not be of high quality, it is functional.
Despite Peter's clear explanation, I prefer to have a solitary script and implement it on OpenWrt routers rather than Debian.
This is my take on sending SMS.
#!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
NUMBER=$1
SMS=$2
DATA="-1$NUMBER$SMS111-1"
curl -v http://192.168.8.1/api/sms/send-sms \ -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ --data $DATABelow is the script to read the three most recent sms messages.
#!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
DATA="131001"
curl -b $COOKIE -c $COOKIE -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"I created a setting for my HUAWEI E3276, which I named python script.
import requests, sys
import xml.etree.ElementTree as ET
msg = "From python"
phone = "PHONE_NUMBER" #To fill
ip = "192.168.1.1" #Dongle ip
# get session
session = requests.Session()
# get token
r = session.get("http://%s/api/webserver/token" % ip)
root = ET.fromstring(r.content)
token = root[0].text
print "token", token
# send sms
headers = { "__RequestVerificationToken": token, "Content-Type": "text/xml" }
data = "-1%s%s%d1$TIME" % ( phone, msg, len(msg) )
r = session.post( "http://%s/api/sms/send-sms" % ip, data=data, headers=headers )
print "send-sms", r.headers, r.contentI hope i can save someone the week:
For approximately six months, the scripts functioned flawlessly. However, suddenly, the ability to send was lost due to .
receiving stoped working
Upon accessing the web interface using http://192.168.8.1, I discovered that the message box of the stick had reached its capacity. To resolve this issue, I proceeded to eliminate the contents of the full box.
(used stick: huawei e3531 SurfStick)
HUAWEI E3131 3G USB STICK MODEM 21.6 Mbps, HUAWEI
E3131 3G USB STICK MODEM 21.6 MbpsUnboxing, setup and demoread my blog entry - http://goo.gl/CqD2GEdited with Final Cut Pro X and Compressor-----
sending and receiving sms by command line with huawei
modem shows as mass storage
USB-ключ Huawei E3131 (разблокирован) #Huawei
https://youtube.com/watch?v=allQSA6UDxw
Открытие модема Huawei E3131 для установки SIM-карты
Модем Huawei 3G E3131
Модем Huawei E3131 отображается как запоминающее устройство
После обновления моей системы Ubuntu 18.04 LTS я обнаружил, что мой USB-ключ Huawei E3131 больше не распознается как модем. Вместо этого он идентифицируется как запоминающее устройство, когда я использую команду
lsusb
чтобы проверить его состояние.

Кроме того, я интегрировал usb_modeswitch на свой компьютер. Несмотря на поиск в Интернете, я не смог найти средство, позволяющее этому устройству работать в качестве модема.
- Подключите компьютер к USB-ключу.
- Запустите терминал и выполните команду
dmesg
.
Будет отображаться обнаружение устройства, в моей ситуации оно отображается как запоминающее устройство.

Выполните
lsusb
Команда для отображения идентификации как поставщика, так и продукта.
tar xjf libusb(your_version).tar.bz2
cd libusb(your_version)
sudo make install Получить самую последнюю версию usb_modeswitch
tarball и продолжите его установку.
tar usb-modeswitch(your_version).tar.bz2
cd usb-modeswitch(your_version)
sudo make install Чтобы получить usb-modeswitch-data-(your_version), просто повторите процесс загрузки и установки, используя те же шаги.
tar usb-modeswitch-data-(your_version).tar.bz2
cd usb-modeswitch-data-(your_version)
sudo make install После этого выполните приведенную ниже команду
sudo usb_modeswitch -v 12d1 -p 14fe -M '55534243123456780000000000000011062000000100000000000000000000' После казни
lsusb
, ожидается, что проблема будет решена, и сигнал мобильного широкополосного доступа должен стать видимым. Кроме того, выполненная команда укажет устройство как модем.

