Vodafone und Linux - ein Erfahrungsbericht

Ausgangssituation: Ich wohne in einem verglasfaserten und damit (Auskunft Telekom: auch auf absehbare Zeit weiter) DSL-freien Gebiet und suchte eine Alternative zum bisherigen analogen Netzzugang über die Telekom mit Geschwindigkeiten deutlich unter 10 kBit/s. Ich hatte mich nach einiger Recherche im Oktober 2006 für ein Angebot von Vodafone entschieden, das - für einen Grundpreis von gut 40 Euro - ein Handy (SIM-1, Grundgebühr), ein zweites Gerät für den Zuhausebereich (SIM-2, Telefon-Flatrate ins dt. Fest- und Vodafonenetz - Vodafone ZuhauseTalk24) und schließlich eine Datenkarte (SIM-3) enthält, um für 4 ct/min innerhalb des Zuhausebereichs im Internet zu surfen (Vodafone Zuhause WebOption).

Im Folgenden berichte ich über meine Bemühungen, den Anschluss meines Rechners (Dell Precision M60 mit Gentoo-Linux 2.6.12-gentoo-r6) an die "große weite Welt" herzustellen. Es war schwierig, im Netz Informationen zu Vodafone und Linux zu finden, die mir wirklich weiterhelfen. Die Aufzeichnungen sind deshalb gedacht als Archiv für mich und als Informationsschnipsel für andere mit ähnlichen Problemen. Beachten Sie aber, dass ich Ihnen - außer mit meinen eigenen Erfahrungen - dabei nicht helfen kann.

Ich experimentiere mit zwei Versionen des Verbindungsaufbaus. Die erste geht über das Handymodem - ein Sony Ericsson V600i, welches über USB-Kabel mit dem Rechner verbunden ist. Hier ließ sich der Verbindungsaufbau relativ problemlos bewerkstelligen.

Für die zweite Version kommt eine Vodafone Mobile Connect Card UMTS, genauer eine GlobeTrotter Fusion Quad Lite PCMCIA-Datenkarte zum Einsatz, die ich bisher aber noch nicht überreden konnte, die Verbindung zum ISP herzustellen.

Unterstützung durch die Vodafone Hotline (1212) ist nicht zu erwarten - dort wurde mir nur mitgeteilt: "Schauen Sie im Internet nach, dort gibt es Berichte, dass es schon Leute geschafft haben". Auch beim Kauf wurde mir deutlich gesagt, dass die Karte mit Linux nicht läuft, was wohl dechiffriert so zu verstehen ist: "Kein für Vodafone attraktives Kundensegment, deshalb versprechen wir nichts - keine Funktionalität und keinen Support". Immerhin wurde mir eine Rückabwicklungsoption eingeräumt.

Vodafone Tarif-Optionen - das Kleingedruckte

Alle folgenden Informationen sind natürlich ohne Gewähr und nicht unbedingt aktuell. Authentische und aktuelle Informationen nur auf den Webseiten von Vodafone.

Achtung: Das Ganze geht auch über eine SIM ohne Datenoption, wird dann aber über Datenvolumen abgerechnet und ist schweineteuer: 19ct/10kB, also 19 Euro/MB (Stand Okt. 2006).

Zunächst hatte ich auf Empfehlung der Vodafone-Verkaufsstelle (Leipzig, Hainstraße) zur Datenkarte die Vodafone Zuhause WebOption (grob: Basispreis 5 Euro, 4ct/min im Zuhausebereich, außerhalb dessen deutschlandweit 18.6ct/min., alle Preise brutto, Verbindung über web.vodafone.de) gebucht.

Hinzu kommt (auch bei allen weiteren Tarifen) der Basispreis für die Datenkarte von 6.00 Euro netto (Stand Okt. 2006). Die Datenkarte selbst bekam ich für 1 Euro dazu samt dem Einstiegsangebot, drei Monate auch die Tarifoption Vodafone WebConnect Volume XL (grob: 400 MB Inklusivvolumen, deutschlandweit nutzbar, Preis 30 Euro netto pro Monat, Stand Okt. 2006) kostenfrei zu nutzen.

