Wie im letzten Eintrag versprochen, habe ich ein Debian-Paket für Ubuntu Karmic zusammengeschnürt und in mein PPA hochgeladen. Die PPA-Version entspricht bis auf ein aktualisiertes Wrapper-Skript und einem Austausch des Schlüsselworts “SYSFS” gegen “ATTRS” in der Datei “80-usb_modeswitch.rules” der Version 1.0.7 des Tools.
Die neue Version von usb-modeswitch unterstützt jetzt den UMTS-Stick “Vodafone/Huawei KV3675-HV” von Haus aus. Es reicht das Paket zu installieren um den Stick benutzen zu können.
Bitte testet das Paket und meldet die auftauchenden Probleme bitte per Kommentar zu diesem Artikel. Ich werde dann versuchen das Problem selbst zu lösen oder leite dieses an den Entwickler von USB-Modeswitch weiter.
Falls Probleme auftauchen, sollte man das Logging des Wrapper-Skripts anschalten. Dazu muss nur in der Datei “/usr/sbin/usb_modeswitch.tcl” die Zeile “set logging 0″ auf “set logging 1″ geändert werden. Danach legt das Skript eine Datei namens “/var/log/usb_modeswitch_*” (* steht für den SYSFS-Pfad) an und protokolliert alle Aktivitäten von usb-modeswitch darin.
Also scheinbar funktioniert der Switch bei meinem 4GSystems XS W14 nicht per udev. Das Logfile zeigt keinen Fehler, jedoch ist laut lsusb noch das alte Device aktiv. Das komische ist, wenn ich die udev-Regeln deaktiviere und usb_modeswitch per Hand aufrufe, wie es das Skript täte, funktioniert alles wunderbar. Ich kann jetzt nicht erkennen, ob das .tcl Skript einen reset im Fehlerfall von usb_modeswitch durchführt. Denn der CheckSuccess schlägt fehl auch wenn alles bestens ist.
Dein Problem liegt definitiv an dem tcl-Skript. Die Version 1.0.7 hat leider einige Bugs im Skript, welche erst in der Version 1.10 beseitigt wurden. Leider hab ich es bisher nicht fertiggebracht einen Backport der Version 1.10 per PPA fehlerfrei zu kompilieren. Der Kompiliervorgang bricht immer mit einer Fehlermeldung ab. Auf meinen eigenen Rechner kompiliert das Paket aber sauber. Ich weiß leider auch nicht warum.
Du kannst ja mal versuchen das Debian-Unstable-Paket der unter Karmic zu installieren :
http://ftp.de.debian.org/debian/pool/main/u/usb-modeswitch/usb-modeswitch_1.1.0-2_i386.deb und http://ftp.de.debian.org/debian/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20100203-1_all.deb
Danke für den Tipp. Klappt jetzt wunderbar. Auch wenn der Networkmanager immer noch das falsche Device nutzen will, aber mit wvdial klappt es bestens…
Leider hat der NetworkManager in Karmic einen Bug, welcher dazu führt das das Programm regelmäßig die falsche Gerätedatei auswählt. Meistens hilft es die Verbindung solange neu aufzubauen bis sie richtig funktioniert. Man kann aber das NetworkManager-PPA benutzen um den Bug zu beseitigen.
Ich habe übrigens eine neue Version von “usb-modeswitch” hochgeladen. Die Versionsnummer ist zwar immer 1.0.7, ich habe aber alle relevanten Teile der Version 1.1.0 in das Paket integriert und so abgewandelt damit das Update problemlos funktioniert.
Bin auf einem aktuellen Ubunto Karmic nach dem oben genannten Weg vorgegangen, sprich, ich habe die aktuelle Version aus dem PPA installiert. Leider klappt der Stick nicht. Auf dem Gnome Desktop wird der Stick als Laufwerk eingebunden. Ich habe den “manuellen” Weg aus dem Blog getestet und bin auf folgendes Problem gestossen:
—————————————————————————–
sudo echo “0x12d1 0×1465″ >/sys/bus/usb-serial/drivers/option1/new_id
bash: /sys/bus/usb-serial/drivers/option1/new_id: Permission denied
—————————————————————————–
Die Rechte der Datei /sys/bus/usb-serial/drivers/option1/new_id bekomme ich nicht geändert, auch nicht mit “sudo chmod…”, kann ich selbst nicht nachvollziehen.
Im Syslog finde ich folgende Angaben:
http://debianforum.de/forum/pastebin.php?mode=view&s=34395
Im Log von usb-modeswitch steht:
http://debianforum.de/forum/pastebin.php?mode=view&s=34396
Warum wird das Modem nicht als solches eingebunden bzw. was stimmt mit meinem System im Unterverzeichnis /sys nicht? Freue mich über jeden Tipp! Im Voraus vielen Dank!
sudo echo “0×12d1 0×1465″ > /sys/bus/usb-serial/drivers/option1/new_id
Diese Zeile kann so nicht funktionieren, da nur “echo” die Rechte per “sudo” bekommt. Die Umleitung auf den SYS-Pfad dagegen wird nur mit normalen Rechten durchgeführt.
Damit es funktioniert, musst du folgende Zeile benutzen :
echo “0×12d1 0×1465″ | sudo tee /sys/bus/usb-serial/drivers/option1/new_id
Vielen Dank für Deine Hilfe, dann werde ich mal gleich weitertesten!
Kein Problem. Leider habe ich festgestellt das der UMTS-Stick von Vodafone eine kleine Zicke ist. So kann ich mit dem Stick zuverlässig den USB-Stack des Kernels zum Abschmieren bekommen, wenn ich den Stick in meiner Dockingstation benutze. Direkt am Notebook dagegen funktioniert er (meistens) fehlerfrei. Woran das liegt, keine Ahnung.
Hallo,das Problem mit dem Abschmieren des Kernels habe ich hier auch ab und an, allerdings nicht reproduzierbar.
Leider klappt es imm noch nicht, wenn ich per Copy and Paste die Zeile in der Shell eingebe, erhalte ich folgende Ausgabe:
“0×12d1 0×1465″
tee: /sys/bus/usb-serial/drivers/option1/new_id: Invalid argument
Mir ist aufgefallen, dass die “-Zeichen vor 0×12d1 0×1465 unterschiedlich sind, ist das beabsichtigt? Ich habe die Zeichen testweise durch Anführungszeichen (Shift 2) ersetzt, die Ausgabe war aber trotzdem identisch. Hast Du noch einen Tipp?
Nochmals vielen Dank!
> Mir ist aufgefallen, dass die “-Zeichen vor 0×12d1 0×1465 unterschiedlich sind, ist das beabsichtigt?
Nein das ist nicht beabsichtigt. Das ist ein “Feature” von WordPress. Du musst die ganz normalen Anführungszeichen benutzen. Das der Befehl nicht funktioniert, liegt an einem Tippfehler meinerseits. Du musst das “0x” vor den IDs weglassen. So sollte es funktionieren :
echo “12d1 1465″ | sudo tee /sys/bus/usb-serial/drivers/option1/new_id