Adri's Blog

Ein privates Blog

Mit dem ZTE MF637 doch ins Internet unter Linux

| 8 Kommentare

Endlich ist es mir gelungen, den UMTS Stick ZTE MF637 doch unter meinem Linuxsystem nutzen zu können.

Ich nutze diesen Stick in Verbindung mit einer T-Mobile Flatrate für den Laptop, laut der Verpackung und dem Windowsinstallationsprogramm wird dieser Stick unter Linux unterstützt und zwar ohne Probleme. Auf den ersten Blick ahnt man nichts schlimmes, den kleinen Stern neben den Linuxsystem übersieht man recht schnell, aber der kleine Stern verweist für die Linuxtreiber auf die offizielle T-Mobile Webseite. Gesagt getan, bin ich eben auf diese Seite gegangen und was muss ich mit entsetzen feststellen? Es gibt kein Linuxtreiber, zumindest wird keiner zum Download angeboten.

Nun war guter Rat teuer, am nächsten Tag erstmal bei T-Mobile angerufen, dort wurde mir gesagt das es definitiv keine Linuxtreiber gibt und Linux doch nicht Supportet wird. Na sowas, was soll man als ehrlicher Kunde eigentlich noch glauben? Fakt ist was auf der Verpackung steht muss auch gewährleistet werden, aber da man vor Gericht nicht gegen T-Mobile ankommen würde musste ich mich geschlagen geben.

Doch es gibt eine Lösung, sie ist so simpel wie einfach und ist Distributionsunabhängig, also weit aus besser und freundlicher als die auf der Originalverpackung genannte Lösung 😉

Und hier die Lösung:

Man downloaded sich usb-modeswitch von hier und zwar benötigen wir das Programm in der Version 1.0.2 oder höher. Nach dem wir uns den Tarball gezogen haben entpacken wir das Programm in einen beliebigen Ordner und wechseln dann in den gerade entpackten Ordner.

Als nächstes editieren wir die usb_modeswitch.conf mit einem Editor unserer Wahl (Kate, Nano,GEdit…). Das schöne an unserem UMTS Stick ist das er die selben ID’s besitzt wie der ZTF MF638, alles verstanden? Nein, ist auch nicht so schlimm ich erkläre es gleich 😉
Also suchen wir mittels der Suchfunktion unseres Editors den ZTF MF638. Wenn wir diesen Eintrag gefunden haben müssen wir folgende Semikolons entfernen und zwar bei DefaultVendor, DefaultProduct, TargetVendor und TargetProduct und abspeichern.

Was passiert dabei? Mittels lsusb in der Konsole gibt uns unser System den UMTS Stick mit 19d2:2000 aus mit dem unser System aber nichts anfangen kann und hier kommt das Programm usb-modeswitch ins Spiel. Dieses Programm „switch“ sozusagen diese dem System unbekannte ID in eine ID mit dem es was anfangen kann. Das selbe macht der Windowstreiber im übrigen auch 😉

Nun machen wir noch folgendes.
Und zwar installieren wir unser Programm erst einmal mittels „sudo make install“ (Die Gänsefüße bitte nicht eingeben), danach verschieben wir unsere bearbeitete usb_modeswitch.conf mittels dem Befehl „sudo cp usb_modeswitch.conf /etc“ (Die Gänsefüße bitte nicht eingeben). Fertig sind wir damit noch nicht ganz, um zu testen ob es geklappt hat machen wir folgendes, den Stick einstecken und warten bis die rote Leuchte leuchtet, dann tippen wir „sudo usb_modeswitch“ (Die Gänsefüße bitte nicht eingeben) ein und warten. Das Programm hat erfolgreich alles geswitcht aber es dauert etwas bis unser System erkennt das ein UMTS Stick angeschlossen ist.

Wenn man sich nicht sicher ist ob das System alles richtig gemacht hat, testet man es mit lsusb man müsste feststellen das sich die ID des Sticks verändert hat. Stimmen die neuen angaben wählt man sich mit einer beliebigen Methode ein z.b. mit dem NetworkManager.

