Einrichtung Huawei E1750 unter Ubuntu 9.10

Vorder- und Rückseite Huawei E1750

Update 08.06.2010: Ich habe einen weiteren Artikel zu dem Thema verfasst.

Ich habe mir letztes Wochenende wieder mal ein neues Spielzeug zugelegt: diesmal ein USB-UMTS-Modem (oder UMTS-USB-Modem, was ist richtiger?) für mein “ultra-mobiles” Notebook, da ich es versäumt habe mir gleich die Version des Rechners zu kaufen, die schon eines integriert hat. Meine Wahl ist zunächst auf den aktuellen Vodafone-Stick gefallen, gekauft habe ich mir dann jedoch den “T-Mobile Web’n’Walk Stick Fusion II”, da sich die Vodafone Mitarbeiter zu bescheuert angestellt haben.

Der “Fusion 2” ist ein gebrandeter “Huawei E1750”, was auch am Typenschild auf der Packung und der Rückseite des Sticks (siehe Bild) zu erkennen ist. Laut Packung ist der Stick auch Linux-fähig, was für mich ein Kaufargument war, da ich so die Möglichkeit der Rückgabe gehabt hätte, wenn er unter Linux nicht funktioniert hätte.

Zunächst habe ich den Stick unter Windows getestet, also reingesteckt und schon kam das Installationsprogramm von T-Mobile hoch. Nach Durchklicken von einem Standard-Installationsassistenten und Einrichten des Zugangs war ich auch schon online. Die T-Mobile eigene Software halte ich übrigens für einen wirklichen Nachteil von dem gebrandeten Stick, da sie sich natürlich über “nicht unterstützte” Provider beschwert, wenn man nicht auch den T-Mobile Zugang benutzt.

So weit, so unspannend. Eigentlich wollte ich den Stick ja hauptsächlich unter Linux (genauer Ubuntu 9.10) nutzen. Bei der Installation bin ich jedoch auf ein Problem gestoßen und damit die nächsten nicht so viel probieren müssen, dachte ich mir ich schreibe das ganze mal als kurze Anleitung zusammen.

Zunächst etwas Grundwissen: Die heutigen UMTS-USB-Sticks geben sich beim Verbinden mit einem Computer zunächst als Speicherstick aus. Das hat den Vorteil, dass auf diesem Speicherbereich gleich die nötige Treibersoftware vorhanden sein kann, so dass man nicht zunächst eine CD oder das Internet bemühen muss. Ist der Treiber dann installiert, so erkennt er das Gerät und sendet ihm eine spezielle Kontrollnachricht zu, die die Umschaltung in den Modem-Modus veranlasst.

Das Problem, das sich aus diesem Umstand ergibt ist, dass die Treibersoftware meistens nur für Windows und Mac OS X existiert. Aus dieser Not heraus haben sich im Linux-Umfeld Lösungen entwickelt, die die Umschaltung in den Modem-Modus herstellerunabhängig erledigen können. Zum Einen wäre da das “usb_modeswitch” Programm und zum anderen besitzen auch aktuelle Versionen der “udev” Geräteverwaltung eine Unterstützung für USB-Modems. Beiden gemeinsam ist der Umstand, dass die unterstützten Geräte anhand ihrer Geräte-ID erkannt werden und die benötigten Schritte dann anhand einer Regelliste ermittelt werden. Und genau an dieser Stelle liegt die Krux, die in Verbindung von Ubuntu 9.10 und dem Huawei E1750 entsteht.

Die von Ubuntu verwendete Version von “udev” besitzt nämlich eine Regel, die auf die Hersteller-/Geräte-ID-Kombination des Huawei E1750 passt (die im übrigen 12d1:1446 ist), führt allerdings nicht die richtigen Aktionen aus. Um das Modem zur Funktion zu bewegen ist also das “usb_modeswitch” Programm nötig, dass in der neuesten Version (momentan 1.1.1) die richtigen Regeln mitbringt.

Zunächst muss man also usb_modeswitch installieren. Leider ist die neue Version noch nicht in den Ubuntu-Paketquellen vorhanden, deshalb muss man die Quellen direkt von der Homepage herunterladen und selbst installieren. Benötigt wird sowohl das usb-modeswitch Archiv selbst als auch die Konfigurationsdateien (“usb-modeswitch-data”). Beide Archive kann man einfach entpacken und dann mit dem Befehl “sudo make install” von einer Shell aus installieren (natürlich zuerst das Programm, danach die Konfigurationsdateien).

Nun sollte man prüfen, ob das “usb_modeswitch” Programm richtig installiert ist. Dazu müssen folgende Punkte erfüllt sein:

Eine ausführbare Datei “usb_modeswitch” in “/usr/sbin”:

$ which usb_modeswitch
/usr/sbin/usb_modeswitch

Eine Konfigurationsdatei “40-usb_modeswitch.rules” in “/lib/udev/rules.d” mit einem Eintrag für die Geräte-ID des Sticks:

$ grep 1446 /lib/udev/rules.d/40-usb_modeswitch.rules
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"

Und natürlich eine Konfigurationsdatei für usb_modeswitch mit den richtigen Aktionen (in “/etc/usb_modeswitch.d”):

/etc/usb_modeswitch.d$ cat 12d1\:1446
########################################################
# Huawei E270+  (HSPA+ modem)

DefaultVendor= 0x12d1
DefaultProduct=0x1446

TargetVendor=  0x12d1
TargetProductList="1001,1406,140c,14ac"

CheckSuccess=20

MessageContent="55534243123456780000000000000011060000000000000000000000000000"

An diesem Punkt ist usb_modeswitch richtig eingerichtet und man sollte meinen, der Benutzung des UMTS-Modems stünde nichts mehr im Weg. Dem ist jedoch nicht so, da “udev” immernoch dazwischenfunkt. Diesem Fehlverhalten kann man entgegenwirken, indem man die entsprechende Regel entfernt. Diese ist in der Datei “/lib/udev/rules.d/61-option-modem-modeswitch.rules” zu finden (einfach nach der Geräte-ID “1446” suchen). Nach dem Entfernen oder Auskommentieren der Zeile ist die richtige Funktion gewährleistet. Der USB-Stick sollte nach dem Einstecken richtig erkannt werden und auch in den Modem-Modus umgeschaltet werden. Dies kann man leicht mit “lsusb” verifizieren. Wenn die Umschaltung in den Modem-Modus richig funktioniert, so müsste lsusb folgende Ausgabe erzeugen (gekürzt auf die wesentlichen Zeilen):

$ lsusb
Bus 002 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem

Wichtig ist hierbei, dass der Stick nun als “E620 USB Modem” auftaucht und sich die Geräte-ID von “1446” zu “1001” geändert hat.

Ich hoffe dieses Vorgehen funktioniert bei anderen Benutzern ebenfalls und ich habe beim Nachträglichen schreiben des Textes keinen wichtigen Schritt vergessen. Sollte etwas fehlen oder schlichtweg falsch sein, so bitte ich um einen Kommentar.

Gruß
  Xp

Kategorie Hardware | Tags |