Randomly getting "NO CARRIER" from Huawei 3G modem under linux

5,883

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 !!

#!/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

operator script:

#!/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
Share:
5,883

Related videos on Youtube

lemonsqueeze
Author by

lemonsqueeze

Updated on September 18, 2022

Comments

  • lemonsqueeze
    lemonsqueeze almost 2 years

    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