So um sich jetzt diese Schreibarbeit zu ersparen kann man sich noch einen Konsolenalias einrichten wie folgt: Öffnet die .bashrc in eurem Homeverzeichniss mit einem Editor eurer Wahl und fügt am Ende der Datei folgendes ein „alias switch=’sudo usb_modeswitch‚“ (Bitte nur das was dick geschrieben ist in eure .bashrc einfügen). Wenn ihr jetzt euch neuanmeldet könnt ihr mittels diesem Befehl einiges an Schreibarbeit ersparen.

Autor: Adrian

Hallo, mein Name ist Adrian. Windows- und Linux-User, Technik affiner Mensch mit faibel zu guten Videospielen. Ich blogge über Thematiken die mich besonders interessieren, welche meist aus der Windows-, Linux- und Android-Welt enstpringen, da mich diese Plattformen seit langem täglich begleiten.

8 Kommentare

  1. Hi,

    nur mal so… wie nennst du das hier?

    http://www.t-mobile.de/fremdcontent/1,2790,127235,00.html

    Die Software gibt es seit Juli 2009. 😉

    Funktioniert an sich auch ganz wunderbar… nur leider habe ich bis jetzt noch keine „erfolgreiche“ Verbindung damit aufbauen koennen (soll heiszen: wvdial und pppd verbinden zwar fehlerfrei, die Software erkennt es aber nicht und meint, dass pppd fehlgeschlagen ist… warum auch immer.)

    Uebrigens: mit der Software kannst du den Stick so umstellen, dass er sich gar nicht mehr als USB-CD-ROM-Laufwerk anmeldet. USB-Modeswitching entfaellt so komplett. Selbiges gilt fuer die PIN-Eingabe (auch, wenn z.B. http://sourceforge.net/projects/umtsmon/files/ umtsmon die PIN auch ueberpruefen kann.)

    Ich werkel dann mal noch etwas mit dem Stick rum… moechte gerne noch etwas kleines schreiben, damit man direkt online gehen kann, wenn man den Stick ansteckt. Wir werden sehen. 🙂

    Bis dann,

    Mihai

  2. Habe Alles so gemacht wie vorgeschlagen.
    Was soll das für ein „driver“ sein der nicht gefunden wurde?
    Gruß Noehlmann
    Hugo04:/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_modeswitch-1.0.5 # make in
    stall
    mkdir -p /usr/sbin
    install ./usb_modeswitch /usr/sbin
    mkdir -p /etc
    install –mode=644 ./usb_modeswitch.conf /etc
    Hugo04:/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_modeswitch-1.0.5 # make in
    tegrated_install
    make -f Makefile.integrated install
    make[1]: Entering directory `/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_mode
    switch-1.0.5′
    /bin/rm -f ./usb_modeswitch
    gcc -l usb -DUSE_SYSLOG -o usb_modeswitch usb_modeswitch.c
    strip usb_modeswitch
    mkdir -p /usr/sbin
    install –mode=754 ./usb_modeswitch /usr/sbin
    install –mode=754 ./usb_modeswitch.tcl /usr/sbin
    install –mode=754 ./usb_modeswitch.sh /usr/sbin
    install -d /etc/usb_modeswitch.d
    install –mode=644 -t /etc/usb_modeswitch.d ./usb_modeswitch.d/*
    mkdir -p /etc/udev/rules.d
    install –mode=644 80-usb_modeswitch.rules /etc/udev/rules.d
    if [ `which udevadm 2>/dev/null` ]; then \
    `which udevadm` control –reload-rules; \
    elif [ `which udevcontrol 2>/dev/null` ]; then \
    `which udevcontrol` reload_rules; \
    fi
    make[1]: Leaving directory `/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_modes
    witch-1.0.5′

    Hugo04:/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_modeswitch-1.0.5 # sudo us
    b_modeswitch

    Looking for target devices …
    No devices in target mode or class found
    Looking for default devices …
    Found default devices (1)
    Accessing device 005 on bus 008 …
    Using endpoints 0x01 (out) and 0x81 (in)
    Inquiring device details; driver will be detached …
    Looking for active driver …
    No driver found. Either detached before or never attached

    Received inquiry data (detailed identification)
    ————————-
    Vendor String: ZTE
    Model String: USB SCSI CD-ROM
    Revision String: 2.31
    ————————-

    Device description data (identification)
    ————————-
    Manufacturer: ZTE,Incorporated
    Product: ZTE CDMA Technologies MSM
    Serial No.: P673M2TMOBLCDROM
    ————————-
    Warning: no switching method given.
    -> Run lsusb to note any changes. Bye.

    Hugo04:/home/anvoigt/Desktop/usb_modeswitch-1.0.5/usb_modeswitch-1.0.5 # lsusb
    Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 005: ID 093a:2510 Pixart Imaging, Inc.
    Bus 005 Device 006: ID 046d:c215 Logitech, Inc. Extreme 3D Pro
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 008 Device 005: ID 19d2:2000 ONDA Communication S.p.A.
    Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 002: ID 0bda:0158 Realtek Semiconductor Corp. Mass Stroage Device
    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  3. Noch mal Noehlmann,
    Laß bloß den oben vorgeschlagenen Krempel von T-Mobile. Hat bei mir auch nach vielen Versuchen auf unterschiedlichen rechnern noch nie zu einer Verbindung geführt. Übrigens auch Support – Fehlanzeige.

  4. Also ich kriege mit den obigen Einstellungen den Kram auch nicht zum Laufen.

    chekov:/etc# usb_modeswitch

    * usb_modeswitch: tool for controlling „flip flop“ mode USB devices
    * Version 1.0.2 (C) Josua Dietze 2009
    * Works with libusb 0.1.12 and probably other versions

    Looking for target devices …
    No devices in target mode or class found
    Looking for default devices …
    Found default devices (1)
    Accessing device 003 on bus 002 …
    Using endpoints 0x01 (out) and 0x81 (in)
    Inquiring device details; driver will be detached …
    Looking for active driver …
    OK, driver found („usbfs“)
    OK, driver „usbfs“ detached
    Could not claim interface (error -16). Skipping device inquiry

    Device description data (identification)
    ————————-
    Manufacturer: ZTE,Incorporated
    Product: ZTE CDMA Technologies MSM
    Serial No.: P673M2TMOBLCDROM
    ————————-
    Warning: no switching method given.
    -> Run lsusb to note any changes. Bye.

  5. @Noehlmann
    Versuche mal folgendes:
    Den von mir erwähnten Treiber in der usb_modeswitch.conf wieder auskommentieren und statt dessen den treiber eins drüber aktivieren, also den Abschnitt wo folgendes steht:

    # ZTE MF628+ (tested version from Telia / Sweden)
    # ZTE MF626
    # ZTE MF633
    # ZTE MF636 (aka „Telstra / BigPond 7.2 Mobile Card“)

    damit müsste er es verstehen das er switchen soll, gib mal bitte bescheid ob das die Lösung des Problems war, müsste nämlich den Beitrag dann aktualisieren.

    @michael
    Versuche bitte auch mal das gleiche was ich für Noehlmann empfohlen habe

  6. Hallo,

    ich habs mit usb-modeswitch auch nicht hinbekommen, dann aber noch einen anderen Weg gefunden. Zuerst habe ich den Stick einmal under Windows installiert und dann mit Hyperterminal den Befehl at+zcdrun=8 abgesetzt (wie in diesem Dokument beschrieben:http://www.zte.com.au/downloads/USB_Modem_Config_Procedure.pdf). Ab jetzt wird Starten der Stick nicht mehr im Installationsmodus sondern gleich als UMST Stick und mit der Kennung 19d2:0031. Nun muss ich noch den Treiber mit „modprobe usbserial vendor=0x19d2 product=0x0031“ einbinden und dann läufts bei mir.
    Der Stick ist auch ein MF637 der von T-Mobile als web’n’walk Stick fusion angeboten wird. Mein System ist ein Debian Lenny, sollte so aber auch auf OpenSuse 11. laufen.

  7. Modell:
    ZTE MF637
    Serial No: P673M2TMOBLCDROM

    Habe folgenden Eintrag in der usb_modeswitch.conf und bei mir läuft damit alles rund (Achtung, ist nicht nur auskommentiert, am besten so in die config kopieren):

    ########################################################
    # ZTE MF638 (aka „Onda MDC525UP“)
    #
    # Contributor: andylog

    DefaultVendor= 0x19d2
    DefaultProduct= 0x2000

    TargetVendor= 0x19d2
    TargetProduct= 0x0031

    # only for reference and 0.x versions
    MessageEndpoint=0x01

    MessageContent=“55534243123456782000000080000c85010101180101010101000000000000″

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.