Aktualisiert: 20.September 2010
Anleitung zur Nutzung des Congstar-Surfstick unter Linux
ZTE MF-100
--------------------------------------------------------
"GSM-Modem" ist die Bezeichnung für die Funktionalität
eines Surfsticks - es handelt sich um ein Modem,
das das Internet über GSM-(Funktelefon-)Frequenzen
per USB-Anschluss nutzt.
Einführung:
Ein Surfstick besteht (in den meisten Fällen) aus zwei Komponenten:
dem eigentlichen GSM-Modem und einem vorgelagerten SCSI-Laufwerk,
das als CD-Laufwerk fungiert. Darauf befinden sich die Windows-Software
und die Windows-Treiber. Die meisten Linux-Distributionen erkennen einen Surfstick
deshalb auch nicht direkt als GSM-Modem, sondern zunächst nur als SCSI-Laufwerk.
Das vorgelagerte CD-Laufwerk "verdeckt" das GSM-Modem sozusagen.
Man nennt dieses beabsichtigte Verhalten "ZeroCD" - und es ist unter Windows
auch ganz nützlich, weil benötigte Windows-Treiber und Einwahlsoftware
ohne zusätzliche Treiber-CD installiert werden können.
Unter Linux ist die ZeroCD-Funktion jedoch eher problematisch -
sie verhindert in den meisten Fällen die automatische Hardware-Erkennung
und die korrekte Treiberinstallation.
Es gibt Linux-Distributionen (wie z.B. Ubuntu 10.4), die das ZeroCD-Laufwerk
per "udev-rules" abschalten; das funktioniert allerdings nicht bei allen Sticks
zuverlässig - es gibt einfach zu viele unterschiedliche Modelle.
Zur manuellen Aktivierung des GSM-Modems eines Surfsticks
gibt zwei Lösungsansätze:
A.) (auch "usb_modeswitch"-Verfahren genannt)
Hierbei erfolgt die temporäre Deaktivierung des ZeroCD-Laufwerks
durch eine spezielle Software (eben "usb_modeswitch").
Nachteil: Die Deaktivierung muss bei jedem Einstöpseln erneut geschehen -
dadurch dass eine ganz bestimmte, modellabhängige Befehlssequenz
an das Modem geschickt wird,.
Vorteil: Das ZeroCD-laufwerk bleibt unverändert auch unter Windows nutzbar.
B.) Permanente Deaktivierung der ZeroCD-Laufwerks mit einem
speziellen AT-Modembefehl - danach wird das GSM-Modem unter Linux
fast immer automatisch erkannt und die richtigen Linux-Treiber geladen
("usbserial" bzw. "option"). Notfalls lässt sich die Deaktivierung
wieder rückgängig machen.
Aber:
Der AT-Befehl muss an das Modem geschickt werden, nicht an das ZeroCd-Laufwerk !
Das heisst: Auch beim Verfahren B muss zumindest einmal das Verfahren A
erfolgreich duchgeführt werden, ansonsten wird das GSM-Modem überhaupt nicht
angesprochen!
Fazit:
Für die erste Inbetriebnahme ist das Verfahren A richtig - wenn die UMTS-Einwahl
einmal geklappt hat, dann kann man sich zurücklehen und durchatmen.
Später ist es dann immer noch möglich, das Verfahren B
zur dauerhaften Deaktivierung anzuwenden.
Im folgenden Dokument werden die Verfahren nacheinander beschrieben.
##############################################################################
Verfahren A.
Voraussetzung:
Einige Erfahrung mit Linux - vor allem mit der Kommandozeile.
Root-Rechte auf dem betreffenden Computer.
GUI-Oberfläche (KDE, GNOME) oder ein Fenstermanager ist von Vorteil,
aber nicht unbedingt nötig.
Ein Surfstick von CONGSTAR - Marke ZTE, Modell MF-100.
Ein registrierter Account bei Congstar.
Von Vorteil ist, wenn die PIN-Abfrage deaktiviert ist.
Der ganze Vorgang besteht aus vier Schritten:
-----------------------------------------------------------------------------
-- Schritt 1 - Download der Skripte
Folgende drei Dateien downloaden und in das HOME-Verzeichnis kopieren.
Darauf achten, dass die Dateien ausführbar sind.
1_Switch.sh
2_Init.sh
3_Connect.sh
wvdial.conf
-----------------------------------------------------------------------------
-- Schritt 2 - Informationsausgabe
Jetzt Congstar-Surfstick an einen freien USB-Port anstecken.
Ein paar Sekunden warten, bis er erkannt wordem ist.
Dann in einem Konsolenfenster den Linux-Befehl "lsusb" eingeben.
Wenn folgende Ausgabe erscheint, dann ist der Surfs-Stick noch im
ursprünglichen Auslieferungszustand ("ZeroCD"-Modus),
das heisst, das GSM-Modem ist versteckt und nicht nutzbar:
Bus xxx Device xxx: ID 19d2:2000
----
Wenn hingegen folgende Ausgabe erscheint, dann ist das ZeroCD-Laufwerk
bereits abgeschaltet und das GSM-Modem ist nutzbar.
Bus xxx Device xxx: ID 19d2:0039
----
In beiden Fällen wird mit dem nächsten Schritt fortgefahren.
------------------------------------------------------------------------------
-- Schritt 3 - Umschaltsoftware downloaden
Testen, ob auf dem Computer das Programm "usb_modeswitch" installiert ist.
Wenn nicht, hier ist eine ältere Version:
usb_modeswitch
Am besten in das Verzeichnis /usr/sbin kopieren, damit es automatisch
gefunden wird.
Die aktuelle Original-Software gibt es hier:
www.draisberghof.de/usb_modeswitch
------------------------------------------------------------------------------
-- Schritt 4 - Einwahlprogramm
Wichtig ist ein Einwählprogramm, z.B. "wvdial", das bei vielen
Distributionen dabei ist.
In der Kommandozeile mal "wvdial" eingeben - wenn es nicht gefunden wird,
dann muss es vom Distributionsserver nachinstalliert werden.
Hier ist Ihre eigene Kompetenz gefragt ;-) Gelegenheit zum Üben ....
Aber trotzdem, der Einfachheit halber:
wvdial.tar.gz
------------------------------------------------------------------------------
Das waren die Vorbereitungen - jetzt kanns losgehen:
Kommandofenster öffnen und in das Verzeichnis wechseln, in dem die Dateien
(von Schritt 1) liegen.
Folgende Befehle eingeben:
./1_Switch.sh
(Ausgabe abwarten)
./2_Init.sh
./3_Connect.sh
Ein blaues Fenster (wvdial) öffnet sich und zeigt den Verbindungsaufbau an.
=> DAS WARS ;-)
-Fenster nicht schliessen, solange Internet genutzt wird.
-Beliebigen Internet-Client starten, Browser, FTP, Chat usw.
##############################################################################
##############################################################################
Nur zur Information hier der Inhalt der Dateien:
1_Switch.sh:
#!/bin/bash
usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0039 -m 0x01
-M "55534243123456782000000080000c85010101180101010101000000000000" -W
------------------------------------------------------------------------------
2_Init.sh:
#!/bin/bash
modprobe usbserial vendor=0x19d2 product=0x0039
------------------------------------------------------------------------------
3_Connect.sh:
#!/bin/bash
cp /etc/ppp/wvdial /etc/ppp/peers
xterm -title "WVDIAL" -bg darkblue -fg green -e wvdial --config ./wvdial.conf
killall wvdial
killall pppd
rm /etc/ppp/peers/wvdial
------------------------------------------------------------------------------
wvdial.conf:
Modem = /dev/ttyUSB2
Baud = 9600
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CSQ
Init4 = AT+CGDCONT=1,"IP","internet.t-mobile"
Dial Command = ATX2DT
Phone = *99#
Username = xx
Password = tm
Carrier Check = no
Stupid Mode = yes
Auto Reconnect = no
New PPPD = yes
##############################################################################
##############################################################################
Verfahren B:
CDROM-Laufwerk dauerhaft entfernen.
Wie oben erwähnt, muss sich der Surfstick im "Modem-Modus" befinden.
Das bedeutet, das Verfahren A muss erfolgreich durchgeführt worden sein.
AM BESTEN TESTET MAN ERST, OB EINE INTERNET-VERBINDUNG MÖGLICH IST.
Wenn ja, dann ein Terminalprogramm starten - zum Beispiel:
picocom
In der Konsole "picocom /dev/ttyUSB0" eingeben.
"ATZ" eingeben - wenn OK folgt, dann
"AT+ZCDRUN=8" # Schaltet ZeroCD-Laufwerk dauerhaft ab.
"AT+ZCDRUN=9" # Setzt Stick wieder in den Originalzustand zurück.
-----------------------------------------------------------------------
Nur der Vollständigkeit halber:
HUAWEI-Modelle haben einen völlig anderen AT-Befehl:
Siehe: http://linux.zum-quadrat.de/#post30
#!/bin/bash
# Umschalten in den Modem-Modus
usb_modeswitch -v 0x12d1 -p 0x1446 -V 0x12d1 -P 0x140c -m 0x01 -M "55534243123456780000000000000011060000000000000000000000000000"
# dann aufrufen:
picocom /dev/ttyUSB1
AT^U2DIAG=0
Stick wieder auf Originalzustand zurücksetzen:
at^u2diag=255
#######################################################################
#######################################################################
=> Download der kompletten Skripte inkl. usb_modeswitch und picocom:
ZTE (Congstar)
Congstar.tar.gz
ZTE (Tchibo)
Tchibo.tar.gz