Ich verwende ein Huawei 3G-Modem unter Linux. Nachdem ich einige Zeit NetworkManager verwendet habe, verwende ich jetzt wvdial, um mit dem Modem zu kommunizieren und pppd zu starten: Ich habe eine Udev-Regel hinzugefügt, sodass wvdial automatisch startet, wenn das USB-Gerät angeschlossen wird.
- Der gute Fall: Ich stecke das Modem ein, wvdial schlägt einige Male fehl, während sich das Modem registriert, dann klappt es.
- Der schlimme Fall: dasselbe, aber wvdial schlägt ständig mit der Meldung „KEIN TRÄGER“ fehl, und zwar ewig.
Wenn 2) passiert, können Sie nur Folgendes tun: Gerät ausstecken, wieder einstecken und hoffen, dass wir diesmal auf das Richtige stoßen ...
Habe vieles probiert, z. B. zwischen GPRS/UMTS umzuschalten, manuell den Betreiber zu wechseln, um eine Neuregistrierung zu erzwingen ... kein Glück. Wenn es einmal nicht funktioniert, bleibt es dabei.
Vor ein paar Tagen bin ich sogar auf einen Fall gestoßen, bei dem UMTS ständig ausfällt, GPRS aber einigermaßen gut funktioniert. Interessant ist, dass UMTS unter Windows sofort funktionierte, es handelt sich also definitiv um ein Linux-Problem.
Das Modem ist ein Huawei E1762.
NetworkManager / Modem-Manager leidet in gewisser Weise unter demselben Problem.
Ubuntu Lucid wird ausgeführt
Antwort1
Ok, ich denke, was passiert, ist, dass das Modem verwirrt wird, wenn wvdial beginnt, mit ihm zu kommunizieren, bevor die Registrierung abgeschlossen ist.
-> Nach dem Einstecken des Geräts wurde eine Verzögerung von 2 Sekunden hinzugefügt, und das Skript wartet, bis das Gerät registriert ist, bevor wvdial ausgeführt wird. Dann funktioniert es immer !!
#!/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
Operatorskript:
#!/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