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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .