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