Hi Martin,
On Sat, Nov 06, 2004 at 19:54:52 +0100, Martin K?rner wrote:
als erstes - ja ich habe in dutzenden Foren gelesen, aber bisher hat nichts geholfen.
In Webforen wird meistens halbverstandenes Viertelwissen vermittelt. Das mag arrogant klingen, aber ich sehe es meistens immer wieder bestaetigt.
Ich nutze Debian testing mit selbstkompiliertem Kernel 2.6.4.
Wenn ich die Platte anstecke, kommt folgendes in der Konsole: usb 1-4: new high speed USB device using address 2 scsi0: SCSI emulation for USB Mass Storage Device Vendor: Maxtor 6 Modell: B200P0 Type: Direct-Access Rev: 0811 ANSI SCSI revision: 02
Attached scsi generic s0 at scsi0, channel 0, id0, lun 0, typ 0 registered new dreiver usb-storage
An dieser Stelle waere die Ausschrift von cat /proc/partitions interessant. USB-Massenspeichergeraete (USB-Stick, -Floppy, -Platte) werden unter Linux grundsaetzlich als virtuelle SCSI-Platten behandelt. Falls echte SCSI-Platten existieren, reihen die die USB-Massenspeichergeraete in die Device-Nummerierung (sda, sdb, sdc...) mit ein. SCSI-CDROMs haben ihre eigene Device-Nummerierung (scd0, scd1, ...) und beeinflussen damit nicht die sd-Devices.
Wenn Du also keine echten SCSI-Platten hast und auch keine anderen USB-Massenspeichergeraete vorher ansteckst, heisst die USB-Platte /dev/sda und ihre Partitionen /dev/sda1, /dev/sda2...
Sieht ja ganz toll aus, was ich allerdings nicht bemerkte, war, dass gleichzeitig auf der Konsole tty1 noch folgendes erscheint: disc at /devices/pci00000...(einige zahlen usw..)
FATAL module sd_mod not found.
Da versucht vermutlich das Hotplug-Subsystem das Kernelmodul fuer SCSI disk support zu laden. Wenn Du die Funktion sowieso fest im Kernel hast, sollte das kein Problem darstellen. Du kannst aber _vor_ dem Anstecken der Platte das Hotplug-Subsystem deaktivieren und das usb-storage Modul von Hand laden:
echo /no/such/file > /proc/sys/kernel/hotplug modprobe usb-storage
Laut den Tutorials und Foren im Netz, muss man so eine Platte mit /dev/sda mounten,
Nein, siehe meinen Kommentar oben. Man mountet immer Partitionen einer Platte, nicht das gesamte Plattendevice. Welche Partitionen auf /dev/sda existieren, liefert die Ausgabe von fdisk -l /dev/sda bzw. cat /proc/partitions
aber wenn ich es mit den entsprechenden Dateisystemen versuche (vfat bzw. captive-ntfs) kommt "... is not a valid block device" und wenn ich
"Not a valid block device" deutet darauf hin, dass /dev/sda (alias block major 8 minor 0) als Device im Kernel gar nicht registriert wurde. (vgl. auch cat /proc/devices)
Es koennte sein, dass es direkt mit dem USB-Controller Probleme gibt. Bei meinem Board funktioniert bisher mit keinem Kernel der USB 2.0 Controller. Sobald ich das Modul ehci-hcd lade, wird kein USB-Geraet mehr richtig beim Anstecken initialisiert. Nur USB 1.1 funktioniert zuverlaessig (danke, SiS :-( ).
Zudem ist usb-storage in 2.6.4 immer noch ein wenig buggy gewesen, es lohnt sich durchaus, 2.6.9 zu probieren. Und zum Vergleich auch ein aktueller 2.4er, am besten direkt von CD, also Knoppix oder eins seiner Derivate.
es mit usbfs (ist ja wohl eigentlich f?r USB-Platten gedacht) mache,
^^^^^^^^^^^^^^^^^^^^^^^ nein
kommt zwar keine Fehlermeldung, aber in dem gemounteten Verzeichnis befindet sich dann der Inhalt von /proc/bus/usb
usbfs (unter Kernel 2.4 hiess es usbdevfs) ist ein Dateisystem, das nur zur Verwaltung und zum "rohen" Zuriff auf USB-Geraete dient. Damit erhaeltst Du keinen Zugriff auf den Festplatteninhalt.
P.S.: Vielleicht ist die Ausgabe von lspci interessant:
Eher nicht. Die Ausgabe von lsusb bzw. cat /proc/bus/usb/devices waere interessanter gewesen. Und lsmod. Und cat /proc/scsi/usb-storage*/*
HTH, Chris