1

Я использую 3G-модем Huawei под Linux. После использования NetworkManager в течение некоторого времени я теперь использую wvdial, чтобы поговорить с модемом и запустить pppd: я добавил правило udev, чтобы wvdial запускался автоматически при подключении USB-устройства.

  1. Хороший случай: я подключаю модем, wvdial дает сбой несколько раз, пока модем регистрируется, затем успешно.
  2. Плохой случай: то же самое, но wvdial продолжает терпеть неудачу с "NO CARRIER", навсегда.

Единственное, что нужно сделать, когда 2) произойдет: отключите устройство, подключите его снова и надейтесь, что на этот раз мы справимся с хорошим делом ...

Пробовал много вещей, таких как переключение между gprs/umts, ручное переключение оператора, чтобы заставить его перерегистрировать ... не повезло. Как только это не работает, оно остается таким.

Несколько дней назад я даже сталкивался с случаем, когда Umts постоянно терпит неудачу, но GPRS довольно успешно. Теперь интересно то, что под windows umts работал сразу же, так что это определенно проблема Linux.

Модем это huawei E1762.
NetworkManager / modem-manager несколько страдает от той же проблемы.
Запуск убунту ясным

1 ответ1

3

Хорошо, я думаю, что происходит, когда модем сбивается с толку, когда wvdial начинает с ним разговаривать до завершения регистрации.

-> Добавлена задержка 2 с после подключения устройства, и сценарий должен дождаться регистрации устройства, прежде чем запускать wvdial. Тогда это всегда работает!

#!/bin/bash
while [ -e /dev/ttyUSB0 ] ; do
  # wait to be registered
  if ./operator | grep -q ','; then
    wvdial provider >> wvdial.log 2>&1
  fi
  sleep 1
done

операторный скрипт:

#!/bin/bash
# boy, is this ugly ...
chat -t 1 -e "" '\pAT' OK AT+COPS? +COPS '\pAT' OK >> /dev/ttyUSB1 < /dev/ttyUSB1 2>/tmp/foo
grep -m 1 '^+COPS' /tmp/foo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .