FluxFlux-Eee

Surfstick von o2 (Huawei e169(g)) und fluxflux


Hinweis: In den aktuellen Versionen von fluxflux-eee und fluxflux-se sowie der englischen Version von fluxflux-wind werden HUAWEI UMTS-Sticks bereits vom System erkannt und eingebunden!

Hier möchte ich detailliert beschreiben, wie man den Huawei E169(G) unter Linux im Allgemeinen und unter PCLinuxOS, SAM und fluxflux im Besonderen

  1. via net_applet
  2. via ivman, comgt und wvdial
 zum Laufen bekommt.

Dazu sind keine speziellen Kenntnisse erforderlich, lediglich das Abschreiben der Befehle in einem Terminal zur Bearbeitung notwendiger Konfigurationsdateien.

  • Herunterladen des Paketes usb_modeswitch
  • Kopieren des Paketes nach /tmp/
  • Via Synaptic das Paket libusb-devel mit Abhängigkeiten installieren
  • Terminal öffnen und eingeben:
su -
rootkennwort
cd /tmp
tar xvf usb_modeswitch-0.9.4.tar.bz2
cd usb_modeswitch-0.9.4
./compile.sh
cp usb_modeswitch /usr/local/bin/
ldconfig
cd ..
rm -Rf usb*
  • Terminal schließen
  • Nun werden die Befehle, die das System braucht, um den Huawei E169 als Modem und nicht als CD-Laufwerk zu erkennen, in die /etc/rc.local eingetragen, damit beim Booten zum einen der Huawei richtig geschaltet wird und zum anderen die Interneteinwahl per net_applet gleich automatisch starten kann (wenn so eingestellt).
  • Dazu wieder ein Terminal öffnen und eingeben (wer leafpad nicht installiert hat, kann stattdessen jeden anderen Editor verwenden):
su -
rootkennwort
leafpad /etc/rc.local
  • Am Ende der Datei folgende Zeilen einfügen:
# E169
if [ "`/usr/sbin/lsusb | grep 12d1 | cut -d : -f3 | cut -b -4`" = "1001" ]; then
/usr/local/bin/usb_modeswitch -v 12d1 -p 1001 -d 1
/usr/local/bin/usb_modeswitch -v 12d1 -p 1001 -H 1
fi
# E 160, E220
if [ "`/usr/sbin/lsusb | grep 12d1 | cut -d : -f3 | cut -b -4`" = "1003" ]; then
/usr/local/bin/usb_modeswitch -v 12d1 -p 1003 -d 1
/usr/local/bin/usb_modeswitch -v 12d1 -p 1003 -H 1
fi
  • Datei speichern und schließen.
  • Hardwareseitig ist nun alles für die Konfiguration des Huawei vorbereitet.
1. Konfiguration via net_applet, das in fluxflux und PCLinuxOS Standard ist und problemlos funktioniert.
  • Bitte noch via Synaptic die Pakete ppp, ppp-dhcp, ppp-devel und comgt installieren.
  • Dann im laufenden Windowmanager das net_applet starten (wenn es nicht schon läuft) und per Rechtsklick die Option "Netzwerk konfigurieren" wählen, das Rootkennwort eingeben und dem Menü folgen.
  • Dort dann GPRS/Edge/3G wählen und dem Menü folgen, es wird ein Huawei-Modem erkannt, danach die PIN eingeben, die für die SIM vergeben ist, danach dann das angebotene Netz 26890 oder wie auch immer wählen, danach unter AP "surfo2" (ohne "") eingeben, Nutername und Kennwort können leer bleiben, die Option "Beim Systemstart starten" wählen und dann die Verbindung starten.
  • Dies muss nur einmalig gemacht werden.
  • Das Huawei vor dem Booten einstecken, die /etc/rc.local schaltet es in den Betriebsmodus, das net_applet startet die Verbindung dann automatisch ohne weiteres Zutun.
  • Nutzer, die auf dem eeePC Fn+F1 nutzen, trennen bitte vor dem Suspend-to-Ram die Verbindung via net_applet und starten sie nach dem Resume wieder (falls dies nicht automatisch geschieht).
2. Konfiguration mit ivman, comgt und wvdial
  • Ich habe noch eine spezielle Lösung, die etwas Handarbeit erfordert (nicht wirklich schwierig) und auf die Konfiguration des UMTS-Stick mit dem net_applet verzichtet.
  • Diese Lösung hat den Vorteil, dass der UMTS-Stick im laufenden Betrieb einfach eingesteckt werden kann, dann öffnet sich nur ein Popupfenster, das nach der PIN fragt und der Stick wird ohne weitere Konfiguration verbunden. 
  • Hat den Vorteil, dass die PIN nirgends gespeichert ist. 
  • Das automatische Erkennen des Sticks übernimmt ivman, die Einwahl erfolgt mit wvdial, die Aktivierung der PIN mit comgt.
  • Wie schon oben beschrieben, das Paket usb_modeswitch installieren und die /etc/rc.local anpassen, ferner die Pakete ppp, ppp-dhcp, ppp-devel und wvdial via Synaptic installieren.
  • comgt bitte als Binary von hier laden, damit kann man dann im Gegensatz zur PCLinuxOS-Version über Synaptic die PIN per Abfrage eingeben. Das Paket comgt.sh nach /tmp kopieren und dann im Terminal eingeben:
su -
rootkennwort
cd /tmp
mv comgt.sh /usr/local/bin/comgt
chmod +x /usr/local/bin/comgt
ldconfig
  • Mit Strg+d und Strg+d das Terminal schließen.
  • Hier mal meine derzeitige Lösung, die in 100%ig klappt, wenn man den Stick nach dem Login in Openbox erst einsteckt. Vor einem Suspend-to-Ram (Fn+F1) bitte die Einwahl beenden (einfach das offene Terminal mit den Informationen über die Verbindung schließen) und den Stick abziehen. Nach dem Resume wieder anstecken.
  • Die beiden folgenden Skripte nach ${HOME}/skripte/ kopieren:
  • umts:

    #!/bin/bash
    /usr/bin/killall wvdial
    /usr/bin/killall thunar
    /bin/sleep 5
    if [ -z "`/bin/ls /dev/ttyUSB0`" ]; then
    if [ "`/usr/sbin/lsusb | grep 12d1 | cut -d : -f3 | cut -b -4`" = "1001" ]; then
    /usr/local/bin/usb_modeswitch -v 12d1 -p 1001 -d 1
    /usr/local/bin/usb_modeswitch -v 12d1 -p 1001 -H 1
    fi
    if [ "`/usr/sbin/lsusb | grep 12d1 | cut -d : -f3 | cut -b -4`" = "1003" ]; then
    /usr/local/bin/usb_modeswitch -v 12d1 -p 1003 -d 1
    /usr/local/bin/usb_modeswitch -v 12d1 -p 1003 -H 1
    fi
    fi
    PIN=$(zenity --title "PIN-Eingabe" --entry --text "Bitte PIN für den UMTS-Stick eingeben:" --hide-text)
    export COMGTPIN=$PIN
    /usr/local/bin/comgt PIN -d /dev/ttyUSB0
  • umts2:

    #!/bin/bash
    (sleep 20 && /usr/bin/thunar --daemon) &
    xterm -T "UMTS Einwahlinformationen" -e wvdial
  • Mit

    cd
    chmod +x skripte/umts
    chmod +x skripte/umts2

    ausführbar machen.
  • Folgende Zeilen in die Datei ${HOME}/.ivman/IvmConfigActions.xml einfügen (irgendwo in der Mitte):

    <ivm:Match name="hal.storage.physical_device" value="/org/freedesktop/Hal/devices/usb_device_12d1_1001_____________________if0">
            <ivm:Option name="exec" value="xterm -T 'UMTS Einwahl' -e ${HOME}/skripte/umts; sleep 15; ${HOME}/skripte/umts2" />
            <ivm:Option name="execun" value="killall wvdial" />
        </ivm:Match><ivm:Match name="hal.storage.physical_device" value="/org/freedesktop/Hal/devices/usb_device_12d1_1003_____________________if0">
            <ivm:Option name="exec" value="xterm -T 'UMTS Einwahl' -e ${HOME}/skripte/umts; sleep 15; ${HOME}/skripte/umts2" />
            <ivm:Option name="execun" value="killall wvdial" />
        </ivm:Match>
  • Für wvdial braucht man dann noch eine /etc/wvdial.conf, die für den eigenen Provider angepasst werden muss (Password, Username, Init3, nach Anpassung der Zeile Init3 dort auch den ; an der ersten Stelle entfernen, damit der String auch benutzt wird):

    [Dialer Defaults]
    Modem = /dev/ttyUSB0
    ISDN = off
    Modem Type = USB Modem
    Baud = 115200
    Init = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ;Init3 = AT+CGDCONT=1,"IP","surfo2"
    Init4 =
    Init5 =
    Init6 =
    Init7 =
    Init8 =
    Init9 =
    Phone = *99#
    Phone1 =
    Phone2 =
    Phone3 =
    Phone4 =
    Dial Prefix =
    Dial Attempts = 1
    Dial Command = ATM1L3DT
    Ask Password = off
    Password = o2
    Username = o2
    Auto Reconnect = off
    Abort on Busy = off
    Carrier Check = on
    Check Def Route = on
    Abort on No Dialtone = on
    Stupid Mode = off
    Idle Seconds = 0
    Auto DNS = on
    ;Minimize = off
    ;Dock = off
    ;Do NOT edit this file by hand!
  • Danach das System neu starten, den UMTS-Stick aber erst einstecken, wenn der Login in Openbox beendet ist (dann erst läuft ivman, der das ganze automatisiert)!
  • Sollte auch mit dem Huawei E160, E220, E169G klappen, da ich die mir bekannten Werte mit aufgenommen habe.
  • Das letzte Fenster mit den Einwahlinformationen bleibt offen, man kann es minimieren, es dient der Kontrolle. Schließen des Fensters bedeutet Trennung des Modems.
  • Für Rückfragen und Hilfestellungen stehe ich gerne zur Verfügung!

Counter