ubuntuusers.de

Icon 210

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Hinweis:

Dieser Artikel bezieht sich nur auf den Verbindungsaufbau mit dem Provider o2, bei anderen Anbietern sollte das Vorgehen aber ähnlich sein.

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.

Hinweis:

Die in diesem Artikel zu erstellenden Skripte können auch heruntergeladen werden.

Installation

Folgende Programme sind notwendig:

  • usb-modeswitch - Programm zum Umschalten des Datenträgermodus bei USB-Modems

Hinweis:

usb-modeswitch ist als gleichnamiges Paket über die offiziellen Paketquellen verfügbar.

Optional kann noch die folgende Software verwendet werden:

  • comgt 🇬🇧 - Kommandozeilentool für 3G- bzw. UMTS-Geräte.

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.

Hinweis!

Fremdpakete können das System gefährden.


Anmerkung: 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.

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.

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:

sudo modprobe usbserial vendor=0x1e0e product=0x9000 

sollten die Devices /dev/ttyUSBx (x = 0,1 und 2) aktiviert werden.

Zur Kontrolle

ls /dev/ttyUSB* 

eingeben, woraufhin die drei Geräte angezeigt werden sollten.

/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

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.

Einwahlskript erstellen

Mit einem Editor [3] folgendes Skript für pppd erstellen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
-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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
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

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:

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

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]:

1
2
3
4
5
6
7
8
9
#!/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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#!/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

Hinweis:

Das Skript rc.local wird automatisch mit Superuser-Rechten ausgeführt.

Per Udev

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

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

1
2
3
#!/bin/sh
/sbin/modprobe usbserial vendor=0x1e0e product=0x9000
exit 0

/usr/local/sbin/comgt_pin (Nur wenn die Pinabfrage verwendet wird.)

1
2
3
4
5
6
7
#!/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:

1
2
3
4
5
#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.

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 comgt ist es möglich, den Stick auch mit aktivierter PIN-Abfrage zu aktivieren. Dazu muss vor der Einwahl per pon das Tool aufgerufen werden [1]:

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 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:

sudo modprobe usbserial 
vendor=0x1e0e product=0x9000

waren die Geräte /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 nicht vorhanden.

Ein erneutes Laden von "usbserial":

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.

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:

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

Treiber herunterladen

Alles herunterladen


Diese Revision wurde am 18. März 2012 10:34 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Netzwerk, Kommunikation, Internet