Surfstick einrichten: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
{{righttoc}}
 
{{righttoc}}
Wer einen ''Surfstick'' des Mobilfunk-Anbieters O<sub>2</sub> besitzt, möchte diesen eventuell auch unter Arch benutzen. Dies ist mit dem Standard-Kernel ab mindestens Version 2.6.27 ohne zusätzliche Kernelmodule problemlos möglich. Es wird vermutlich auch mit älteren Kerneln funktionieren, wurde vom Initial-Autor des Artikels allerdings nicht getestet.
+
Es gibt diverse Wege, einen ''Surfstick'' unter Archlinux einzurichten. Meistens muss auf spezielle Geräteeigenschaften während des Einrichten eingegangen werden, wodurch sich die meisten Anleitung stark voneinander unterscheiden können.
  
Für die Einrichtung stehen zwei Lösungswege offen. Zum Einen bietet sich die Möglichkeit, den Surfstick mittels ''comgt'' und ''wvdial'' in Verbindung mit ''pppd'' manuell einzurichten, zum Anderen bietet sich mit ''umtsmon'' eine GUI-Basierende Konfiguration an.
+
Die Einrichtungen sind sehr ähnlich zu der Einrichtung eines regulären Modems, da die ''Surfsticks'' im Grunde genommen nichts anderes sind.
  
Prinzipiell ist diese Vorgehensweise auch auf die Sticks anderer Anbieter übertragbar, sofern diese auf dem HUAWAI E160/E220 basiert.
+
Diese Seite bietet einen Überblick über Geräte-spezifische Anleitungen.
  
== Hardware ==
+
= Anleitungen =
Der vom Autor zum Testen im Prozess der Initialisierung dieses Wiki-Artikels verwendete Surfstick ist laut Beschriftung der „HUAWEI E160 HSDPA USB Stick“, [[lsusb]] gibt folgendes aus.
 
  
Bus 001 Device 009: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
+
== Huawei ==
  
Bei Anschluss des Surfsticks werden dem System zwei USB-GSM-Modems übergeben. „ttyUSB0“ ist das Verbindungs-Modem, und „ttyUSB1“ wird vom Stick selbst für interne Zwecke verwendet.
+
* [Surfstick einrichten/e160 Huawei e160/e161/e220 (O<sub>2</sub>)]
 +
* [Surfstick einrichten/e1550 Huawei 1550 (O<sub>2</sub>)]
  
[ 2103.645260] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB0
 
[ 2103.645305] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB1
 
  
Die LED des Surfsticks verhält sich entsprechend des Status der Hardware unterschiedlich.
+
== Geräte, die ohne spezifische Konfiguration laufen ==
  
* '''blinkt grün''' SIM geschlossen, nicht verbunden
+
Folgende Geräte laufen out-of-the-box:
* '''blinkt dunkelblau''' SIM geöffnet, nicht verbunden
 
* '''leuchtet dunkelblau''' verbunden, aber keine Datenübertragung
 
* '''leuchtet hellblau''' es werden Daten übertragen
 
  
== Einrichtung per Befehlszeile ==
+
* bisher keine
Zur Einrichtung am CLI werden zwei Tools benötigt, dies sind ''wvdial'' und ''comgt''. Ersteres befindet sich im „community“-Repository, letzteres ist im „extra“-Repository verfügbar. Beide Tools können aus den entsprechenden Repositorys mit [[Pacman]] installiert werden.
 
  
pacman -Sy comgt wvdial
 
  
Sollte das Internetverbindungsaufbau-System nicht installiert sein, so müssen die Pakete ebenfalls noch installiert werden.
+
= Fehlerbehebung =
 +
Bei der Verwendung einer der hier vorgestellten Anleitungen können diverse Probleme auftreten. Eventuelle Lösungen sind hier zu finden.
  
pacman -Sy rp-pppoe ppp
+
== Keine Namensauflösung möglich ==
 
 
… wobei dies bei einer Standard-Installation nicht nötig ist.
 
 
 
=== Konfiguration ===
 
Vor der Verwendung des Surfsticks unter Arch müssen noch einige Dinge konfiguriert werden. Auch ist es ratsam, sich ein Script oder eine Bash-Funktion zu erstellen, um den Stick zu initialisieren, da man sonst alle Schritte manuell ausführen muss.
 
 
 
