[[Vorlage(Archiviert)]] {{{#!vorlage Hinweis Dieser Artikel bezieht sich nur auf den Verbindungsaufbau mit dem Provider o2, bei anderen Anbietern sollte das Vorgehen aber ähnlich sein. }}} {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Paketverwaltung: Programme installieren] [:Editor: Einen Editor öffnen] [:sudo: Root-Rechte] [:udev: Verwaltung von Hotplug Ereignissen] [:chmod: Datei-Rechte ändern] }}} [[Inhaltsverzeichnis(2)]] Dieser Artikel bezieht sich auf die Einrichtung des ICON 210 UMTS Modems von Option/Qualcom unter Verwendung des Prepaid-Daten-Tarifs von o2 und ist mit anderen Geräten des Herstellers sowie anderen Mobilfunk-Anbietern nicht getestet. Zu den anderen Geräten sind zum größten Teil bereits sehr gute Anleitungen vorhanden. {{{#!vorlage Hinweis Die in diesem Artikel zu erstellenden Skripte können auch [#Scripte-herunterladen heruntergeladen] werden. }}} = Installation = Folgende Programme sind notwendig: * [:USB_ModeSwitch:usb-modeswitch] - Programm zum Umschalten des Datenträgermodus bei USB-Modems {{{#!vorlage Hinweis usb-modeswitch ist als gleichnamiges Paket über die offiziellen Paketquellen verfügbar. }}} Optional kann noch die folgende Software verwendet werden: * [http://pharscape.org/comgt.html comgt] {en} - Kommandozeilentool für 3G- bzw. UMTS-Geräte. {{{#!vorlage Hinweis Ab Ubuntu 10.04 [:Lucid_Lynx:] ist comgt als gleichnamiges Paket über die offiziellen Paketquellen verfügbar. Alternativ lässt sich aus den Softwarequellen das Programm '''`gcom`''' installieren, welches eine frühere Version von '''`comgt`''' darstellt. Dabei ist allerdings zu beachten, das entweder die Skripte angepasst werden müssen oder eine entsprechende Verknüpfung angelegt wird. Dies ist im Rahmen dieses Artikels __nicht__ getestet. }}} [[Vorlage(Fremd, Paket, "Die Programme '''`usb_modeswitch`''' und '''`comgt`''' sind Software von Drittanbietern und in älteren Ubuntu-Versionen nicht enthalten! Das Kernel Modul '''option.ko''' wurde vom Verfasser abgeändert und neu kompiliert und entspricht somit nicht mehr der Version der Distribution.")]] = Initialisierung = Da der ICON 210 Stick auf den Betrieb unter Windows ausgelegt ist, sind ein paar Vorarbeiten zu leisten. == Umschalten auf Modembetrieb == Da das Modem mit einer doppelten Funktionsweise belegt ist und standardmäßig im Datenträgermodus startet, muss hier eine zusätzliche Software zum Einsatz kommen, die das Gerät in den Modembetrieb schaltet. Dazu wird das Programm [:USB_ModeSwitch:] verwendet. {{{#!vorlage Hinweis Nach der Installation von usb-modeswitch kann es notwendig sein, den Befehl '''`sudo udevadm control --reload-rules`''' auszuführen oder das System neu zu Starten, damit die Änderung auch aktiv wird. }}} Den Stick einstecken, kurz warten, ein Terminal öffnen und per '''`lsusb`''' die angeschlossenen USB-Geräte anzeigen lassen. Nun sollte ein Geräte mit folgender ID auftauchen: {{{ Bus 001 Device 005: ID 1e0e:9000 }}} Das Gerät befindet sich nun im Modemmodus. {{{#!vorlage Hinweis Wenn die PIN-Abfrage deaktiviert ist, muss die LED nach kurzer Wartezeit von Rot auf Grün wechseln. }}} == Vorgehen unter Ubuntu 8.10 == === USB-Serial Treiber laden === Nun muss der USB-Serial-Treiber geladen werden, damit sich das Modem auch ansprechen lässt. Mit der Eingabe von: {{{#!vorlage Befehl sudo modprobe usbserial vendor=0x1e0e product=0x9000 }}} sollten die Devices `/dev/ttyUSBx` (x = `0,1 und 2`) aktiviert werden. Zur Kontrolle {{{#!vorlage Befehl ls /dev/ttyUSB* }}} eingeben, woraufhin die drei Geräte angezeigt werden sollten. {{{ /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 }}} {{{#!vorlage Hinweis Ist dies nicht der Fall, ist wahrscheinlich ein Fehler aufgetreten, mit dem mehrere Benutzer zu kämpfen haben. Näheres hierzu im Bereich [#Fehlerbehebung Fehlerbehebung]. }}} === Einwahlskript erstellen === Mit einem Editor [3] folgendes Skript für `pppd` erstellen: {{{#!code bash -detach /dev/ttyUSB2 9600 defaultroute usepeerdns mtu 1492 noauth crtscts lock # novj # nobsdcomp nodeflate # nopcomp connect '/usr/sbin/chat -v -t6 -f /etc/ppp/peers/gsm_chat' }}} und unter '''/etc/ppp/peers/o2-umts''' abspeichern. Dazu sind Root-Rechte [4] erforderlich! === AT-Modembefehlsskript erstellen === Mit einem Editor folgendes Skript als Modembefehlssatz erstellen: {{{#!code bash ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'NO CARRIER' ABORT DELAYED SAY 'Initializing modem:\n' '' AT OK ATZ OK \c SAY 'OK\n' SAY "Checking PIN:\n" '' AT+CPIN? "+CPIN: READY" \c SAY "OK\n" SAY 'Setting APN:\n' '' AT+CGDCONT=1,"IP","surfo2" OK \c SAY "OK\n" SAY 'Dialing...\n' OK ATD*99# CONNECT \c SAY "Connected.\n" }}} und unter '''/etc/ppp/peers/gsm_chat''' abspeichern. Dazu sind Root-Rechte [4] erforderlich! === Einwählen === {{{#!vorlage Hinweis Sollte eine andere Verbindung bestehen (LAN, WLAN), wird diese vom Networkmanager bevorzugt und die "default route" wird nicht auf die UMTS-Verbindung umgestellt. Daher ist es notwendig, erst im [:NetworkManager:] die bestehenden Verbindungen zu trennen! }}} Nun kann per Eingabe [1] eine Verbindung hergestellt werden: {{{#!vorlage Befehl sudo pon o2-umts }}} {{{ Initializing modem: OK Checking PIN: OK Setting APN: OK Dialing... Connected. Serial connection established. Using interface ppp0 Connect: ppp0 <--> /dev/ttyUSB2 PAP authentication succeeded Could not determine remote IP address: defaulting to 10.64.64.64 Cannot determine ethernet address for proxy ARP local IP address 10.39.136.244 remote IP address 10.64.64.64 primary DNS address 193.189.244.205 secondary DNS address 193.189.244.197 }}} {{{#!vorlage Hinweis Die LED auf dem Stick sollte Grün (2G = GPRS) oder Blau (3G = UMTS) blinken! }}} Das System ist nun per UMTS online. == Hinweise zu Kubuntu == Der KDE Networkmanager ist leider immer noch nicht der Lage, diese Verbindungen herzustellen. Daher muss entweder der GNOME [:NetworkManager:] installiert und verwendet werden oder eine Einwahl per Skript umgesetzt werden. = Optionales = Dieser Abschnitt widmet sich weitergehender Informationen und Möglichkeiten und ist für den Grundbetrieb nicht notwendig. == Automatisieren == Natürlich kann man das ganze auch automatisch abarbeiten lassen. Dazu hier zwei Möglichkeiten. === Per Skript === Einfach ein Skript mit folgendem Inhalt erstellen [3]: {{{#!code bash #!/bin/sh -e # # o2dialup # modprobe usbserial vendor=0x1e0e product=0x9000 && sleep 1 #Die untere Zeile aktivieren sofern das Problem der nicht erkannten Geräte /dev/ttyUSB* auftritt. #modprobe -r usbserial && sleep 1 && modprobe usbserial vendor=0x1e0e product=0x9000 && sleep 1 pon o2-umts exit 0 }}} und beispielweise als '''/usr/local/bin/o2dialup''' speichern. Das Skript dann bei Bedarf mit '''`sudo sh /usr/local/bin/o2dialup`''' starten. === Mit Systemstart === Man kann die oben genannten Befehle natürlich auch in der '''/etc/rc.local''' ablegen. Allerdings muss das Modem dann auch schon bei Systemstart eingesteckt sein, da dieses Skript beim Booten ausgeführt wird. Das sieht dann folgendermaßen aus: {{{#!code bash #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. modprobe usbserial vendor=0x1e0e product=0x9000 && sleep 1 #Die untere Zeile aktivieren sofern das Problem der nicht erkannten Geräte /dev/ttyUSB* auftritt. #modprobe -r usbserial && sleep 1 && modprobe usbserial vendor=0x1e0e product=0x9000 && sleep 1 pon o2-umts exit 0 }}} {{{#!vorlage Hinweis Das Skript '''rc.local''' wird automatisch mit Superuser-Rechten ausgeführt. }}} === Per Udev === [[Vorlage(Fortgeschritten)]] Die wohl eleganteste Lösung ist die Einbindung über den [:udev:]-Daemon [5], womit der Stick automatisch bei jedem Einstecken initialisiert und sogar die komplette Einwahl automatisiert werden kann. Hierzu ist das Erstellen von eigenen Regeln für udev sowie ein paar weitere Skripte notwendig. Mit einem Editor[3] folgende Dateien erstellen, dazu sind Root-Rechte erforderlich [4]. '''/usr/local/sbin/load_usbserial''' {{{#!code bash #!/bin/sh /sbin/modprobe usbserial vendor=0x1e0e product=0x9000 exit 0 }}} '''/usr/local/sbin/comgt_pin''' (Nur wenn die Pinabfrage verwendet wird.) {{{#!code bash #!/bin/sh #Dieser Abschnitt ist für die automatische Pin Freischaltung zuständig und kann bei Bedarf auskommentiert werden. Bei Verwendung sind die 4 "X" durch den PIN der SIM Karte zu ersetzten. export COMGTPIN=XXXX /usr/local/bin/comgt PIN -d /dev/ttyUSB2 >>/tmp/switch_icon210.log 2>&1 #Dieser Abschnitt ist für die automatische Einwahl zuständig und kann bei Bedarf auskommentiert werden. pon o2-umts >>/tmp/o2-umts.log 2>&1 exit 0 }}} Der Einfachheit halber sollten diese drei Dateien nun ausführbar gemacht werden [6]. Nun per Editor folgende Udev-Regel erstellen: {{{#!code bash #ICON 210 UMTS Modem - USB-Serial Treiber laden ACTION=="add", ATTRS{idVendor}=="1e0e", ATTRS{idProduct}=="9000", RUN+="/usr/local/sbin/load_usbserial" #ICON 210 UMTS Modem - Pin eingeben per comgt #Die untere Zeile nur bei Verwendung des Pin, bzw. automatischer Einwahl aktivieren. #ACTION=="add", KERNEL=="ttyUSB2", RUN+="/usr/local/sbin/comgt_pin" }}} und unter '''/etc/udev/rules.d/19-local.rules''' abspeichern. {{{#!vorlage Hinweis Unter Umständen ist es notwendig, die udev-Regeln nach dem Ändern manuell neu einzulesen. Dazu ist folgender Befehl einzugeben: '''`sudo udevadm control reload_rules`''' }}} Der Stick wird nun beim Verbinden automatisch in den Modemmodus geschaltet, der USB-Serial Treiber wird geladen und ggf. der PIN eingegeben sowie eingewählt. Um die automatische Verbindung manuell zu beenden, ist die Eingabe von `poff` notwendig, was dann `pppd` stoppt. == PIN Abfrage == Mittels des Zusatzprogramms [#Installation comgt] ist es möglich, den Stick auch mit aktivierter PIN-Abfrage zu aktivieren. Dazu muss vor der Einwahl per [#Einwahl pon] das Tool aufgerufen werden [1]: {{{#!vorlage Befehl comgt -d /dev/ttyUSB2 }}} Daraufhin muss die PIN-Nummer der SIM-Karte eingegeben werden. {{{ Enter PIN number: XXXX Waiting for Registration..(120 sec max)....... Registered on Home network: "o2 - de",0 Signal Quality: 18,99 }}} Bei korrekter Eingabe wird der Stick entsperrt, im Netz registriert und kann nun per [#Einwahl pon] weiterverwendet werden. = Fehlerbehebung = == Geräte '''/dev/ttyUSB*''' nicht vorhanden == Bei den meisten Anwendern funktionierte der Stick nicht auf Anhieb, denn nach der Eingabe von: {{{#!vorlage Befehl sudo modprobe usbserial }}} {{{ vendor=0x1e0e product=0x9000 }}} waren die Geräte '''/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2''' nicht vorhanden. Ein erneutes Laden von "`usbserial`": {{{#!vorlage Befehl sudo modprobe -r usbserial && sleep 1 && sudo modprobe usbserial vendor=0x1e0e product=0x9000 }}} behebt das Problem. == Keine Verbindung == Ein weiteres Problem ist, dass sich trotz des augenscheinlich Funktionieren des Sticks keine Verbindung aufbauen ließ und die Einwahl statt dessen einen "timeout" meldete. {{{#!vorlage Befehl sudo pon o2-umts }}} {{{ Initializing modem: OK Checking PIN: OK Setting APN: OK Dialing... Connected. Serial connection established. Using interface ppp0 Connect: ppp0 <--> /dev/ttyUSB2 PAP authentication succeeded IPCP: timeout sending Config-Requests Connection terminated. Modem hangup }}} Ein Initialisieren des Modems per '''`comgt`''' schafft hier Abhilfe: {{{#!vorlage Befehl sudo comgt -d /dev/ttyUSB2 }}} {{{ SIM ready Waiting for Registration..(120 sec max) Registered on Home network: "o2 - de",0 Signal Quality: 12,99 }}} Der Stick lässt sich danach einwandfrei verwenden. = Downloads = == Skripte herunterladen == * [attachment:Icon_210/gsm_chat:gsm_chat] {dl} * [attachment:Icon_210/o2-umts:o2-umts] {dl} * [attachment:Icon_210/o2dialup:o2dialup] {dl} * [attachment:Icon_210/rc.local:rc.local] {dl} * [attachment:Icon_210/load_usbserial:load_usbserial] {dl} * [attachment:Icon_210/comgt_pin:comgt_pin] {dl} * [attachment:Icon_210/19-local.rules:19-local.rules] {dl} * [attachment:Icon_210/18-option.rules:18-option.rules] {dl} == Treiber herunterladen == * [attachment:Icon_210/option.ko.tar.gz:option.ko.tar.gz - Für den Icon 210 abgeänderte __nicht offizielle__ Version (i386)] {dl} * [attachment:Icon_210/option.ko.x64.tar.gz:option.ko.x64.tar.gz - Für den Icon 210 abgeänderte __nicht offizielle__ Version (amd64)] {dl} == Alles herunterladen == * [attachment:Icon_210/ICON_210.tar.gz:ICON_210.tar.gz - Alle Scripte und Treiber in einem Download] {dl} = Links = * [http://marc.info/?l=linux-kernel&m=124478992422348&w=2 Kernelpatch für das Optionmodul] {en} - Wenn man selbst kompilieren möchte/muss! * [:USB_ModeSwitch:] * [http://pharscape.org/ Pharscape.org] {en} - Hintergrundinformationen für Option Modems, Home of the comgt! ---- #tag: Netzwerk, Hardware, Internet, Kommunikation