[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Pakete_installieren: Programme installieren] [:Editor: Einen Editor öffnen] [:sudo: Root-Rechte] [:Rechte: Rechte für Dateien und Ordner ändern] }}} [[Inhaltsverzeichnis(1)]] Diese Anleitung zur Nutzung von [:Mobiler_Datentransfer:UMTS] bzw. des Internetzugangs über PCMCIA-Karten setzt voraus, dass die [wikipedia:UMTS-Datenkarte:] bereits korrekt erkannt wurde. In den meisten Fällen dürfte es sich hierbei um Karten der Firma Option handeln, die als OEM-Versionen dann mit dem Aufdruck des jeweiligen Providers versehen werden. Auf der Rückseite lässt sich der Original-Hersteller aber noch erkennen. Wer den Umgang mit den im Anschluss beschriebenen Skripten scheut, kann den [:Network-Manager:] oder verschiedene [#Grafische-Einwahlprogramme grafische Einwahlprogramme] einsetzen. = Getestete Karten = * Option 3G Datacard von T-Mobile (Ubuntu 8.04, 6.06) * Option 3G Datacard von Vodafone (Ubuntu 7.04 64-Bit) * Option GTmax EMEA alias T-Mobile Web'n'Walk Card compact (Ubuntu 16.04, 8.04, 7.10, 7.04) * Option GT 3G+ EMEA von T-Mobile (Ubuntu 9.10, 9.04, 8.10) = Initialisierung = Man steckt die PCMCIA-Karte in den vorgesehenen Schacht und ruft anschließend in einem Terminalfenster [1] {{{#!vorlage Befehl dmesg }}} auf. Die letzten Zeilen geben Auskunft darüber, ob der Kernel die Karte richtig erkannt hat. Nachfolgend beispielhaft die Ausgabe für eine Option GTmax EMEA: {{{ pccard: CardBus card inserted into slot 0 nozomi 0000:03:00.0: Init, cards_found: 1 nozomi 0000:03:00.0: Card type is: 2048 PCI: Enabling device 0000:03:00.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 18 (level, low) -> IRQ 19 nozomi 0000:03:00.0: Nozomi driver nozomi_tty nozomi 0000:03:00.0: Version of card: 3 nozomi 0000:03:00.0: Initialization OK! }}} Korrekt erkannte PCMCIA-Karten werden später - je nach Karte - entweder über '''/dev/ttyUSB0''', '''/dev/ttyACM0''' oder '''/dev/noz0''' angesteuert. = Test der Empfangsstärke = Für diesen kurzen Test muss das folgende Programm installiert [2] werden: {{{#!vorlage Paketinstallation comgt, universe }}} Außerdem muss die SIM-Karte für den UMTS-Zugang eingelegt sein. Nun kann man in einem Terminalfenster (`/dev/...` für die eigene Karte anpassen, siehe oben) {{{#!vorlage Befehl comgt -d /dev/noz0 }}} ausführen. Gegebenenfalls wird die PIN der SIM-Karte abgefragt (bei ``Failed to register`` Befehl wiederholen; evtl. Standort wechseln). Beispiel: {{{ SIM ready Waiting for Registration..(120 sec max) Registered on Home network: "Vodafone.de",2 Signal Quality: 18,99 }}} Die Signalqualität kann dabei zwischen 3 und 33 schwanken. Wichtig ist die Zahl hinter dem Providernamen (''"Home network"''): `0` steht für GPRS, `2` für UMTS (aus Geschwindigkeitsgründen zu bevorzugen). Nun können die eingangs beschriebenen grafischen Einwahlprogramme oder die nachfolgenden Skripte eingesetzt werden. = PPP-Konfiguration = Die initiale PPP-Konfiguration gestaltet sich recht einfach. Nach dem Aufruf von {{{#!vorlage Befehl sudo pppconfig }}} im Terminal ist eine neue Verbindung zu erstellen. Hier sind nun folgende Eingaben zu tätigen: * Name des Providers: dient zur späteren Auswahl, könnte z.B. `umts` lauten * DNS: `dynamic` * Authentifizierung: `PAP` * Login: `xxxx` (provider- und tarifabhängig) * Passwort: `****` (provider- und tarifabhängig) * Geschwindigkeit: `460800` * Impuls- oder Tonwahl: `Tone` * Rufnummer: `*99#` oder `*99***1#` (provider- und tarifabhängig) * Automatische Erkennung des Modems: Nein * Modem-Anschluss: `/dev/xxx` (siehe oben) Die Daten der Verbindung können nun gespeichert und das Konfigurationsprogramm beendet werden. = Einbuchen ins Netz = Um überhaupt eine Verbindung herstellen zu können, muss sich die Karte aber erst einmal ins Netz "einbuchen". Wie vom Handy bekannt, geht das nicht ohne PIN. Um diese zu setzen, gibt es grundlegend zwei Möglichkeiten: fest auf der Karte setzen (gefährlich bei "abhanden kommen", aber bequem) oder vor der Anwahl (z.B. per Skript). Man öffnet einen Editor [3] mit Root-Rechten [4] und gibt folgenden Text ein (der aber nur als Vorlage dient): {{{#!code perl #!/usr/bin/env perl use strict; use warnings; # Substitute xxx with your device, i.e. ttyUSB0 or noz0 my $modem = "/dev/xxx"; # Substitute yyyy with your PIN. # You should probably put your PIN somewhere else, e.g. on a USB stick, # an encrypted file system or something else, and read it from there... # You have been warned! my $pin = "yyyy"; $SIG{ALRM} = sub { die("timeout: no response from modem $modem\n"); }; (MODEM, "+<", $modem) or die("can't open modem $modem"); alarm(10); print(MODEM "AT+CPIN=\"$pin\"\n\r"); while () { if (m/OK/) { close(MODEM); print("PIN accepted\n"); exit(0); } if (m/ERROR/) { close(MODEM); print("PIN rejected\n"); exit(1); } } }}} Diesen speichert man dann z.B. unter '''/usr/local/sbin/setpin''' und setzt die Recht im Terminal mit {{{#!vorlage Befehl sudo chmod 700 /usr/local/sbin/setpin }}} so, dass nur '''root''' die Datei anschauen darf (man will ja nicht unbedingt, dass jeder Benutzer die PIN sehen kann!). Alternativ kann man folgende leicht abgewandelte Form des Skriptes nutzen. Es hat den Vorteil, dass die PIN nicht auf dem Rechner gespeichert wird, da sie direkt abgefragt wird. Dieses kann man dann unter '''/usr/local/bin/setpin''' speichern. Am Ende wird noch eine 3-sekündige Pause gemacht: falls man sich einen Starter auf der Oberfläche anlegt, kann man noch den Erfolg der Eingabe kontrollieren, bevor sich das Fenster schließt. {{{#!code perl #!/usr/bin/env perl use strict; use warnings; # Substitute xxx with your device, i.e. ttyUSB0 or noz0 my $modem = "/dev/xxx"; my $pin = ""; print "Please enter PIN: "; $pin=; $SIG{ALRM} = sub { die("timeout: no response from modem $modem\n"); }; (MODEM, "+<", $modem) or die("can't open modem $modem"); alarm(10); print(MODEM "AT+CPIN=\"$pin\"\n\r"); while () { if (m/OK/) { close(MODEM); print("PIN accepted\n"); sleep(3); exit(0); } if (m/ERROR/) { close(MODEM); print("PIN rejected\n"); sleep(3); exit(1); } } sleep(3); }}} Hier braucht die Berechtigung nicht so restriktiv zu sein, da die PIN nicht im Skript gespeichert ist. Folgender Befehl setzt die Ausführen-Berechtigung [5] für alle Benutzer des Rechners: {{{#!vorlage Befehl sudo chmod 755 /usr/local/bin/setpin }}} Jetzt kann man das Skript starten; entweder das erste als Root mit {{{#!vorlage Befehl sudo /usr/local/sbin/setpin }}} oder das angepasste als normaler Benutzer: {{{#!vorlage Befehl /usr/local/bin/setpin }}} Ist all das so weit geschehen, kann nun mit {{{#!vorlage Befehl pon umts }}} die Verbindung aufgebaut werden. = Alternativer Verbindungsaufbau mit wvdial = Leider scheint die oben beschriebene Variante via '''pppconfig''' nicht immer zu funktionieren, daher sei an dieser Stelle ein alternativer Lösungsweg erläutert, der das Programm '''wvdial''' zum Verbindungsaufbau benutzt. Dazu installiert man folgendes Paket: {{{#!vorlage Paketinstallation wvdial }}} Nun führt man einfach `wvdial` in einem Terminalfenster aus. Beim ersten Start des Programms wird automatisch die Datei '''~/.wvdial.conf''' erstellt. Diese öffnest du nun mit einem Editor deiner Wahl und ersetzt die darin enthaltenen Zeilen mit den folgenden: {{{#!code ini [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = Analog Modem Baud = 460800 New PPPD = yes # Substitute xxx with your device, i.e. ttyUSB0 or noz0 Modem = /dev/xxx ISDN = 0 [Dialer umts-pin] Init3 = AT+CPIN=XXXX [Dialer umts] Dial Command = ATD Carrier Check = no # Substitute yyy with your dialin number, i.e. *99# or *99***1# Phone = yyy Password = none Username = none Stupid Mode = 1 # Substitute "zzz" with your APN, i.e. "web.vodafone.de" Init4 = AT+CGDCONT=1,"IP","zzz" Dial Attempts = 2 }}} '''XXXX''' wird mit der eigenen (vierstelligen) Pin ersetzt. Jetzt kann man '''wvdial''' wie folgt aufrufen: {{{#!vorlage Befehl wvdial umts-pin }}} Anschließend kann man sich mit: {{{#!vorlage Befehl wvdial umts }}} ins UMTS-Netz einwählen. = Grafische Einwahlprogramme = * [:Archiv/UMTS_per_PCMCIA/GNOME_PPP:GNOME PPP] ## * [:UMTSmon:] - komfortables grafisches UMTS-Einwahlprogramm * [:Archiv/Vodafone_Mobile_Connect:Vodafone Mobile Connect Card driver] {en} - weiteres grafisches UMTS-Einwahlprogramm (nicht nur für Vodafone) = Problembehebung = Während der [:NetworkManager:] ab [:Intrepid:Ubuntu 8.10] mit UMTS USB-Sticks relativ zuverlässig funktioniert (wenn man die Startschwierigkeiten mit [:USB_ModeSwitch:] behoben hat), war die Unterstützung von PCMCIA-Karten zum Zeitpunkt der Erstellung des Artikels so gut wie nicht existent. Zumindest unter [:Xenial:Ubuntu 16.04] werden die obigen Karten inzwischen problemlos automatisch erkannt und unter der Bezeichnung ''"Mobiles Breitband"'' bereitgestellt. Damit sind die oben genannten alternativen Einwahlprogramme prinzipiell überflüssig (auch wenn sie immer noch funktionieren). = Links = * [http://www.linux-magazin.de/Heft-Abo/Ausgaben/2004/10/Daten-Duese Daten-Düse – UMTS-Karten unter Linux nutzen] {de} - Linux-Magazin, 10/2004 # tag: Internet, Einwahl, UMTS