Travelkarsten
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Hallo zusammen, vor 3 Monaten hatte ich das Problem, das nach Update auf Ubuntu 16.10 mein 1&1 Surfstick (ZTE) nicht mehr erkannt wurde. Und zwar wurde er nicht in den Modem-Modus geschaltet, sondern verblieb im Datenträger-Modus. Die hier gefundene Lösung war dann, per eject das device auszuwerfen, wonach er erfolgreich in den Modem-Modus ging: eject /dev/sr1 (altes Thema dazu: https://forum.ubuntuusers.de/topic/usb-modeswitch-kein-sys-bus-usb-serial-unter-u/) Gestern aktualisierte ich Ubuntu seit längerem mal wieder, seitdem wird nach restart mein 1&1 Surfstick nicht mehr erkannt (genauer gesagt wird der Stick nicht mehr unter /dev/ gelistet, weshalb ich auch kein eject darauf machen kann). Ich ging also zu einem öffentlichen WLAN um hier mein Problem zu posten. Um das lsusb-Listing nachzuschauen, steckte ich meinen Surfstick ein - und siehe da, er wurde erkannt! Unter /dev werden dann drei neue Einträge gelistet: crw-rw---- 1 root dialout 188, 0 Feb 7 10:58 ttyUSB0
crw-rw---- 1 root dialout 188, 2 Feb 7 10:58 ttyUSB2
crw-rw---- 1 root dialout 188, 1 Feb 7 10:59 ttyUSB1 (dialout klingt so ungut nach bösem Dialer, aber hat ja hoffentlich nichts damit zu tun? 😬 ) Das habe ich jetzt zweimal wiederholt: nach restart muss ich erst ins WLAN, erst dann wird mein Stick erkannt. Da ich zuhause kein WLAN habe und dazu immer erst zum öffentlichen WLAN latschen muss, ist das lästig. Warum auch erkennt er den Stick erst nachdem ich im WLAN war? Das eject muss ich übrigens nicht mehr machen, mit dem Update hat sich das offenbar erledigt. Bearbeitet von Developer92: Listensyntax durch Codeblock ersetzt.
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
Hallo Travelkarsten, (dialout klingt so ungut nach bösem Dialer, aber hat ja hoffentlich nichts damit zu tun? 😬 )
hier kann ich dich beruhigen: dialout ist eine Standardgruppe. Diese Gruppenzugehörigkeit ist die Alternative, falls du ohne Root-Rechte /dev/ttyUSB0 usw. verwenden möchtest. Gestern aktualisierte ich Ubuntu seit längerem mal wieder, seitdem wird nach restart mein 1&1 Surfstick nicht mehr erkannt (genauer gesagt wird der Stick nicht mehr unter /dev/ gelistet, weshalb ich auch kein eject darauf machen kann).
Zur Fehleranalyse wäre hierzu die Ausgabe von
usb-devices
hilfreich. Lt. deiner bisherigen Fehlerbeschreibung könnte eventuell ein Neustart des Networkmanagers helfen:
sudo service network-manager restart
Die Vermutung wäre, dass der Stick nun umgeschaltet wird; es aber beim ersten Verbindungsaufbau hakt. Ein neuerlicher Verbindungsaufbau ist dann oft ohne Neustart nicht mehr möglich. Alternativ kannst du natürlich auch versuchen, den Stick nicht mehr mit USB Modeswitch umzuschalten, da das ja bisher durch ein "eject" auch funktioniert hat. USB ModeSwitch deaktivieren kannst du in der Konfigurationsdatei /etc/usb_modeswitch.conf, indem du
DisableSwitching=0
auf
DisableSwitching=1
setzt.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Hallo, also usb-devices liefert im erfolglosen Zustand: T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=19d2 ProdID=2000 Rev=00.00
S: Manufacturer=ZTE,Incorporated
S: Product=1&1 Surf-stick
S: SerialNumber=MF19001MOD010000
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage Nach vorherigem WLAN-Connect wird umgestellt auf: T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=19d2 ProdID=0117 Rev=00.00
S: Manufacturer=ZTE,Incorporated
S: Product=1&1 Surf-stick
S: SerialNumber=MF19001MOD010000
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I: If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage Ebenso lsusb: nach vorherigem WLAN-Connect wird der Stick korrekt auf 19d2:0117 geschaltet, ohne vorherigen WLAN-Connect bleibt er in 19d2:2000. Restart des network-manager erbrachte nichts, auch die Umstellung in /etc/usb_modeswitch.conf nicht (außer daß der Stick dann auch nach WLAN nicht mehr funktionierte). Bzgl. USB ModeSwitch: von den Experimenten im November hatte ich alles wieder zurückgedreht, da der eject-Befehl ja alleinigen Erfolg brachte. Warum kann denn bloß der vorherige WLAN-Connect Einfluß auf den Connect meines Surfsticks haben?
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
Travelkarsten schrieb: Warum kann denn bloß der vorherige WLAN-Connect Einfluß auf den Connect meines Surfsticks haben?
Die funktionierende Wlan-Verbindung sollte direkt wenig Einfluss darauf haben, dass ein Surfstick in den Modemmodus schaltet. Aber vielleicht indirekt ein Schritt aus dem Verbindungsaufbau. Welche Schritte sind bei dir für eine Wlan-Verbindung notwendig ? Muss z.B.: per Funktionstaste ein internes Wlan-Modem aktiviert werden oder steckst du einen Wlan-Stick an ? Ist der Surfstick bereits angesteckt, während du mit dem Wlan verbindest oder steckst du den Surfstick erst danach an? Wie machst du es ohne Wlan ? Steckt der Surfstick bereits beim Hochfahren von Ubuntu oder steckst du ihn erst später an ? Siehst du mit
dmesg | grep "scsi\|usb"
Fehlermeldungen ? Wenn ich bei mir das mit einem ZTE-Stick mache und USB ModeSwitch deaktiviere, erscheint folgende Ausgabe:
[17933.059153] usb 1-1.2: new high-speed USB device number 12 using ehci-pci
[17933.153834] usb 1-1.2: New USB device found, idVendor=19d2, idProduct=2000
[17933.153842] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[17933.153845] usb 1-1.2: Product: ZTE WCDMA Technologies MSM
[17933.153848] usb 1-1.2: Manufacturer: ZTE,Incorporated
[17933.153851] usb 1-1.2: SerialNumber: XXX
[17933.156549] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[17933.156762] scsi12 : usb-storage 1-1.2:1.0
[17937.172047] scsi 12:0:0:0: CD-ROM ZTE USB SCSI CD-ROM 2.31 PQ: 0 ANSI: 2
[17937.178431] sr1: scsi-1 drive
[17937.178631] sr 12:0:0:0: Attached scsi CD-ROM sr1
[17937.178751] sr 12:0:0:0: Attached scsi generic sg3 type 5
Also /dev/sr1 wäre hier vorhanden. Mit aktiviertem USB ModeSwitch passiert das:
[18188.253519] usb 1-1.2: new high-speed USB device number 13 using ehci-pci
[18188.348276] usb 1-1.2: New USB device found, idVendor=19d2, idProduct=2000
[18188.348284] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[18188.348287] usb 1-1.2: Product: ZTE WCDMA Technologies MSM
[18188.348290] usb 1-1.2: Manufacturer: ZTE,Incorporated
[18188.348293] usb 1-1.2: SerialNumber: XXX
[18188.350999] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[18188.351122] scsi13 : usb-storage 1-1.2:1.0
[18190.615156] usb 1-1.2: USB disconnect, device number 13
[18190.815583] usb 1-1.2: new high-speed USB device number 14 using ehci-pci
[18190.910589] usb 1-1.2: New USB device found, idVendor=19d2, idProduct=0117
[18190.910596] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[18190.910600] usb 1-1.2: Product: ZTE WCDMA Technologies MSM
[18190.910603] usb 1-1.2: Manufacturer: ZTE,Incorporated
[18190.910606] usb 1-1.2: SerialNumber: XXX
[18190.913813] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[18190.914127] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[18190.914461] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[18190.914567] usb-storage 1-1.2:1.3: USB Mass Storage device detected
[18190.914696] scsi14 : usb-storage 1-1.2:1.3
[18194.920360] scsi 14:0:0:0: Direct-Access ZTE MMC Storage 2.31 PQ: 0 ANSI: 2
[18194.920864] sd 14:0:0:0: Attached scsi generic sg3 type 0
Es gibt kein /dev/sr1, aber es gibt /dev/ttyUSB0 bis /dev/ttyUSB2 im Modemmodus 19d2:0117. Wenn du den Datenträgermodus nicht für eine Windows-Installation benötigst, kannst du ihn auch deaktivieren und damit Umschaltprobleme umgehen. Dazu muss sich der Stick aber bereits im Modemmodus befinden. Abschalten mit
echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
ergibt
Close autorun state result(0:FAIL 1:SUCCESS):1
OK
Danach bleibt der Stick auch nach einem Ab-und Anstecken im Modemmodus. Rückgängig kannst du das mit:
echo -e "AT+ZCDRUN=9\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
machen. edit: Für den den direkten Zugriff auf /dev/ttyUSB2 muss dein Benutzer entweder der Gruppe dialout hinzugefügt werden (s.Bestehenden Benutzer einer weiteren Gruppe hinzufügen) oder du machst das mit Root-Rechten z.B: in einer Rootshell.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Also mit dmesg | grep "scsi\|usb" erhalte ich dieselbe Ausgabe wie du mit aktiviertem USB ModeSwitch, also es sagt auch "Attached scsi CD-ROM sr1" usw. ABER: es gibt KEIN /dev/sr1 ! (Und natürlich auch kein /dev/ttyUSB0)
Schon etwas seltsam, oder? Den Datenträgermodus deaktivieren geht weder mit sudo noch nachdem ich mich der Gruppe dialout hinzugefügt habe:
$ echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
bash: /dev/ttyUSB2: Das Gerät oder die Ressource ist belegt Ins WLAN gehe ich einfach durch auswählen und anklicken oben rechts in der Leiste (keine Taste, kein WLAN-Stick).
Die von dir genannten Kombinationen habe ich alle durchprobiert, es ändert nichts am Ergebnis.
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
Travelkarsten schrieb: erhalte ich dieselbe Ausgabe wie du mit aktiviertem USB ModeSwitch, also es sagt auch "Attached scsi CD-ROM sr1" usw.
Bei aktiviertem USB ModeSwitch wurde bei mir der Schritt mit sr1 übersprungen:
[18188.350999] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[18188.351122] scsi13 : usb-storage 1-1.2:1.0
[18190.615156] usb 1-1.2: USB disconnect, device number 13 ABER: es gibt KEIN /dev/sr1 ! (Und natürlich auch kein /dev/ttyUSB0)
Schon etwas seltsam, oder?
Wenn ein /dev/sr1 protokolliert wurde, kann auch es das auch nur sehr kurzfristig gegeben haben. Bei mir wären z.B.: zwischen
[18188.348276] usb 1-1.2: New USB device found, idVendor=19d2, idProduct=2000
und
[18190.615156] usb 1-1.2: USB disconnect, device number 13
nur etwas mehr als 2 Sekunden Zeit gewesen, den Stick als 19d2:2000 bei lsusb zu sehen. bash: /dev/ttyUSB2: Das Gerät oder die Ressource ist belegt
Wenn du bereits mit dem Internet verbunden warst, belegt bereits der Modemmanager bzw. NetworkManager /dev/ttyUSB2. Also entweder solltest du das versuchen bevor du mit dem Internet verbindest ("automatisch verbinden" sollte natürlich unbedingt aus sein) oder wenn danach, dann solltest du den NetworkManager und Modemmanager anhalten:
sudo service modemmanager stop
Sicherheitshalber kannst du auch den Modemmanager auch noch explizit danach anhalten:
sudo service modemmanager stop
In den meisten Fällen sollte aber ein
stop: Unknown instance:
bestätigen, dass das Anhalten des NetworkManagers auch den Modemmanager angehalten hat.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Sorry, ich hatte das falsch geschrieben ☹ Richtig ist: Mit dmesg | grep "scsi\|usb" erhalte ich dieselbe Ausgabe wie du mit deaktiviertem USB ModeSwitch, also es sagt auch "Attached scsi CD-ROM sr1" usw. ABER: es gibt KEIN /dev/sr1 ! Bzgl. Deaktivierung Datenträgermodus: du hattest geschrieben: "Dazu muss sich der Stick aber bereits im Modemmodus befinden." Deshalb ging ich davon aus, daß ich bereits verbunden sein musste. Ok, also ohne vorherige Verbindung. Dann heißt es trotz sudo: sudo echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
bash: /dev/ttyUSB2: Keine Berechtigung Insgesamt ist meine WLAN-Hypothese etwas fragwürdig geworden. z.B. heute komme ich trotz WLAN-Connect gar nicht rein. Vielleicht schwächelt manchmal das 1&1-Netz oder kann der Stick als Hardware einen Defekt haben?
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
Travelkarsten schrieb: sudo echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
Das Problem beim vorangestellten sudo ist, dass das nur auf den von mir gelbmarkierten Bereich wirkt. Also auf die beiden Zugriffe auf /dev/ttyUSB2 leider nicht. Dieses Problem kannst du z.B. mit einer Rootshell umgehen. Das wäre:
sudo -i
echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
Strg +
C
exit
Aber auch das funktioniert natürlich nur, wenn
ls -l /dev/ttyUSB2
ein Ergebnis liefert, also vorhanden ist. z.B.:
crw-rw---- 1 root dialout 188, 2 Feb 12 17:22 /dev/ttyUSB2 Vielleicht schwächelt manchmal das 1&1-Netz oder kann der Stick als Hardware einen Defekt haben?
Der Stick sollte unabhängig vom Netz in den Modemmodus schalten. Umschaltprobleme haben meist zwei Gründe:
Da der Stick beim Umschalten kurzfristig etwas mehr Strom aus dem USB-Anschluss "saugt", können USB-Anschlüsse, die diese Stromspitzen nicht liefern können, das Umschalten verhindern. In neueren Kernelversionen wurde das Laden von USB-Speicher-Treiber optimiert, um Geräte nach dem Anstecken schneller verfügbar zu machen. Leider kommen einige ältere Sticks mit der Beschleunigung nicht zurecht. Der optimierte USB-Speicher-Treiber wird bereits im Datenträgermodus verwendet, um die virtuelle CD einzubinden. Beim Umschalten wird dann diese virtuelle CD ausgeworfen und das virtuelle CD-Laufwerk entfernt. d.h.: Hier müssen Schnittstellen zum Stick der Kontrolle dieses Treibers möglichst koordiniert entzogen werden.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Ok, verstanden mit der root-Shell. Trotz root-Shell sträubt er sich aber weiter: root@ubuntu:~# ll /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 2 Feb 13 11:32 /dev/ttyUSB2
root@ubuntu:~# echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2
-bash: echo: Schreibfehler: Die Ressource ist zur Zeit nicht verfügbar.
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
Travelkarsten schrieb: Trotz root-Shell sträubt er sich aber weiter:
War das bevor eine Verbindung aufgebaut wurde oder nachdem du eine Verbindung bereits hattest? Hier habe ich es bevor eine Verbindung aufgebaut wurde getestet. Wenn bei dir das Umschalten in den Modemmodus Probleme macht, ist es möglicherweise umgekehrt besser. Statt /dev/ttyUSB2 kannst du es auch mit /dev/ttyUSB1 versuchen. Das permanente Abschalten des Datenträgermodus kannst du natürlich auch auf einem anderen Computer oder mit einer anderen Ubuntuversion probieren, da es erhalten bleibt.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Yep! Es funktioniert jetzt! 👍 Was macht der Befehl genau? Der zweite Teil (mit cat) ist vermutlich nicht wichtig? Nun ja, wenn ich den Laptop zuklappe und später wieder öffne, dann ist die connection wieder weg (ttyUSB1 ist zwar noch da, aber lsusb zeigt, daß der Stick wieder auf 2000 steht, also nicht mehr im Modem-Modus ist). Aber diese Probleme hatte ich auch vorher schon, Neustart hilft.
|
hakunamatata
Supporter
Anmeldungsdatum: 30. Juni 2009
Beiträge: 5130
|
aber lsusb zeigt, daß der Stick wieder auf 2000 steht, also nicht mehr im Modem-Modus ist).
Interessant. Wenn ich meinen ZTE-Stick so behandelt habe, wird sofort nach dem Anstecken in den Modemmodus gewechselt. Hier der Teil von dmesg, der den Stick betrifft:
[ 4164.611238] usb 1-1.2: new high-speed USB device number 5 using ehci-pci
[ 4164.706266] usb 1-1.2: New USB device found, idVendor=19d2, idProduct=0117
[ 4164.706275] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[ 4164.706278] usb 1-1.2: Product: ZTE WCDMA Technologies MSM
[ 4164.706281] usb 1-1.2: Manufacturer: ZTE,Incorporated
[ 4164.706284] usb 1-1.2: SerialNumber: XXX
[ 4164.709861] usb-storage 1-1.2:1.3: USB Mass Storage device detected
[ 4164.710034] scsi5 : usb-storage 1-1.2:1.3
[ 4165.144045] usbcore: registered new interface driver usbserial
[ 4165.144056] usbcore: registered new interface driver usbserial_generic
[ 4165.144063] usbserial: USB Serial support registered for generic
[ 4165.186139] usbcore: registered new interface driver option
[ 4165.186192] usbserial: USB Serial support registered for GSM modem (1-port)
[ 4165.187549] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 4165.187785] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 4165.187825] option 1-1.2:1.1: GSM modem (1-port) converter detected
[ 4165.187927] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 4165.187959] option 1-1.2:1.2: GSM modem (1-port) converter detected
[ 4165.188052] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 4165.721840] scsi 5:0:0:0: Direct-Access ZTE MMC Storage 2.31 PQ: 0 ANSI: 2
[ 4165.722059] sd 5:0:0:0: Attached scsi generic sg3 type 0
[ 4165.728697] sd 5:0:0:0: [sdc] Attached SCSI removable disk Was macht der Befehl genau?
Er sollte die Einstellungen am Stick so ändern, dass der Datenträgermodus mit dem virtuellen CD-Laufwerk nach dem Anstecken übersprungen wird. Der zweite Teil (mit cat) ist vermutlich nicht wichtig?
Der erste Teil sendet den Befehl an den Stick, der zweite Teil zeigt die Antwort des Sticks. Der zweite Teil ist nur zur Kontrolle, ob der erste Teil funktioniert hat. Wie geschrieben, antwortet mein ZTE-Stick auf diesen Befehl mit:
Close autorun state result(0:FAIL 1:SUCCESS):1
OK
d.h. die rückgemeldete Eins bedeutet, dass der Befehl erfolgreich war. Für die Kommunikation mit dem Stick kannst du auch Programme wie minicom verwenden. Da dieses Programm aber standardmäßig nicht installiert ist (was ohne funktionierender Internetverbindung ein Nachteil ist), verwende ich meist zur Kommunikation Standardbefehle wie echo und cat. Weiters kannst du die Befehle natürlich auch auf zwei Terminals aufteilen. Ein Terminal wartet auf die Antwort:
cat /dev/ttyUSB2
und eines sendet den Befehl:
echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB2
Hier gibt es also viele Möglichkeiten mit dem Stick zu kommunizieren. Falls du das virtuelle CD-Laufwerk zur Installation der Windows-Software wieder benötigst, einfach bei der Prozedur ZCDRUN=8 durch ZCDRUN=9 ersetzen. Für Ubuntu war das bei mir aber noch nie notwendig.
|
Travelkarsten
(Themenstarter)
Anmeldungsdatum: 19. Juni 2011
Beiträge: 17
Wohnort: Freiburg
|
Bei mir antwortet er nicht mit "Close autorun state result(0:FAIL 1:SUCCESS):1", sondern einfach so: root@ubuntu:~# echo -e "AT+ZCDRUN=8\r" > /dev/ttyUSB1 && cat /dev/ttyUSB1
AT+ZCDRUN=8 Aber offenbar ist der Befehl auch erfolgreich. Insofern werde ich das hier mal als gelöst kennzeichnen. Ich danke dir wieder sehr für deinen super Support! 👍
|