GPRS ist ein Übertragungsverfahren, um mit dem Handy oder einer Datenkarte via Mobilfunk und paketorientierter Datenübertragung online zu gehen. GPRS, UMTS, HSDPA unterscheiden sich hinsichtlich der Linux-Konfiguration nicht!
Mini-Howto
Das Mini-Howto beschreibt, wie man mit dem Sony Ericson K800i (O2) und Ubuntu 6.06 online geht. Damit es mit anderen Mobilfunkprovidern funktioniert muss nur der APN von surfo2 in z.B. "internet" geändert werden. Die Beschreibung sollte auch mit anderen Handys funktionieren, die per USB angeschlossen werden.
Ubuntu-spezifisch ist eigentlich nur die Desktop-Verknüpfung (Starter), die pppd-Einstellungen stammen aus der Knoppix-Live CD.
Vorgehen
- Handy via USB-Kabel verbinden, in der dmesg-Ausgabe muss nun etwas von ttyACM0 stehen. Unter /dev/ttyACM0 kann das Handy-Modem nun mit minicom angesprochen werden.
- comgt-Utility installieren. Mit "comgt -d /dev/ttyACM0" erhält man z.B. die Empfangsqualität
- pppd-Konfiguration und Einwahl von Hand
- pppd-Einwahl mit Shell-Skript
- Schließlich, wenn alles funktioniert, kann man sich um den Komfort kümmern und eine Desktop-Verknüpfung erstellen
1. Gerät anschließen
dmesg beobachten und mit minicom mit dem Parameter -s starten. Schnittstelle und Baudrate von 115200 einstellen. Wenn man das Konfigurationsmenü verlässt, muss das Modem mit OK auf dem AT-Initialisierungsstring reagieren
2. comgt Utility
Das Utility gibts unter: http://www.pharscape.org/comgt.html
"make" und "make install" genügen zur Installation.
micha@micha-desktop:~$ comgt -d /dev/ttyACM0 SIM ready Waiting for Registration..(120 sec max) Registered on Home network: "26203",0 Signal Quality: 17,99 micha@micha-desktop:~$
3. pppd Konfiguration
Zur pppd-Konfiguration genügt ein Konfigurationsskript (/etc/ppp/peers/umts) und die dazugehörige chat-Datei /etc/chatscripts/umts
# Datei /etc/ppp/peers/umts # You usually need this if there is no PAP authentication noauth # The chat script (be sure to edit that file, too!) connect "/usr/sbin/chat -v -f /etc/chatscripts/umts" # Set up routing to go through this PPP link defaultroute # Set this to /dev/ircomm0 or similar /dev/handy # Speed 115200 # Reconnect on disconnect persist # Be extra verbose debug # You may need these passive noipdefault noproxyarp ipcp-accept-local ipcp-accept-remote ipcp-restart 2 ipcp-max-configure 20 ipcp-max-failure 20 asyncmap 0xa0000 novj nodeflate nobsdcomp # Use remote DNS usepeerdns # With GPRS, authentication is normally done automatically # via your cellphone number, so leave login name empty user ""
Die hier erwähnte Schnittstelle /dev/handy muss natürlich existieren. /dev/handy ist einfach ein symbolischer Link auf /dev/ttyACM0. Anlegen tut man ihn mit: ln -s /dev/ttyACM0 /dev/handy
Das chatskript /etc/chatscripts/umts muss mit folgendem Inhalt angelegt werden.
TIMEOUT 120 ABORT 'BUSY' ABORT 'ERROR' ABORT 'NO CARRIER' '' 'ATE1' OK AT+CGDCONT=1,"IP","surfo2" OK ATD*99***1# # or OK ATD*99# CONNECT \d\c
Ganz entscheidend ist es den richtigen APN (hier surfo2) zu setzen. Bei einem falschen APN ("internet") entstehen bis 10 EUR/MB und damit sind dann bei einem größeren Download in voller UMTS Geschwindigkeit bis zu 3000 EUR/Stunde fällig! Also hier gut informieren!
Siehe auch:
Der pppd kann nun mit "pon umts" oder direkt mit:
pppd debug call umts
Die hoffentlich guten Ergebnisse findet man in /var/log/messages oder mit dem plog-Kommando.
Falls schon ein default-Gateway gesetzt ist, klappt das surfen aber nicht. Stattdessen muss das alte default-Gateway entfernt und das neue (10.64.64.64 gilt für alle Mobilfunkanbieter) gesetzt werden:
route del default gw <IP-Adresse> route add default gw 10.64.64.64
Einfacher geht das allerdings mit dem nun folgenden Skript
4. Shellskript zur Einwahl
device="/dev/ttyACM0" devicelink="/dev/handy" altesgw=$(route -n|grep ^0.0.0.0|awk '{print $2}') echo "Gerätelink $devicelink nach $device neu erzeugen" # alten Link löschen rm -rf /dev/handy 2>/dev/null ln -s $device $devicelink echo "" echo "Handystatus (gcom-Utility)" gcom -d $devicelink echo "" echo "Alles OK? Dann bitte ENTER zur Einwahl drücken" read taste echo "altes default-GW ( $altesgw ) löschen" route del default gw $altesgw echo "" echo "Starte Einwahl - Status kann mit plog beobachtet werden" # pppd nodetach debug call umts pppd debug call umts # 20 Sekunden sollten für die Einwahl reichen sleep 20 # jetzt müsste die Verbindung stehen ping -c 4 www.google.de echo "Verbindung steht nun, Taste zum Abbrechen" read taste poff -a echo "altes Default-GW wieder restaurieren" route del default gw 10.64.64.64 2>/dev/null route add default gw $altesgw echo "ENTER schließt dieses Fenster" read taste sleep 10
5. Komfort
Mit einer Desktop-Verknüpfung (unter Ubuntu "Starter" genannt) geht das ganze schon viel komfortabler. Dazu mit der rechten Maustaste auf der Desktop-Fläche klicken und "Starter erstellen..." anklicken. Der Name kann beliebig gewählt werden, unter Befehl folgendes eintragen:
gksudo "/usr/bin/gnome-terminal -e /bin/umts.sh"
/bin/umts.sh durch den Pfad zum eigenen Skript ersetzen.
Fragen zum Mini-Howto bitte an micha<UNTERSTRICH>will<AT>gmx.net richten.