==== wvdial ====
 
Über das PPP-Einwahlprogramm „wvdial“ wird die Verbindung über das Surfstick-Modem ins Internet aufgebaut. Damit das Programm die richtigen Befehle ausführt, muss ein Script erstellt werden. Es wird davon ausgegangen, dass der Surfstick als einziges Modem verwendet werden soll. Falls nicht, muss statt „Dialer Defaults“ einfach ein anderer Name angegeben werden.
 
 
 
[Dialer Defaults]
 
Modem = /dev/ttyUSB0
 
ISDN = off
 
Modem Type = USB Modem
 
Baud = 115200
 
Init = ATZ
 
Init2 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
 
Init3 AT+CGDCONT=1,"IP","surfo2"
 
Init4 = AT^SYSCFG=2,2,3FFFFFFF,2,4
 
Init5 =
 
Init6 =
 
Init7 =
 
Init8 =
 
Init9 =
 
Phone = *99#
 
Phone1 =
 
Phone2 =
 
Phone3 =
 
Phone4 =
 
Dial Prefix =
 
Dial Attempts = 100
 
Dial Command = ATM1L3DT
 
Ask Password = off
 
Password = o2
 
Username = o2
 
Auto Reconnect = on
 
Abort on Busy = off
 
Carrier Check = on
 
Check Def Route = on
 
Abort on No Dialtone = on
 
Stupid Mode = on
 
Idle Seconds = 0
 
Auto DNS = on
 
 
 
Username und Passwort müssen so belassen werden. Dies wird als Datei „/etc/wvdial.conf“ abgespeichert.
 
 
 
==== Script ====
 
Möchte man nicht jedes mal mehrere Befehle eingeben, wenn man den Surfstick initialisieren will, kann man sich ein kleines Script, oder eine Bash-Funktion erstellen. Im Beispiel wird eine Bash-Funktion verwendet, die in der [[bashrc]] von ''root'' notiert wurde.
 
 
 
function o2ss {
 
  ifconfig eth0 down
 
  mknod /dev/ppp c 108 0 2>/dev/null
 
  COMGTPIN=1234 comgt PIN -d /dev/ttyUSB0
 
  sleep 5
 
  wvdial
 
  ifconfig eth0 up
 
}
 
 
 
Zuerst wird eth0 offline gesetzt. Dies ist nötig, da wvdial, bzw. ''pppd'' dadurch eventuell verwirrt werden können. Es wird dann ein neuer [[Gerätedatei|Device Node]] erstellt, und Fehlermeldungen dabei verworfen. Gelegentlich kann das Device nämlich mal nicht vorhanden sein, und so wird es automatisch neu erstellt. Wenn es schon vorhanden ist, wird so keine Fehlermeldung angezeigt.
 
 
 
