I'm using a huawei 3G modem under linux. After using NetworkManager for some time, I now use wvdial to talk to the modem and start pppd: i added a udev rule so wvdial starts automatically when the usb device is plugged in.

  1. The good case: i plug the modem in, wvdial fails a few time while the modem is registering, then succeeds.
  2. The bad case: same but wvdial keeps failing with "NO CARRIER", forever.

Only thing to do when 2) happens: unplug device, replug and hope we fall on the good case this time ...

Tried many things, like switching between gprs/umts, manually switching operator to force it to re-register ... no luck. Once it doesn't work it stays that way.

Few days ago i even came across a case where umts fails all the time, but gprs succeeds reasonably well. Now what's interesting is under windows umts just worked right away, so this is definitely a linux issue.

The modem is a huawei E1762.
NetworkManager / modem-manager somewhat suffers from same issue.
Running ubuntu lucid

1 Answer 1


Ok, I think what's happening is the modem gets confused when wvdial starts talking to it before it's finished registering.

-> Added a 2s delay after plugging in the device, and have the script wait until the device is registered before running wvdial. Then it always works !!

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

operator script:

# 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.