3G модем: одновременная отправка СМС и активное подключение к интернету

Я пишу клиент-серверное приложение.
Клиент отправляет некоторые сообщения на сервер, используя разные транспорты: SMS и Интернет (VPN, TCP-сервер).
На клиентском ПК у меня есть 1 3G-модем, который я использую для и то, и другое: отправка SMS и подключение к Интернету.
Я подключаюсь к Интернету через Network Manager Ubuntu.
Для отправки SMS я использую smstools3. На самом деле, неважно, какие инструменты я использовал.
Я обнаружил, что было невозможно отправить SMS, если через тот же модем было установлено активное интернет-соединение.

Я пытался подключиться к Интернету без Network Manager. Я вручную настроил pppd (без параметра блокировки), используя руководство из здесь. Соединение работало нормально, но проблему это не решило.
Затем я попробовал использовать разные ttys модема для отправки SMS и подключения к Интернету (у моего модема 2 ttys). Тоже не помогло. Похоже, для этой работы можно использовать только 1 tty моего модема.

Сейчас у меня только 2 идеи:

  1. Не делайте вещи одновременно. Разделите их по времени: запустить демон smstool, отправить SMS, остановить демон, установить интернет-соединение, отправить сообщение, остановить соединение.
  2. Попробуйте использовать мультиплексирование GSM, как описано здесь мультиплексор GSM Я не уверен в результате потому что упомянутый проект (GSM мультиплексор) выглядит мертвым.

Есть ли у вас другие идеи, как решить проблему?


person Zakhar    schedule 03.10.2013    source источник
comment
Кстати, я использую следующие вещи: ОС: Ubuntu 12.04 LTS Smsd: 3.1.14 Модем: Huawei E800 ExpressCard   -  person Zakhar    schedule 03.10.2013


Ответы (2)


Наконец, я нашел решение.

Не удалось использовать Huawei E800. Вместо этого я использовал E369. Этот модем имеет 3 порта (3 ttyUSB в /dev/). Если я использую 1-й tty для интернета, а второй для отправки/получения SMS, то проблема исчезает. Обратите внимание, что E800 также имеет 2 tty, но это не решает проблему.

Думаю, я знаю, как выяснить, можно ли использовать модем для одновременной отправки СМС и Интернета. Нужно послать на модем «AT+CMUX=0». Если ответит, что операция не поддерживается, то надо пробовать другой модем.

Также я встретил еще 1 проблему на Ubuntu 13.04. Если я использовал NetworkManager Ubuntu для настройки подключения к Интернету, он блокировал мой модем. Таким образом, модем не может быть использован для отправки/получения SMS. Я нашел решение - не использовал NetworkManager. Вместо этого я настроил подключение к Интернету с помощью wvdial. Это решило проблему.

person Zakhar    schedule 14.10.2013
comment
у меня есть 3 ttyUSB, но когда я пытаюсь использовать USB1/0, ничего не происходит, как я могу настроить, чтобы интернет шел через USB1 вместо USB2? - person Matan Tubul; 07.06.2017

На самом деле вы все еще можете получить SMS, используя вывод AT-команды, даже если вы получите AT + MUX = 0 «не реализовано». Подключитесь к порту модема:

socat - /dev/ttyUSB2, crnl

Затем следуйте выходным данным, если вы не получили команду +CMT. Вывод может быть либо открытым текстом, либо PDU. Чистый текст, очевидно, читается. PDU может выглядеть так:

+CMT: 0,32
07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E

Если вы получаете PDU - вам нужно его расшифровать. Например, здесь: декодер PDU

person Vadim    schedule 09.03.2016