Die ersten Experimente mit Linux hatte ich über die SIM-2 ausgeführt, was zu einer Rechnung von fast 50 Euro führte. Vodafone unterbreitete mir von sich aus im Nov. 2006 im Rahmen einer "einmaligen Optimierung des Datentarifs" WebConnect Volume PDA (30 MB Inklusivvolumen) zu buchen, wofür mir die angefallenen Kosten bis auf den Basispreis erlassen werden. Ein aus meiner Sicht sinnvolles Angebot; allerdings merkte ich erst später, dass es auf die SIM-2 und nicht die SIM-3 gebucht ist, die eigentliche Datenkarte, welche ich seit Mitte Oktober - wie weiter unten beschrieben - nutze. Dies ließ sich durch einen Anruf beim Kundendienst am 21.12. aber problemlos korrigieren.

Mit der zweiten Monatsabrechnung (nach ernsthafter Inbetriebnahme - 14.12.2006) habe ich feststellen müssen, dass der Tarifdschungel komplizierter ist: Die Tarif-Option WebConnect Volume XL deckt eigentlich das Leistungsspektrum der Zuhause WebOption ab, so dass meine Verbindungskosten sämtlich im Inklusivvolumen enthalten sein müssten. Die Verbindungskosten innerhalb des Zuhause-Bereichs wurden mir aber nach der Zuhause WebOption in Rechnung gestellt, die außerhalb des Zuhause-Bereichs hatte ich nach WebConnect Volume XL gratis. Ich habe nach Rücksprache mit der Verkaufsstelle deshalb die WebOption zugunsten der WebConnect Volume PDA (siehe oben) am 21.12. gekündigt. Gleichzeitig habe ich am 21.12. schriftlich Einwand gegen die bis dahin zuviel gezahlten ca. 25 Euro erhoben.

Im zeitlichen Umfeld der Monatsrechnung am 15.01.2007 wurde mir per SMS (!) mitgeteilt, dass ich im Februar eine Gutschrift in Höhe von 50 Euro erhalte. Zugleich tauchen auf dieser Rechnung noch immer die Zuhause WebOption auf und die Verbindungspreise sind nach dieser berechnet - diesmal zu meinen Gunsten, da ich ausnahmsweise 70 MB Datenvolumen verbraucht hatte, was nach der Zeitabrechnung der Zuhause WebOption billiger kommt als nach WebConnect Volume PDA. Andererseits gab es widersprüchliche Aussagen über die Dauer des Gratisangebots WebConnect Volume XL; auf den Rechnungen ist es bis Ende Nov. 2006 ausgewiesen, nach Auskunft des Kundendiensts wäre die Option bis 26.12. eingetragen. Rücksprache in der Verkaufsstelle ergab, dass die Zuhause WebOption zum 29.01. ausgetragen ist. Im Februar 2007 erhielt ich dann die avisierte Gutschrift, so dass meine finanzielle Bilanz (derzeit) großzügig ausgeglichen ist.

WebConnect Volume PDA ist mit 30 MB Datenvolumen für mich doch recht knapp bemessen und ein Überschreiten des Limits kommt sehr teuer. Man sollte deshalb eine reichlich bemessene Datenoption nehmen, und ich habe zum 2.3. auf WebConnect Volume L (200 MB inklusive) gewechselt. Interessanterweise ging das nicht online, sondern nur in der Geschäftsstelle - aber dort dann wirklich problemlos und mit sofortiger Wirkung (und taggenauer Abrechnung), obwohl im Kleingedruckten von einer Kündigungsfrist für Tarifoptionen von 3 Monaten die Rede ist.

Technische Daten:

Netzquellen

Installationsvorbereitungen

Mit einem 2.6-er gentoo-Kernel (erzeugt mit genkernel) ist es nicht schwierig, die Grundvoraussetzungen herzustellen. Die erforderlichen Module (pcmcia, usbserial) müssen beim Brennen des Kernels eingeschaltet sein und sollten gleich in die /etc/modules.autoload.d/kernel-2.6 eintragen werden.

Handy

Handy anstöpseln und los gehts. Das syslog zeigt

linux:~ # dmesg|grep tty
cdc_acm 3-1:1.1: ttyACM0: USB ACM device
cdc_acm 3-1:1.3: ttyACM1: USB ACM device

Datenkarte

Karte einstecken und prüfen, ob sie erkannt wird.
linux:~ # cardctl status
Socket 0:
  3.3V CardBus card
  function 0: [ready]
  function 1: [ready]
Socket 1:
  no card
Die Herstellerdaten herausfinden
linux:~ # cat /proc/bus/usb/devices 
....
  P:  Vendor=0af0 ProdID=6300 Rev= 0.00
  S:  Manufacturer=Option N.V.
  S:  Product=Fusion UMTS Quad-GPRS     
  S:  SerialNumber=?Serial Numbe
