• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

USB 2.0 wird nicht als solches erkannt

denzil

Member
Hallo.

Ich habe an meinem Computer 6 USB 2.0 Ports. Mein Board ist das MSI KT4Ultra, ich verwende SuSE10. Mein Problem ist, das davon lediglich einer als USB 2.0 (EHCI), der Rest als UHCI erkannt wird. Das Problem lag auch schon unter WinXP vor, da konnte ich aber einfach auf "Treiber aktualisieren" klicken und habe den Treiber des EHCI grad bei den anderen auch installiert. Nur wie weise ich unter SuSE einem Gerät einen Treiber manuell zu?

Da ich Linux-Newbie bin bitte ich um einfache und Schritt-für-Schritt-Erklärung.

Danke. David.
 

misiu

Moderator
Teammitglied
Welche USB2.0 - Geräte hast du?
Normalerweise, wenn die angeschlossen werden, wird auch
entsprechender Treiber geladen.

MfG
misiu
 
OP
D

denzil

Member
Einen Drucker, eine Maus, ein Kamerakabel, ein MP3-Player (Philips KeyAudio, definitiv USB2.0, da unter Windows TOP)...

Aber das ist es nicht. Die Treiber von den Geräten werden ja geladen. Das Prob ist, dass die EHCIs nicht als solche sondern als UHCI erkannt werden... Und egal wo ich anschließe, den EHCI-Anschluss erwisch ich nicht... Ich müsst ja nur wissen, wo ich die Treiber änder und wo ich den EHCI-Treiber als File find. Oder sind unter Linux die Treiber in die Kernel kompiliert?

David.
 

oddikurt

Hacker
Also ich habe " scheinbar " auch nur einen EHCI, aber 2 USB 2 Geräte die mit Volldampf laufen.
misiu hat Recht: Das passiert normal automatisch.
Habe SUSE 10.
 
OP
D

denzil

Member
Danke erstmal für die schnelle Antwort! Aber wenn ich z.B. meinen MP3-Player anschließe und Daten kopiere, so ist er langsamer (bedeutend langsamer) als unter Windows mit EHCI...
 

oddikurt

Hacker
david87hd schrieb:
Danke erstmal für die schnelle Antwort! Aber wenn ich z.B. meinen MP3-Player anschließe und Daten kopiere, so ist er langsamer (bedeutend langsamer) als unter Windows mit EHCI...

Dies liegt wahrscheinlich nicht am EHCI, sondern am SUSE 10 Sync Bug.
 

oddikurt

