Zugriff auf USB-Memory-Stick



  • Ich möchte von einem älteren Linux-System auf einen USB-Memory-Stick zugreifen. Nach dem Laden der entsprechenden Module (usb-storage.o, sd_mod.o usw.) meldet der Kernel, dass er das Device gefunden hat:

    usb.c: USB new device connect, assigned device number 2
    scsi0 : SCSI emulation for USB Mass Storage devices
    scsi : 1 host.

    und "cat /proc/scsi/usb/0" liefert:

    Host scsi0: usb-storage
    Vendor: Generic
    Product: Mass Storage Device
    Serial Number: None
    Protocol: Transparent SCSI
    Transport: Bulk
    GUID: 058f93820000000000000000

    Doch wenn ich /dev/sda1 mounten will, erhalte ich die Fehlermeldung:

    mount: the kernel does not recognize /dev/sda1 as a block device
    (maybe `insmod driver'?)

    Muss ich beim Laden des Moduls "sd_mod.o" Parameter angeben, die ihm sagen, dass es sich um ein "Pseudo-SCSI-Device" handelt, das über USB angeschlossen ist, oder liegt es vielleicht einfach an dem älteren Kernel / Modul usb-storage.o?

    Bin für jeden Tipp dankbar.

    Martin

    PS: Auf einem aktuelleren Linux mit hotplugging liefert "cat /proc/scsi/usb-storage-0/0" noch die Zeile "Attached: Yes". Diese fehlt bei meiner Einrichtung "von Hand" auf dem älteren System. Hab ich da etwas vergessen?



  • Welche "entsprechenden" Module lädst du denn genau? Mir scheint, das entscheidende fehlt noch.



  • Bashar schrieb:

    Welche "entsprechenden" Module lädst du denn genau? Mir scheint, das entscheidende fehlt noch.

    Folgende Module in genau dieser Reihenfolge:

    usb-storage.o (läd automatisch usbcore.o und scsi_mod.o)
    usb-ohci.o (jetzt geht die LED an dem USB-Stick an)
    sd_mod.o (läd automatisch sg.o)



  • OK, falls sich weiter keiner meldet, schau ich heute abend mal bei mir. Ach ja, hast du auch mal probiert, /dev/sda zu mounten?



  • Bashar schrieb:

    Ach ja, hast du auch mal probiert, /dev/sda zu mounten?

    Ja, mit dem gleichen negativen Ergebnis. 😞



  • Sorry, da muss ich leider passen. Hab im Prinzip die gleichen Module (bzw. hab sie fest eincompiliert).



  • Ich hab' noch mal ein bisschen "gegoogelt" und bin darauf gestoßen, dass im Kernel offenbar die Option "Preliminary USB device file system (CONFIG_USB_DEVICEFS)" aktiviert sein muss (geht leider nicht als Modul). Diese sorgt dafür, dass es /proc/bus/usb gibt und man dieses mounten kann. Das ist bei mir nicht der Fall - da muss ich wohl leider meinen Kernel neu kompilieren...
    (Ich hoffe nur, das war's dann wirklich!)

    Martin



  • Martin G schrieb:

    (Ich hoffe nur, das war's dann wirklich!)

    Sollte es eigentlich schon gewesen sein.
    (Sorry, ich hab den Thread ganz übersehen. :))



  • nman schrieb:

    Martin G schrieb:

    (Ich hoffe nur, das war's dann wirklich!)

    Sollte es eigentlich schon gewesen sein.
    (Sorry, ich hab den Thread ganz übersehen. :))

    Leider nicht! Ich habe den Kernel neu kompiliert (mit o. g. Option). Das hat aber nichts gebracht.
    Weitere Suche mit Google hat mich auf die scheinbar fehlende Aktion gebracht:

    echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi

    Dadurch wird ein Zugriff auf den Memory-Stick ausgelöst und "cat /proc/scsi/scsi" liefert zunächst:

    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
    Vendor: Model: Rev:
    Type: <NULL> ANSI SCSI revision: ffffffff

    Nach ca. 5 Sekunden steht dann in /proc/scsi/scsi aber wieder:

    Attached devices: none

    und /dev/sda1 lässt sich immer noch nicht mounten.

    Ich fürchte, mein 2.2-er Kernel ist einfach zu alt für den USB-Stick. In /var/log/messages stehen nach o. g. Aktion folgende Zeilen:

    ar 12 18:20:02 toshi kernel: scsi singledevice 0 0 0 0
    Mar 12 18:20:05 toshi kernel: usb_control/bulk_msg: timeout
    Mar 12 18:20:07 toshi kernel: usb-storage: bus_reset() requested but not implemented
    Mar 12 18:20:07 toshi kernel: usb-storage: bus_reset() requested but not implemented
    Mar 12 18:20:08 toshi kernel: usb_control/bulk_msg: timeout
    Mar 12 18:20:12 toshi kernel: usb-storage: host_reset() requested but not implemented

    Offenbar hat das USB-Kernel-Modul ein "Kommunikationsproblem" mit dem Flash-Speicher.

    Falls ich mich irre, und es doch eine Abhilfe gibt (außer 'nen komplett neuen Kernel zu installieren, wozu ich im Moment keinen Nerv habe), bin ich für jeden Tipp dankbar!

    Martin



  • 😮 Oho, 2.2.
    Sowas hatte ich schon seit Jahren nicht mehr auf einem Desktop.
    Um genau zu sein habe ich nichtmal mehr einen Desktop mit 2.4; also kurz: Keine Ahnung ob und wenn ja wie das mit 2.2 geht. 🙂



  • nman schrieb:

    Oho, 2.2.
    Sowas hatte ich schon seit Jahren nicht mehr auf einem Desktop.

    Mit dem Kernel 2.6 wäre das ja keine Herausforderung 😉



  • @nman: Ich hab' jetzt mal den Kernel 2.4.23 installiert, da funktioniert der Zugriff auf den USB Memory-Stick auf Anhieb. Offenbar ersetzt der USB-Backport zum Kernels 2.2 doch nicht ganz die USB-Module des Kernels 2.4.

    Leider funktioniert meine PCMPIA-Netzwerkkarte jetzt nicht mehr, aber das ist ein anderes Problem... 😞
    (Dazu werde ich hier noch einen neuen Thread öffnen.)

    Martin



  • Martin G schrieb:

    PCMPIA-Netzwerkkarte

    Die würde bei mir auch nicht laufen... 🤡



  • People
    Can't
    Memorize
    Computer
    Industry
    Acronyms



  • Heißen die Dinger deswegen jetzt nicht offiziell schon PC-Cards? 🙂



  • nman schrieb:

    Heißen die Dinger deswegen jetzt nicht offiziell schon PC-Cards? 🙂

    Du meinst seitdem Notebooks Mainstream-tauglich sind?! 🤡



  • nman schrieb:

    Heißen die Dinger deswegen jetzt nicht offiziell schon PC-Cards? 🙂

    <nicht-ganz-sicher-sei>
    PC-Cards sind imho die 32 Bit Versionen.
    </nicht-ganz-sicher-sei>


Anmelden zum Antworten