....
/etc/modules.d/vodafone anlegen mit Zeile (wie aus voriger Ausschrift)
options usbserial vendor=0xaf0 product=0x6300
und neu starten (oder modules-update aufrufen). Das folgende Kommando zeigt, dass die Karteninformationen aktiviert sind.
linux:~ # grep -i usbserial /etc/modprobe.conf 
   options usbserial vendor=0xaf0 product=0x6300
Nach dem Einstecken der Karte finden sich folgende Ausschriften im syslog:
linux:~ # dmesg | grep USB 
    usb 6-1: Generic converter now attached to ttyUSB0
    usb 6-1: Generic converter now attached to ttyUSB1
    usb 6-1: Generic converter now attached to ttyUSB2
    usb 6-1: Generic converter now attached to ttyUSB3
Paul Hardwick schreibt, dass /dev/ttyUSB0 für die PPP-Verbindung und /dev/ttyUSB2 für GSM, SMS und Netzwerk-Checks verwendet wird. Die anderen beiden Geräte-Knoten werden nicht verwendet.

Verbindung herstellen

Zum Herstellen der Verbindung verwende ich wvdial (Version 1.56), da sich in der Datei /etc/wvdial.conf verschiedene Initialisierungssequenzen - auch für Tests der Karte - platzieren lassen. Mehr zum Aufbau der Datei unter man wvdial.conf. Es wird stets die Defaults-Sektion und ggf. die als Kommandozeilenargument spezifizierte gelesen. Die Testsektionen (ctest und htest) enthalten keine Telefonnummer, so dass nur das Modem initialisiert und abgefragt wird.

Generell versucht wvdial zunächst die Verbindung mit der Gegenseite herzustellen und startet erst danach den PPP-Daemon. Dieser liest dann die Datei /etc/ppp/peers/wvdial (und vorher /etc/ppp/options, aber aus der Datei habe ich alle Einträge entfernt).

# /etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Idle Seconds = 600
Password = dummy
Username = dummy

[Dialer handy]
Modem = /dev/ttyACM0
Init2 = AT I
Init3 = AT+CGDCONT=1,"IP","web.vodafone.de"
Init4 = AT+CSQ
Phone = *99***1#

[Dialer htest]
Modem = /dev/ttyACM0
Init2 = AT I
Init3 = AT+COPS?
Init5 = at+cgdcont?
Init6 = AT+CSQ

[Dialer card]
Modem = /dev/ttyUSB0
Init2 = AT+CPIN="xxxx"
Phone = *99***1#

[Dialer ctest]
Modem = /dev/ttyUSB0
Init2 = AT I &V
Init3 = AT+COPS? 
Init4 = AT_OPSYS? 
Init5 = at+cgdcont? 
Init6 = AT+CSQ    

Alternativ lohnen auch Versuche mit minicom (Version 2.1; setze das serielle Gerät mit minicom -s und speichere dies als dfl-Datei im Verzeichnis /etc/minicom/ ab), um einzelne AT-Kommandos kontrolliert mit größerem zeitlichen Versatz einzugeben.

Perspektivisch möchte ich natürlich kppp (aus der kde-Suite) einsetzen.

Handy

Bei angestöpseltem Handy (PIN ist beim Einschalten des Handys einzugeben) kann es mit wvdial handy gleich losgehen.

/etc/ppp/peers/wvdial enthält die Zeilen

lock
noauth

wvdial htest liefert

--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT I
AT I
Sony Ericsson V600i
OK
--> Sending: AT+COPS?
AT+COPS?
+COPS: 0,0,"Vodafone.de"
OK
--> Sending: at+cgdcont?
at+cgdcont?
+CGDCONT: 1,"IP","web.vodafone.de","0.0.0.0",0,0
+CGDCONT: 2,"IP","wap.vodafone.de","0.0.0.0",0,0
+CGDCONT: 3,"IP","event.vodafone.de","0.0.0.0",0,0
+CGDCONT: 4,"IP","web.vodafone.de","0.0.0.0",0,0
+CGDCONT: 5,"IP","wap.vodafone.de","0.0.0.0",0,0
OK
--> Sending: AT+CSQ
AT+CSQ
+CSQ: 99,99
OK
--> Modem initialized.

Steckkarte

Ein allgemeiner Hinweis vorab: Wenn ein Verbindungsversuch über die Karte fehlgeschlagen ist, wird jeder neue Verbindungsversuch als ERROR abgewiesen. Die Karte muss herausgenommen und wieder eingesteckt werden. xxxx steht überall für die PIN der Karte.

