Hallo *,
Da mir scheinbar weder das allmächtige Google noch das ML-Archiv weiterhelfen kann, möchte ich euch das Problem ans Herz legen:
Vor kurzem ist bei mir eine 120GB USB-Festplatte eingetroffen, die mir unter mehreren Linuxen (2.4.18, 2.4.23 und 2.4.24) einige Probleme bereitet. Nach dem anstöpseln wird zwar registriert, das ein neues Device angeschlossen wurde, jedoch schlägt die SCSI-Emulation fehl. D.h. die Platte taucht zwar überall auf (/proc/bus/usb, lsusb, dmesg) und auch die module usbcore, usb-storage, etc. sind geladen, jedoch nix mit scsi.
Andererseits klappt die USB-Geschichte auf Anhieb, wenn man einen ganz normalen Memorystick nutzt - dieser wird erkannt, die scsi-emulation geladen und er lässt sich mounten.
Unter OpenBSD wird die Platte erkannt und taucht als SCSI-device auf (ich hab nur noch nicht rausgefunden, wie man vfat mountet, fdisk funktioniert aber). Unter Windows läuft das Ding auch - ist aber eher nicht verwunderlich.
Ideen?
Grüße Marian Neubert
---
Hier noch die Dateischnipsel:
#####
cat /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 S: Product=USB UHCI Root Hub S: SerialNumber=b400 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1058 ProdID=0402 Rev= 4.12 S: Manufacturer=Western Digital S: Product=External HDD S: SerialNumber=574D414C3933313430373231 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=88(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
#####
relevanter dmesg-Ausschnitt:
hub.c: new USB device 00:04.2-2, assigned address 2 scsi1 : SCSI emulation for USB Mass Storage devices usb-uhci.c: interrupt, status 2, frame# 460 usb-uhci.c: interrupt, status 2, frame# 332 usb-uhci.c: interrupt, status 2, frame# 67 usb-storage: host_reset() requested but not implemented scsi: device set offline - command error recover failed: host 1 channel 0 id 0 lun 0 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2
#####
lsmod
Module Size Used by Not tainted nls_cp437 4380 1 (autoclean) autofs4 8756 1 (autoclean) af_packet 13512 0 (autoclean) nls_iso8859-1 2876 1 (autoclean) ntfs 50944 0 (autoclean) msdos 4652 0 (autoclean) agpgart 42628 0 (unused) eepro100 19380 0 mii 2256 0 [eepro100] serial 51972 0 (autoclean) pcmcia_core 39712 0 apm 9768 1 rtc 6940 0 (autoclean) cloop 9092 2 ieee1394 183044 0 usb-storage 61024 0 (unused) usb-uhci 21644 0 (unused) usbcore 57600 1 [usb-storage usb-uhci]
#####
lsusb
Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 1058:0402 Western Digital Technologies, Inc.
#####
cat /proc/scsi/scsi
Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: LG Model: CD-ROM CRD-8521B Rev: 1.04 Type: CD-ROM ANSI SCSI revision: 02
Hallo,
M. Neubert wrote:
Unter OpenBSD wird die Platte erkannt und taucht als SCSI-device auf (ich hab nur noch nicht rausgefunden, wie man vfat mountet, fdisk funktioniert aber). Unter Windows läuft das Ding auch - ist aber eher nicht verwunderlich.
Unter OpenBSD solltest Du VFAT-Partitionen so mounten können: aero# mount -t msdos /dev/sd0e /mnt
Vorher mal ein 'disklabel /dev/sd0' machen, um zu sehen welches Label der VFAT-Partition entspricht.
Viele Grüße Matthias
Hallo Marian,
On Thu, Mar 17, 2005 at 11:47:33 +0100, M. Neubert wrote:
Vor kurzem ist bei mir eine 120GB USB-Festplatte eingetroffen, die mir unter mehreren Linuxen (2.4.18, 2.4.23 und 2.4.24) einige Probleme bereitet. Nach dem anstoepseln wird zwar registriert, das ein neues Device angeschlossen wurde, jedoch schlaegt die SCSI-Emulation fehl. D.h. die Platte taucht zwar ueberall auf (/proc/bus/usb, lsusb, dmesg) und auch die module usbcore, usb-storage, etc. sind geladen, jedoch nix mit scsi.
cat /proc/bus/usb/devices
[...]
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1058 ProdID=0402 Rev= 4.12 S: Manufacturer=Western Digital S: Product=External HDD S: SerialNumber=574D414C3933313430373231 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=88(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
Du betreibst die Platte (die ein USB2.0-Device ist, Ver= 2.00) an einem USB1.1 Hub (Spd=12). Der USB-Standard schreibt zwar vor, dass sich USB2.0-Devices, die an einem USB1.1-Hub (12Mbit) betrieben werden, abwaertskompatibel verhalten muessen, aber offensichtlich gibt es da haeufig Timingprobleme beim Anstecken des jeweiligen Device.
Wenn Dein USB-Controller ein 2.0er ist, dann lade zusaetzlich das Kernelmodul ehci-hcd. Versuchs ausserdem mal mit einem neueren Kernel, 2.4.24 ist schon etwas angestaubt und hat noch Bugs im ehci und usb-storage.
relevanter dmesg-Ausschnitt:
[...]
usb-uhci.c: interrupt, status 2, frame# 460 usb-uhci.c: interrupt, status 2, frame# 332 usb-uhci.c: interrupt, status 2, frame# 67
Sowas passiert haeufig beim Anstecken von USB2.0-Device an USB1.1-Hub.
usb-storage: host_reset() requested but not implemented scsi: device set offline - command error recover failed: host 1 channel 0 id 0 lun 0
Diese Meldung habe ich noch nie gesehen. Ich weiss nicht, ob es bei USB-Massenspeichergeraeten inzwischen auch mehrere Protokolle gibt.
lsusb
Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 1058:0402 Western Digital Technologies, Inc.
Das geht bereits aus /proc/bus/usb/devices hervor.
bye, Chris
Hallo Christian, *
Christian Perle schrieb:
Wenn Dein USB-Controller ein 2.0er ist, dann lade zusaetzlich das Kernelmodul ehci-hcd.
Ist ein 1.1-er Controller, dort nützt das Modul leider nix.
Versuchs ausserdem mal mit einem neueren Kernel, 2.4.24 ist schon etwas angestaubt und hat noch Bugs im ehci und usb-storage.
Ich konnte es heute mit einem 3.8-er Knoppix mal testen, und siehe da, das im 2.6.11-er Kernel verbaute ehci redet anstandslos mit der Platte (die aber nun als /dev/ub[a] ansprechbar ist).
Evtl. lässt sich das Problem aber auch lösen, wenn ich die USB-ID der Platte in unusual_devs.h eintrage und den (alten 2.4-er) Kernel neu baue... Hat da schon jemand Erfahrungen gemacht? Nützt das bei diesem Problem überhaupt etwas?
usb-uhci.c: interrupt, status 2, frame# 67
Sowas passiert haeufig beim Anstecken von USB2.0-Device an USB1.1-Hub.
An was liegt denn das? Falsche Synchronisierung?
Grüße Marian
lug-dd@mailman.schlittermann.de