Hacker
Bei SUSE 10 werden die USB Geräte mit der Option " sync " über den HAL angesprochen/gemounted. Alle geschriebenen Daten werden Syncronisiert um sicherzustellen, dass diese auch geschrieben sind, wenn das USB Gerät entfernt wird. (So hab ich's zumindest verstanden.)

In der Theorie wie immer wunderbar; nur hat sich da wahrscheinlich ein Bug eingeschlichen, der dafür sorgt, dass das Schreiben auf USB Geräte langsam geht, mit der Tendenz, je länger es dauert (bzw. Datenmenge == gross ) immer langsamer zu werden.
Ich hatte bei meinem USB - MP3 Player sogar schon den " Quasi-Stillstand ".

Abhilfe schafft hier den " sync " -Modus abzustellen. Also: Asyncron.
Läuft bei mir Super Flott. (Geschw. wie bei Win.)

Aber man muss jetzt aufpassen, dass die Daten auch übertragen wurden und man nicht einfach den z.B. USB-Stick gleich herausnimmt.
Am besten die LED oder die Anzeige des USB Geräts beobachten...
Der gleiche Bug betrifft auch das Diskettenlaufwerk.

PS: Lese einmal die README zu SUSE 10, da stehts auch drin.

Die Lösung für USB (generell) und die Diskette zum Beispiel hier:

http://www.linux-club.de/viewtopic.php?p=294477#294477
 
OP
D

denzil

Member
Danke, habe ich gemacht. Jetzt ist es zwar schneller, aber für 80MB braucht er noch 2 Minuten und seine Höchstgeschwindigkeit beim Übertragen waren 2Mbit/s.... das geht schneller!!! Nur wie? Meiner Meinung nach, ist das Problem einfach, dass die falschen Treiber geladen werden. Das war es zumindest unter WinXP.

David.
 

oddikurt

Hacker
Das kann man mal austesten.

Um Deine USB Geräte zu erkennen, die Übertragungsrate anzuzeigen und die dev-node zu ermitteln:
Code:
hwinfo --usb

Wenn Du die dev-nodes kennst, kannst Du mitttels hdparm die Lesegeschwindigkeiten ermitteln:

Festplatteninformationen anzeigen lassen:
(Liefert bei USB auch einige Fehlermeldungen)
Code:
hdparm -iv /dev/hdx oder sdx

Datendurchsatz einer Festplatte oder USB Stick
Code:
hdparm -tT /dev/hdx oder sdx

DMA aktivieren (sofern unterstützt - war bei mir so für USB Drive nicht möglich)
Code:
hdparm -d 1 /dev/hdx oder sdx

Werte meiner Kiste zum Vergleichen:
Code:
USB Stick (alt, mit USB 1, 64MB)
ofen:/dev # hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:   4120 MB in  2.00 seconds = 2059.87 MB/sec
 Timing buffered disk reads:    4 MB in  4.48 seconds = 913.41 kB/sec

Externe IOMEGA USB 2 Festplatte 80GB, 5400 U/min, 2MB Cache
(Also wirklich nix besonderes..!)
ofen:/dev # hdparm -tT /dev/sda1

/dev/sda1:
 Timing cached reads:   4112 MB in  2.00 seconds = 2055.87 MB/sec
 Timing buffered disk reads:   84 MB in  3.07 seconds =  27.38 MB/sec
ofen:/dev # hdparm -tT /dev/sda2

/dev/sda2:
 Timing cached reads:   4164 MB in  2.00 seconds = 2081.87 MB/sec
 Timing buffered disk reads:   78 MB in  3.02 seconds =  25.86 MB/sec
ofen:/dev # hdparm -tT /dev/sda5

/dev/sda5:
 Timing cached reads:   4120 MB in  2.00 seconds = 2059.87 MB/sec
 Timing buffered disk reads:   82 MB in  3.00 seconds =  27.33 MB/sec

Das Schreiben habe ich bei mir einmal grob gestoppt:
Externe IOMEGA USB 2 Festplatte 80GB, 5400 U/min, 2MB Cache
Dateisys: ext3

106 MB am Stück (nicht geschnitten :mrgreen: )
in 4 Sek. (Vergleicht man den Wert mit den hdparm Werten kommt das hin.)

120 MB in 100 Dateien (Aufschnitt)
in 7 Sek.

119 MB in 5987 Dateien (fein Aufschnitt)
in 11 Sek.


Einstellungswerte der ext. USB Platte:

Bei obigen Tests, standen die "max-sectors" Werte aber auf Grundeinstellung. (256KB)
Die "max-sectors" Übertragungsgröße
Die maximale Sektorengröße die ein USB Drive übertragen kann. Variiert von Drive zu Drive.
Hochsetzen beschleunigt die Datenübertragung bei den meisten Laufwerken etwas. Auslesen der eingestellten Daten:
cat /sys/block/sda/device/max_sectors

Einstellen der Sektorengrösse:
echo 1024 >/sys/block/sda/device/max_sectors Die Werte sollten 1024 == 1Mb nicht überschreiten. Was der Drive max. unterstützt erkennt man, wenn zu hohe Werte nicht mehr ausgegeben werden.
1024 war bei mir das höchste.
 

misiu

Moderator
Teammitglied
Bei Problemen mit USB-Stick ( USB 2.0 ):
Booten mit der Option:

Code:
insmod=usb-storage

danach :

Code:
modprobe -r ehci-hcd
( entfernen des USB 2.0 - Moduls )

Code:
modprobe ehci-hcd
( laden des USB 2.0 - Moduls )
Danach evtl.:
rchal restart
 
OP
D

denzil

Member
Hallo!

Ich habe alle Tipps ausgeführt und bin immer noch gleich langsam. Er braucht laut hdparm sogar für 2mb 5 sek. das Löschen vom Stick ist furchtbar langsam. Derweil habe ich unter "USB-Geräte" (KDE-Menü/System/Überwachung) folgendes gesehen:

+ EHCI Host Controller (1)
...... - ---------------------------------------- Klasse: Hub
...... - ---------------------------------------- USB-Version: 2.00
...... - ---------------------------------------- Geschwindigkeit: 480Mbit/s
...... - ---------------------------------------- Kanäle: 6

+ UHCI Host Controller (2)
...... - ---------------------------------------- Klasse: Hub
...... - ---------------------------------------- USB-Version: 1.10
...... - ---------------------------------------- Geschwindigkeit: 12Mbit/s
...... - ---------------------------------------- Kanäle: 2
...... + ------------------------------------------------- DeskJet 940C
.................. - ---------------------------------------- Klasse: 0
.................. - ---------------------------------------- USB-Version: 1.10
.................. - ---------------------------------------- Geschwindigkeit: 12Mbit/s
.................. - ---------------------------------------- Kanäle: 0

+ UHCI Host Controller (3)
...... - ---------------------------------------- Klasse: Hub
...... - ---------------------------------------- USB-Version: 1.10
...... - ---------------------------------------- Geschwindigkeit: 12Mbit/s
...... - ---------------------------------------- Kanäle: 2
...... + ------------------------------------------------- Camera
.................. - ---------------------------------------- Klasse: 255
.................. - ---------------------------------------- USB-Version: 1.10
.................. - ---------------------------------------- Geschwindigkeit: 12Mbit/s
.................. - ---------------------------------------- Kanäle: 0
...... + ------------------------------------------------- USB-RECEIVER
.................. - ---------------------------------------- Klasse: 0
.................. - ---------------------------------------- USB-Version: 1.10
.................. - ---------------------------------------- Geschwindigkeit: 1.5Mbit/s
.................. - ---------------------------------------- Kanäle: 0

+ UHCI Host Controller (4)
...... - ---------------------------------------- Klasse: Hub
...... - ---------------------------------------- USB-Version: 1.10
...... - ---------------------------------------- Geschwindigkeit: 12Mbit/s
...... - ---------------------------------------- Kanäle: 2
...... + ------------------------------------------------- <USB PRODUCT>
.................. - ---------------------------------------- Klasse: 0
.................. - ---------------------------------------- USB-Version: 1.10
.................. - ---------------------------------------- Geschwindigkeit: 12Mbit/s
.................. - ---------------------------------------- Kanäle: 0


=> Der USB-2.0-Hub (Der wohl aufm Board sein muss) hat 6 Kanäle. Die UHCIs haben zusammen auch 6. Wohl sind die an dem EHCI dran?! Denn an den EHCI kann ich nichts anschließen. Am letzten Controller ist mein MP3-Player dran...

Habe ich damit mehr Klarsicht geschaffen?
 
Oben