Inzwischen habe ich es aufgegeben. Das Folgende dokumentiert also nur meine erfolglosen Bemühungen, die Datenkarte zu aktivieren. Das Problem scheint ein tieferliegendes im Verbindungsaufbau zum ISP zu sein (timeout oder so). Unter Windows funktioniert die Verbindung, wenn auch die Signalstärke zu wünschen übrig lässt.

Mit den Handy-Einstellungen von /etc/ppp/peers/wvdial funktioniert es nicht. Die folgenden Einstellungen sind aus Angaben von Stefan Bauer und Paul Hardwick zusammengestellt (und funktionieren fürs Handymodem).

#reserviere das gerät für die benutzung
lock
#jeder darf die internet einwahl verwenden
noauth
name wvdial
#ersetze standard route bei der einwahl
#auskommentiert, weil von meinem pppd nicht unterstuetzt
#replacedefaultroute
#definiere standard route
defaultroute
#akzeptiere vergebene ip des peers
noipdefault
#nimm dns-eintraege des peers
usepeerdns
#vermeide kompression
nobsdcomp
novj

wvdial ctest liefert

--> WvDial: Internet dialer version 1.56
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT I
AT I 
Manufacturer: Option N.V.
Model: GlobeTrotter Fusion Quad Lite
Revision: 1.5.5  (Date: May 17 2005, Time: 14:55:44)
OK
--> Sending: AT+COPS?
AT+COPS?
+COPS: 0,0,"Limited Service",2
OK
--> Sending: AT_OPSYS?
AT_OPSYS?
_OPSYS: 3,2
OK
--> Sending: at+cgdcont?
at+cgdcont?
+CGDCONT: 1,"IP","web.vodafone.de","",0,0
OK
--> Sending: AT+CSQ
AT+CSQ
+CSQ: 7,0 
OK
--> Modem initialized.

wvdial card liefert

--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT+CPIN="xxxx"
AT+CPIN="xxxx"
OK
--> Modem initialized.
--> Idle Seconds = 600, disabling automatic reconnect.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 384000
--> Carrier detected.  Waiting for prompt.
An der Stelle hängt sich die ganze Sache auf. Während anfangs beide Lampen der Karte im 1-s-Takt blinken, geht nach einigen Sekunden nach CONNECT die blaue (GPRS) in Doppelblink-Modus über, die rote ist aus. wvdial bekommt vom peer kein okay und startet deshalb auch pppd nicht.


Eine genauere Analyse mit minicom ergibt

AT+COPS?                                             
+COPS: 0,0,"Limited Service",2                       

at+cgdcont?
+CGDCONT: 1,"IP","web.vodafone.de","",0,0

AT+CSQ
+CSQ: 9,0
Bis dahin blinken beide Lampen im 1-s-Takt. Nun die PIN eingeben:
AT+CPIN="xxxx"
Nach etwa 4 sec. geht die rote Lampe aus und die blaue in Doppelblink-Modus über.
AT+COPS?                                             
+COPS: 0,0,"Vodafone.de",2

at+cgdcont?
+CGDCONT: 1,"IP","web.vodafone.de","",0,0

AT+CSQ
+CSQ: 1,0
Und nun müsste das CONNECT funktionieren:
ATDT*99***1#
CONNECT 384000
An der Stelle hängt sich das Ganze auch wieder auf.


Eine dritte Variante verwendet pppd als Master des Verfahrens. Dazu zwei Dateien

