GPRS/UMTS
Aus Gentoo Linux Wiki
Der folgende Text bezieht sich auf die Konfiguration für T-Mobile (D1) unter Benutzung der "pinken" T-Mobile UMTS/GPRS Karte von Option. Erweiterung werden natürlich gerne gesehen.
Inhaltsverzeichnis |
[Bearbeiten] Hardware
[Bearbeiten] Option GlobeTrotter 3G+
Die UMTS/GPRS Karten von Option mit der Bezeichnung GT 3G+ EMEA werden vom nozomi Treiber unterstützt. Mit dem Befehl lspci (aus dem Paket sys-apps/pciutils) kann geprüft werden, ob es sich tatsächlich um diese Karte handelt:
02:00.0 Network controller: Option N.V. Qualcomm MSM6275 UMTS chip
Leider sind alle auf den ersten Blick auffindbaren Treiber, zum Beispiel die von PHARscape, nicht wirklich benutzbar. Besserung ist allerdings in Sicht, nachdem der Treiber in Andrew Morton's Kernel aufgenommen wurde. Der Treiber aus den mm-sources-2.6.21_rc2-r1 ist schon benutzbar, Kernel Panics wie mit den offiziellen Treibern gehören damit der Vergangenheit an, solange man die Karte nicht auswirft, während sie in Benutzung ist.
Wer den Treiber aus diesem Kernel benutzen möchte, ohne einen -mm Kernel einzusetzen, kann das folgendermaßen tun:
- Ein neues Verzeichnis anlegen
- Darin ein Makefile anlegen, zum Beispiel das unten gezeigte
- Den Treiber aus dem -mm Kernel ebenfalls in das Verzeichnis kopieren (er liegt unter drivers/char/nozomi.c im Verzeichnis der mm-sources, zum Beispiel /usr/src/linux-2.6.21-rc2-mm1/drivers/char/nozomi.c für die mm-sources-2.6.21_rc2-r1).
- Durch Aufruf von make install den Treiber kompilieren und installieren.
| Datei: Makefile |
|
KDIR := /lib/modules/$(shell uname -r)/build |
Die Leerzeichen vor den Zeilen, die mit $(MAKE) beginnen, müssen Tabulatoren sein!
Das Modul wird automatisch beim Einstecken der Karte oder durch modprobe nozomi geladen. Es erzeugt dabei eine Reihe von tty-Schnittstellen, über die die Karte wie ein Modem angesprochen wird. Diese Schnittstellen sind /dev/noz[0-3].
[Bearbeiten] Kernel Konfiguration
Neben dem Treiber für das Modem werden noch die Grundlagen für das PPP Protokoll benötigt:
| Linux Kernel Configuration: Device Drivers -> Network Device Support |
<M> PPP (point-to-point protocol) support <M> PPP support for async serial ports <M> PPP Deflate compression <M> PPP BSD-Compress compression |
[Bearbeiten] Konfiguration des Modems
Die Konfiguration erfolgt über den sogenannten AT-Befehlssatz mittels eines Terminalprogramms, zum Beispiel net-dialup/minicom (Konsole), net-dialup/komport (KDE) oder net-dialup/gtkterm (GTK). Interessante Befehle für die Konfiguration eines UMTS-Modems sind:
[Bearbeiten] Befehle zum Modem
- ATI Ausgabe der Modem-Identifikation.
- ATZ Zurücksetzen des Modems
- AT&F Laden der Firmware-Voreinstellungen des Modems
- AT&V Ausgabe der unterstützten Befehle.
- AT+CGMI Ausgabe der Herstellerkennung.
- AT+CGMM Ausgabe der Modellkennung.
- AT+CGMR Ausgabe der Versionsnummer.
- AT+CGSN Ausgabe der Seriennummer (IMEI).
[Bearbeiten] Befehle zur PIN
- AT+CPIN? Abfrage, ob eine PIN eingegeben wurde. Die möglichen Antworten sind
- +CPIN: SIM PUK Es wird die PUK der Karte benötigt. Dies kann passieren, wenn die PIN nach mehrfacher Falscheingabe gesperrt ist. Das Setzen einer neuen PIN ist erforderlich.
- +CPIN: SIM PIN es ist noch keine PIN eingegeben.
- +CPIN: READY Die Karte ist betriebsbereit.
- AT+CPIN="XXXX" Eingabe der PIN (XXXX muss durch die PIN ersetzt werden).
- AT+CPIN="XXXXXXXX","YYYY" Setzen einer neuen PIN (XXXXXXXX muss durch die PUK ersetzt werden, YYYY ist die neue PIN).
- AT+CLCK="SC",0,"XXXX" Abschalten der PIN-Abfrage (XXXX muss durch die PIN ersetzt werden).
- AT+CLCK="SC",1,"XXXX" Einschalten der PIN-Abfrage.
- AT+CLCK="SC",2 Abfrage, ob eine PIN benötigt wird. Die möglichen Antworten sind
- +CLCK: 0 Es wird keine PIN benötigt.
- +CLCK: 1 Es wird eine PIN benötigt.
[Bearbeiten] Befehle zum Netz
- AT+CREG? Anfrage, on das Modem in ein Netz eingebucht ist. Die möglichen Antworten sind
- +CREG: 0,1 Modem ist eingebucht.
- +CREG: 0,2 Modem ist nicht eingebucht.
- AT+COPS? Abfrage, in welches Netz das Modem eingebucht ist.
- AT+COPS=? Abfrage, welche Netze zur Verfügung stehen. Dieser Befehl braucht einige Zeit, bis er abgeschlossen ist.
- AT+CSQ Abfrage der Signalqualität (Feldstärke und Bitfehlerrate)
- AT_OPSYS=X,2 Setzen des bevorzugten Netzes. Mögliche Werte für X sind
- 0 Nur GPRS.
- 1 Nur UMTS.
- 2 Bevorzuge GPRS, aber erlaube UMTS.
- 3 Bevorzuge UMTS, aber erlaube GPRS.
- AT_OPSYS? Abfrage des bevorzugten Netzes. Die möglichen Antworten sind die gleichen wie oben.
- AT+CGDCONT= Setzen des APN (Access Point Name). Dieser ist netzspezifisch verschieden. Typischerweise sollte AT+CGDCONT=1,"IP","internet" genügen, um den IP Service des Netzes auszuwählen.
[Bearbeiten] Verbindungsaufbau
- ATD Stellt eine Verbindung her. Die Rufnummer wird dabei hinter das D geschrieben.
- ATD*99# Baut eine Verbindung mit dem im Modem voreingestellten APN auf.
- ATD*99***1# Baut eine Verbindung mit dem ersten im Modem gespeicherten APN auf.
[Bearbeiten] Beispiel-Initialisierung
Die Befehle sollen nur eine Übersicht darstellen. Eine sinnvolle Initialisierung sieht folgendermaßen aus (mit Kommentaren):
| Code: Initialisierung |
|
ATZ Modem zurücksetzen |
[Bearbeiten] Software
[Bearbeiten] Nutzung mit Init-Skript
PPP-Schnittstellen lassen sich wie alle Netzwerkschnittstellen über Init-Skripte benutzen. Nach dem Erstellen eines Symlinks für das Init-Skript
| Code: Anlegen des Symlinks |
|
ln -sf /etc/init.d/net.lo /etc/init.d/net.ppp0 |
Und den folgenden Ergänzungen zur Netzwerkkonfiguration in /etc/conf.d/net zur Nutzung der UMTS-Karte:
| Datei: /etc/conf.d/net |
|
config_ppp0=( "ppp" ) |
kann durch den Aufruf von
| Code: |
|
/etc/init.d/net.ppp0 start|stop |
die Verbindung hergestellt bzw. getrennt werden. Im Gegensatz zur im Internet weit verbreiteten Meinung, dass die auschliessliche Nutzung von Chat-Skripten und SIM-PINs sich ausschliesst, kann im obigen Script anstelle der XXXX die PIN hinterlegt werden. Zu den restlichen Parametern der obigen Konfiguration wird die Lektüre des PPP-Abschnitts in /etc/conf.d/net.example empfohlen.
[Bearbeiten] Userspace pppd
Um den pppd als normaler User nutzen zu können sind zwei Dateien nötig. Die erste ist ein Chat-Skript, das das Modem konfiguriert, wählt und nach dem erfolgreichen Verbindungsaufbau zum pppd zurückkehrt. Diese soll in diesem Beispiel /etc/chatscripts/umts heissen.
| Datei: /etc/chatscripts/umts |
|
# abortstring |
Auch hier ist wieder bei Bedarf die SIM PIN anstelle der XXXX anzugeben und bei Bedarf der APN und die Netzwerkpräferenz anzupasen. Die zweite benötigte Datei ist eine Beschreibung der PPP Eigenschaften für die Verbindung. Diese nennen wir in diesem Beispiel /etc/ppp/peers/umts.
| Datei: /etc/ppp/peers/umts |
|
hide-password |
In dieser Datei sind nach Bedarf Benutzername, Passwort und Devicename anzupassen.
Nachdem diese beiden Dateien existieren, kann mit den Befehlen
| Code: Verbindung starten und stoppen |
|
pon umts |
die UMTS Verbindung gestartet bzw. beendet werden.
