Surfstick einrichten: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K Status-LED: nun aber :)
→‎Anleitungen: Huawei e173 hinzugefügt. Vg, Jan (jan@kammerath.net)
 
(21 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
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 Einrichtens 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 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.
Da sich die einzelnen Geräte teilweise in ihrer Konfiguration unterscheiden, es aber zu unübersichtlich wäre, auf alle Geräte in einem Wiki-Artikel einzugehen, befinden sich die jeweiligen Konfigurationsanleitungen auf Unterseiten zu diesem Artikel.


Bus 001 Device 009: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
* [[Surfstick_einrichten/e160|Huawei e160/e161/e220 (O<sub>2</sub>)]]
 
* [http://www.kammerath.net/linux-surfstick.html Huawei e173 (O<sub>2</sub>)]
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/e1550|Huawei e1550 (O<sub>2</sub>)]]
 
* [[Surfstick_einrichten/iCON210|iCON210 (O<sub>2</sub>)]]
[ 2103.645260] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB0
* [[Surfstick_einrichten/T-Mobile UMTS|Web´n´Walk Fusion (T-Mobile)]]
[ 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.
 
* '''blinkt grün''' SIM geschlossen, nicht verbunden
* '''blinkt dunkelblau''' SIM geöffnet, nicht verbunden
* '''leuchtet dunkelblau''' verbunden, aber keine Datenübertragung
* '''leuchtet hellblau''' es werden Daten übertragen
 
== Einrichtung per Befehlszeile ==
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.
 
pacman -Sy rp-pppoe ppp
 
… 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 =
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 = off
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.  Waiting for prompt.
--> Don't know what to do!  Starting pppd and hoping for the best.
--> 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 …
 
COMGTPIN=1234 comgt PIN -d /dev/ttyUSB0
 
… 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 ==
== 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.
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 ===
=== Keine Namensauflösung möglich ===
Zeile 197: Zeile 50:


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]]
Zeile 207: Zeile 55:
[[Kategorie:Konsole]]
[[Kategorie:Konsole]]
[[Kategorie:PPPoE]]
[[Kategorie:PPPoE]]
[[Kategorie:X11]]

Aktuelle Version vom 7. Mai 2013, 15:01 Uhr

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

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

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

Anleitungen

Da sich die einzelnen Geräte teilweise in ihrer Konfiguration unterscheiden, es aber zu unübersichtlich wäre, auf alle Geräte in einem Wiki-Artikel einzugehen, befinden sich die jeweiligen Konfigurationsanleitungen auf Unterseiten zu diesem Artikel.

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.