#/etc/ppp/peers/umts
#Quelle: Stefan Bauer, modifiziert
#umts geraet laut usbserial verknuepfung
/dev/ttyUSB0
#speed
460800
#zeit bis zum beenden der verbindung
idle 7200
#reserviere das gerät für die benutzung
lock
#normaler handschlag
crtscts
#benutze das gerät als normales modem
modem
#jeder darf die internet einwahl verwenden
noauth
#ersetze standard route bei der einwahl
#geht bei meinem pppd nicht 
#replacedefaultroute
#definiere standard route
defaultroute
user Anyname
password Anypassword
#pfad zum chatscript für die authorisierung
connect "/usr/sbin/chat -V -f /etc/ppp/vodafone-chat"
#akzeptiere vergebene ip des providers
noipdefault
#schiebe ppp in den hintergrund
#updetach
#vermeide kompression
nobsdcomp
novj
#versuche verbindung nach abbruch neu aufzubauen
#persist
und
# /etc/ppp/vodafone-chat
# nach Paul Hardwick u.a.
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
TIMEOUT 10
"" "AT&F"
OK "ATE1"
# PIN eingeben
OK "AT+CPIN=\042xxxx\042"
# welches netzwerk?
OK "AT+COPS?"
# wie gut und welcher art ist die verbindung?
OK "AT+CSQ"
OK "AT_OPSYS?"
OK "AT+CGDCONT?"
SAY "Calling Vodafone GPRS\n"
TIMEOUT 60
OK "ATD*99***1#"
CONNECT \c
Start mit pon umts liefert nach einiger Zeit folgende Ausgabe von plog:
11:50:09 pppd[15342]: pppd 2.4.3 started by root, uid 0
11:50:11 pppd[15342]: Serial connection established.
11:50:11 pppd[15342]: Using interface ppp0
11:50:11 pppd[15342]: Connect: ppp0 <--> /dev/ttyUSB0
11:50:12 pppd[15342]: CHAP authentication succeeded
11:50:12 pppd[15342]: CHAP authentication succeeded
11:50:42 pppd[15342]: IPCP: timeout sending Config-Requests 
11:50:48 pppd[15342]: Connection terminated.
11:50:48 pppd[15342]: Modem hangup
11:50:49 pppd[15342]: Exit.
dasselbe Ergebnis. Siehe auch Datei /var/log/daemon.log, wo eine funktionierende Verbindung übers Handy die Zeilen
14:52:37 pppd[21055]: pppd 2.4.3 started by root, uid 0
14:52:37 pppd[21055]: Using interface ppp0
14:52:37 pppd[21055]: Connect: ppp0 <--> /dev/ttyACM0
14:52:37 pppd[21055]: CHAP authentication succeeded: Congratulations!
14:52:37 pppd[21055]: CHAP authentication succeeded
14:52:41 pppd[21055]: Could not determine remote IP address: defaulting to 10.64.64.64
14:52:41 pppd[21055]: local  IP address 90.187.35.131
14:52:41 pppd[21055]: remote IP address 10.64.64.64
14:52:41 pppd[21055]: primary   DNS address 139.7.30.125
14:52:41 pppd[21055]: secondary DNS address 139.7.30.126
14:54:12 pppd[21055]: Terminating on signal 15
14:54:12 pppd[21055]: Connect time ...
14:54:12 pppd[21055]: Sent ... 
14:54:12 pppd[21055]: Connection terminated.
14:54:12 pppd[21055]: Exit.
hinterlässt.

Ein paar AT-Kommandos

Hier noch eine Liste nützlicher AT-Kommandos:
ATI
Informationen zum Gerät (GlobeTrotter Fusion Quad Lite, Revision: 1.5.5, Date: May 17 2005)
AT&V
aktuelle Werte aller internen Parameter (zugleich Liste der auf diesem Modem möglichen AT-Kommandos)
AT+CPIN?
READY = PIN deaktiviert, SIM PIN = PIN erforderlich
AT+CPIN="xxxx"
PIN an Modem schicken
AT+CREG?
Registrierungsstatus
0,0 = nicht registriert;
0,1 = registriert am HOME-Netzwerk der SIM;
0,2 = Suche nach GSM-Netzwerk;
0,3 = Registrierung wird verwehrt;
0,5 = Registrierung an anderem Netzwerk/Roaming
Quelle Paul Hardwick, 4 GlobeTrotter Configuration and Status
AT+COPS?
Registrierungsstatus und Operator code
letzter Eintrag: 0=unknown, 1=available, 2=current, 3=forbidden
für die Karte 0,0,"Limited Service",2 (Blink per sec)
und nach ein paar Sekunden 0,0,"Vodafone.de",2 (Doppelblink per sec)
Paul Hardwick schreibt über die Bedeutung der letzten Ziffer: 0 = GPRS, 2 = UMTS
AT+CSQ
Signalstärke und -qualität. Der erste Wert sollte wenigstens 12 betragen.
Bei mir liegt er höchstens bei 11 - vielleicht ist das schon die Lösung des Problems? Aber wieso geht es unter Windows?
AT+GSN
Karteninformation (?)
AT_OSBM?
Frequenzband (4 = Europa (900/1800 MHz), 5 = USA (900/1900 MHz))
AT_OPSYS?
Netzwerk-Präferenz:
at_opsys=0,2 (nur GPRS), at_opsys=1,2 (nur UMTS), at_opsys=2,2 (eher GPRS), at_opsys=3,2 (eher UMTS).
für die Karte 3,2


Prof. Dr. H.-G. Gräbe