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

  1. 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.
  2. comgt-Utility installieren. Mit "comgt -d /dev/ttyACM0" erhält man z.B. die Empfangsqualität
  3. pppd-Konfiguration und Einwahl von Hand
  4. pppd-Einwahl mit Shell-Skript
  5. 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.

GPRS (zuletzt geändert am 2011-06-16 21:17:55 durch 46)