Я пишу клиент-серверное приложение.
Клиент отправляет некоторые сообщения на сервер, используя различные виды транспорта: SMS и Интернет (VPN, TCP-сервер).
На компьютере клиента у меня есть 1 3G-модем, который я использую как для отправки SMS, так и для установления соединения с Интернетом. Я подключаюсь к Интернету через менеджер сети Ubuntu.
Для отправки смс я использую smstools3. На самом деле не имеет значения, какие инструменты я использовал.
Я обнаружил, что было невозможно отправить SMS, если было установлено активное интернет-соединение через тот же модем.
Я пытался подключиться к Интернету без использования Network Manager. Я вручную устанавливаю pppd (без параметра блокировки), используя руководство из http://www.techytalk.info/manage-gsm-mobile-broadband-connections-without-network-manager-ubuntu-mint-debian/ [ 110]. Соединение работало нормально, но не решило проблему.
Затем я попытался использовать разные ttys модема для отправки SMS и подключения к Интернету (у моего модема 2 ttys). Это тоже не помогло. Похоже, только 1 tty моего модема может быть использован для этой работы.
Теперь у меня есть только 2 идеи:
У вас есть другие идеи, как решить проблему?
Кстати, я использую следующие вещи:
Наконец, я нашел решение.
Huawei E800 не может быть использован. Вместо этого я использовал E369. Этот модем имеет 3 порта (3 ttyUSB в / dev /). Если я использую первый tty для Интернета и второй для отправки / получения SMS, то проблема исчезает. Обратите внимание, что E800 также имеет 2 ttys, но это не решает проблему.
Мне кажется, я знаю, как выяснить, можно ли использовать модем для одновременных SMS и Интернета. Нужно отправить "AT + CMUX = 0" на модем. Если он отвечает, что операция не поддерживается, вам следует попробовать другой модем.
Также я встретил еще одну проблему в Ubuntu 13.04. Если я использовал Ubuntu NetworkManager для настройки интернет-соединения, то он заблокировал мой модем. Таким образом, модем не может быть использован для отправки / получения SMS. Я нашел решение - не использовал NetworkManager. Вместо этого я установил интернет-соединение с помощью wvdial. Это решило проблему.