Es wird dann mittels „comgt“ die PIN, im Beispiel „1234“, an die SIM-Karte übergeben, und diese damit geöffnet, da der Surfstick danach einen Moment braucht, um die SIM-Karte freizugeben, wird durch das darauffolgende „sleep“ fünf Sekunden gewartet. Will man die PIN nicht in einer Datei stehen haben, bietet sich eine etwas angepasste Methode an (siehe [[#Optimieren|Optimieren]]).
 
 
 
Nun wird „wvdial“ ausgeführt, wenn nur eine Konfiguration – und diese als „Dialer Default“ – eingetragen wurde, reicht der Aufruf so, ansonsten muss er um den Eintrags-Namen erweitert werden, etwa „wvdial surfstick“, wenn der Konfigurationsabschnitt „surfstick“ heißt.
 
 
 
Durch „wvdial“ wird selbständig „pppd“ gestartet, und durch diesen die Verbindung über das Modem ins Internet aufgebaut. Alle nötigen Daten werden durch den O<sub>2</sub>-DHCP-Server bereitgestellt und von „pppd“ automatisch dem System übergeben.
 
 
 
# o2ss
 
SIM ready
 
--> WvDial: Internet dialer version 1.60
 
--> Cannot get information for serial port.
 
--> Initializing modem.
 
--> Sending: ATZ
 
ATZ
 
OK
 
--> Modem initialized.
 
--> Sending: ATM1L3DT*99#
 
--> Waiting for carrier.
 
ATM1L3DT*99#
 
CONNECT
 
--> Carrier detected.  Starting PPP immediately.
 
--> Starting pppd at Sat Apr 18 22:14:50 2009
 
--> Pid of pppd: 5503
 
--> Using interface ppp0
 
--> local  IP address 10.68.85.169
 
--> remote IP address 10.64.64.64
 
--> primary  DNS address 193.189.244.197
 
--> secondary DNS address 193.189.244.205
 
 
 
Das geöffnete Shell-Fenster dient zur Kontrolle und Statusanzeige. Wenn in dem Fenster Strg+C gedrückt wird, wird die Verbindung getrennt, ebenso, wie, wenn das Fenster geschlossen wird.
 
 
 
=== Optimieren ===
 
Will man seine PIN nicht im Klartext in einer Datei stehen haben, sondern jedes mal verdeckt eingeben, kann man sich foldenden Scriptes, anstatt des oben angegebenen direkten Aufrufs von comgt mit der PIN bedienen. Das Script setzt zuerst die Shell in den Passwort-Eingabemodus und Fragt das Passwort ab, setzt die Shell dann wieder zurück in den vorherigen Modus, und führt „comgt“ aus.
 
 
 
trap "stty echo ; exit" 1 2 15
 
echo -n "PIN: "
 
stty -echo
 
read PIN
 
COMGTPIN=${PIN} comgt PIN -d /dev/ttyUSB0
 
stty echo
 
echo
 
trap "" 1 2 15
 
 
 
„trap“ sichert, dass die Shell wieder in den ursprünglichen Modus zurückwechselt, wenn man die Eingabe mit Strg+C o.ä. abbricht.
 
 
 
== Grafische Einrichtung ==
 
Eine weitere Methode, den Surfstick unter Arch zu verwenden, ist, ''umtsmon'' einzusetzen. ''umtsmon'' ist ein Qt3-Basierendes Programm, das [http://aur.archlinux.org/packages.php?ID=6883 im AUR verfügbar] ist, und aus diesem [[AUR|AUR installiert werden]] kann. Zusätzlich wird das Paket „qt3“ benötigt, das im „extra“-Repository vorhanden ist, und mittels Pacman installiert werden kann.
 
 
 
pacman -Sy qt3
 
 
 
[[Bild:umtsmon_profil.png|thumb|Die Einstellung der Profildaten]]
 
Nach der Installation kann das Tool mittels „umtsmon“ gestartet werden, es bedarf dann aber noch der Einstellung eines Profils. Zuerst wird allerdings die PIN abgefragt, um die SIM-Karte zu öffnen. Über „Verbindung → Profile“ gelangt man zum Profil-Editor, hier muss man ein neues Profil anlegen.
 
 
 
Die Daten in den Abschnitten „einloggen“ und „Erweiterte PPP-Einstellungen“ sollten so übernommen werden, wie sie im Screenshot vorhanden sind, das Passwort lautet auch hier „o2“. Hat man keine echte Flatrate, sondern einen Volumen- oder Zeit-Tarif, kann man unter „Monatliche Daten/Zeitlimits“, ob und wann das Tool eine Warnmeldung ausgeben soll.
 
 
 
Mit einem Klick auf „Speichern“ speichert man das Profil, und kann den Profilmanager dann schließen.
 
 
 
[[Bild:umtsmon_status.png|thumb|umtsmon ist Verbunden und zeigt Statusmeldungen an]]
 
Will man nun mit dem Surfstick online gehen, klickt man auf das zweite Icon im Hauptfenster (die Darstellung von zwei Computern). „umtsmon“ baut nun die Verbindung anhand der im Profil eingestellten Daten auf. Im Statusbereich werden die übertragenen Datenmengen sowie die Signalstärke angezeigt.
 
 
 
Das Versenden von SMS-Nachrichten funktioniert ebenfalls. Über den Menüpunkt „SMS“, oder das Icon mit dem Briefumschlag kann man eine neue SMS-Nachricht erstellen und über den erscheinenden Dialog versenden, eine UMTS-Verbindung muss dazu nicht bestehen.
 
 
 
Beim Testen innerhalb der Vorbereitungen für die Initialisierung dieses Artikels war „umtsmon“ zwar eine Fehlermeldung aus, dass die SMS nicht versendet wurde, sie kam allerdings dennoch an. Der Empfang von SMS-Nachrichten klappte beim Testen jedoch nicht.
 
 
 
Über den Menüpunkt „PIN-Einstellungen“ kann man die PIN ändern oder die PIN-Abfrage deaktivieren.
 
 
 
Offline gehen kann man mit dem Icon rechts neben dem Verbindungsicon. Alternativ kann man das Fenster auch einfach schließen. Die Verbindung wird dann getrennt.
 
 
 
== Fehlerbehebung ==
 
Bei der Verwendung des Script-Lösung, sowie der grafischen Lösung können einige Probleme und Ungereimtheiten auftreten. Die gängigsten Probleme werden hier erfasst.
 
 
 
=== Keine Namensauflösung möglich ===
 
 
Es kann unter gewissen Konfigurationen vorkommen, dass nach dem Verbinden per Script die [[resolv.conf]] falsche Besitzangaben und falsche Rechte hat. Dies resultiert darin, dass man nur als root auf das DNS zugreifen kann, und als Nutzer keine Auflösung von Domains mehr möglich ist.
 
Es kann unter gewissen Konfigurationen vorkommen, dass nach dem Verbinden per Script die [[resolv.conf]] falsche Besitzangaben und falsche Rechte hat. Dies resultiert darin, dass man nur als root auf das DNS zugreifen kann, und als Nutzer keine Auflösung von Domains mehr möglich ist.
  
Zeile 172: Zeile 36:
 
Dadurch wird der Standard für diese Datei wiederhergestellt, und man hat auch als normaler Nutzer wieder Zugriff auf die Namensauflösung.
 
Dadurch wird der Standard für diese Datei wiederhergestellt, und man hat auch als normaler Nutzer wieder Zugriff auf die Namensauflösung.
  
=== Merkwürdige Ausgaben von pppd ===
+
== Merkwürdige Ausgaben von pppd ==
 
Sollten beim Aufrufen des Scripts Ausgaben wie …
 
Sollten beim Aufrufen des Scripts Ausgaben wie …
  
Zeile 183: Zeile 47:
 
Allerdings funktioniert nun das Trennen mittels Strg+C oder das Schließen des Fensters nicht mehr. Man muss den PPP-Daemon manuell beenden (z.B. mittels „killall pppd“).
 
Allerdings funktioniert nun das Trennen mittels Strg+C oder das Schließen des Fensters nicht mehr. Man muss den PPP-Daemon manuell beenden (z.B. mittels „killall pppd“).
  
=== umtsmon sieht merkwürdig aus ===
+
== umtsmon sieht merkwürdig aus ==
 
„umtsmon“ verwendet Qt3, und durch dieses standardmäßig das sehr in die Jahre gekommene „Motif“-Grafik-Toolkit. Man muss also ein Qt3-Theme installieren. Qt3 übernimmt nicht automatisch ein eingestelltes Theme für Qt4. Auch GTK-Themes werden nicht übernommen.
 
„umtsmon“ verwendet Qt3, und durch dieses standardmäßig das sehr in die Jahre gekommene „Motif“-Grafik-Toolkit. Man muss also ein Qt3-Theme installieren. Qt3 übernimmt nicht automatisch ein eingestelltes Theme für Qt4. Auch GTK-Themes werden nicht übernommen.
  
=== umtsmon findet den Stick nicht ===
+
== umtsmon findet den Stick nicht ==
 
Obwohl „gksu“ als optionale Abhängigkeit vorgeschlagen wird, funktioniert das Programm nur als root ordnungsgemäß. Wenn „umtsmon“ als User gestartet wird, wird der Stick nicht erkannt. Wenn man „gksu“ installiert hat, kann man umtsmon wie folgt aufrufen.
 
Obwohl „gksu“ als optionale Abhängigkeit vorgeschlagen wird, funktioniert das Programm nur als root ordnungsgemäß. Wenn „umtsmon“ als User gestartet wird, wird der Stick nicht erkannt. Wenn man „gksu“ installiert hat, kann man umtsmon wie folgt aufrufen.
  
Zeile 192: Zeile 56:
  
 
Dies kann man sich auch ins Menü eintragen. Vor dem Start von „umtsmon“ erscheint nun ein Fenster, das zur Eingabe des root-Passwortes auffordert.
 
Dies kann man sich auch ins Menü eintragen. Vor dem Start von „umtsmon“ erscheint nun ein Fenster, das zur Eingabe des root-Passwortes auffordert.
 
== Weblinks ==
 
* [http://o2online.de/ Website von O<sub>2</sub>, Anbieter des Surfsticks] {{sprache|de}}
 
* [http://www.laptopkarten.de/Datenkarten-Anbieter/sonderaktionen.html Vergleich verschiedener UMTS-Stick-Anbieter] {{sprache|de}}
 
* [http://tombuntu.com/index.php/2008/02/11/theme-qt3-applications-in-gnome/ Qt3-Anwendungen unter GNOME (GTK) schöner darstellen] {{sprache|en}}
 
  
 
[[Kategorie:Hardware]]
 
[[Kategorie:Hardware]]

Version vom 8. Juni 2010, 21:18 Uhr

Es gibt diverse Wege, einen Surfstick unter Archlinux einzurichten. Meistens muss auf spezielle Geräteeigenschaften während des Einrichten eingegangen werden, wodurch sich die meisten Anleitung stark voneinander unterscheiden können.

Die Einrichtungen sind sehr ähnlich zu der Einrichtung eines regulären Modems, da die Surfsticks im Grunde genommen nichts anderes sind.

Diese Seite bietet einen Überblick über Geräte-spezifische Anleitungen.

Anleitungen

Huawei

* [Surfstick einrichten/e160 Huawei e160/e161/e220 (O2)]
* [Surfstick einrichten/e1550 Huawei 1550 (O2)]


Geräte, die ohne spezifische Konfiguration laufen

Folgende Geräte laufen out-of-the-box:

* bisher keine


Fehlerbehebung

Bei der Verwendung einer der hier vorgestellten Anleitungen können diverse Probleme auftreten. Eventuelle Lösungen sind hier zu finden.

Keine Namensauflösung möglich

Es kann unter gewissen Konfigurationen vorkommen, dass nach dem Verbinden per Script die resolv.conf falsche Besitzangaben und falsche Rechte hat. Dies resultiert darin, dass man nur als root auf das DNS zugreifen kann, und als Nutzer keine Auflösung von Domains mehr möglich ist.

Ein Workaround dafür ist, eine pppd-Startdatei anzupassen. Dazu wechselt man in das Verzeichnis „/etc/ppp/ip-up.d/“, dort bearbeitet oder erstellt man eine Datei „00-dns.sh“

Entweder muss man hier ganz am Ende der Datei, oder in der neuen, leeren Datei folgendes reinschreiben.

chmod 640 /etc/resolv.conf
chown root:network /etc/resolv.conf

Dadurch wird der Standard für diese Datei wiederhergestellt, und man hat auch als normaler Nutzer wieder Zugriff auf die Namensauflösung.

Merkwürdige Ausgaben von pppd

Sollten beim Aufrufen des Scripts Ausgaben wie …

--> pppd: ��[10]a& [08]@&

… beim starten von „pppd“ durch „wvdial“ erscheinen, sieht dies zwar nicht so schön aus, hat aber auf die Funktionsfähigkeit des Scripts keinen Einfluss. Sollten einen die Anzeigen sehr stören, so kann man das Script wie folgt aufrufen:

o2ss 2>1 | grep -v -- '--> pppd:'

Allerdings funktioniert nun das Trennen mittels Strg+C oder das Schließen des Fensters nicht mehr. Man muss den PPP-Daemon manuell beenden (z.B. mittels „killall pppd“).

umtsmon sieht merkwürdig aus

„umtsmon“ verwendet Qt3, und durch dieses standardmäßig das sehr in die Jahre gekommene „Motif“-Grafik-Toolkit. Man muss also ein Qt3-Theme installieren. Qt3 übernimmt nicht automatisch ein eingestelltes Theme für Qt4. Auch GTK-Themes werden nicht übernommen.

umtsmon findet den Stick nicht

Obwohl „gksu“ als optionale Abhängigkeit vorgeschlagen wird, funktioniert das Programm nur als root ordnungsgemäß. Wenn „umtsmon“ als User gestartet wird, wird der Stick nicht erkannt. Wenn man „gksu“ installiert hat, kann man umtsmon wie folgt aufrufen.

gksu umtsmon

Dies kann man sich auch ins Menü eintragen. Vor dem Start von „umtsmon“ erscheint nun ein Fenster, das zur Eingabe des root-Passwortes auffordert.