PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Überprüfen von USB Massenspeicher Geräte-Treibern



caegger
04-04-2007, 15:59
Hallo,

kennt jemnad eine Möglichkeit wie man mittels Shell Skript einen USB Massenspeicher Geräte-Treiber z.B. /etc/sda1 oder /etc/sdb1 auf Funktion testen kann?
Ich möchte einfach nur wissen, ob hinter diesem Treiber aktuell ein Gerät eingehangen ist.

Gruß

cv

mehlvogel
04-04-2007, 16:40
Wenn du nur wissen willst, ob ein bestimmtes Dateisystem gemountet wurde, solltest du dir die Datei /etc/mtab anschauen, ansonsten kannst du siche rüber /proc oder /sys herausfinden, ob ein Gerät erkannt wurde oder nicht.

peschmae
04-04-2007, 20:13
Eventuell ist auch ein "file -s /dev/sdxy" oder so ganz nützlich.

MfG Peschmä

caegger
05-04-2007, 07:15
Erstmal vielen Dank,

weiß auch jemand wo ich den entsprechenden dynamischen Eintrag im sys/ Fs , Kernel 2.6.20, finde?
Mein Ziel ist es zu prüfen, welcher SCSI Geräte-Treiber für ein USB Gerät verwendet wurde, um dieses dann mittels USB Agent zu mounten. Dabei habe ich das Problem, dass für die USB Ports die jeweiligen SCSI Treiber dynamisch festgelegt werden, z.B sda1 o. sdb1.

Gruß

cv

almoeli
05-04-2007, 08:34
Hi,

das Thema hatten wir doch schon in unserer letzten Konversation angesprochen (der Thread über udev).
Ich kann nur wieder auf usb-mount und die sg3_utils verweisen:

http://users.actrix.co.nz/michael/usbmount.html

und sg3_utils:

http://sg.torque.net/sg/sg3_utils.html

Schau dir im usb-mount skript die Funktionen

allUsbScsiUniqID
diskDevfromUniqID
diskDevfromDevPath
scsiPartitions

an. Dort wird gezeigt wie man mit Hilfe des sysfs und dem Tool sg_map aus den sg3_utils sowie fdisk herausbekommt, auf welches Gerät und welche Partitionen ein USB Massenspeicher eingehängt wurde.

Gruß

almoeli

caegger
05-04-2007, 09:02
moin,

da hatte ich auch bereits, leider stehen mir die entsprechenden Tools, sg_map u.sg3_utils, aus Performance Gründen (Embedded) nicht zur Verfügung. Daher kann ich auch das Skripting aus USB-mount nicht verwenden. Ich versuch über die eingehängen Geräte bzw. Treiber, eine Verknüpfung zwischen den entsprechenden SCSI Treiber und dem USB Gerät herzustellen, und hieraus den USB-Agent zu erstellen. Für einen Por tfunktioniert es bereits einwandfrei. Das Problem ist der 2 Port, un die damit entsprechende variable Zuweisung der SCSI Treiber, sda1 u. sdb1.

Gruß

CV

almoeli
05-04-2007, 10:03
Wenn du auf deinem Embedded System Shell Skripten nutzen kannst, dann langt die Performace wohl auch für sg_map. Das Tool macht nämlich nichts anderes als das sysfs an den richtigen Stellen auszulesen und die Informationen passend zusammen zu setzen. Damit ist das Tool auch um einiges performanter als wie wenn du versuchst diese Informationen mit Shell Befehlen zu extrahieren.
Und zusammen mit den genannten Funktionen aus dem usb-mount solltest du ein minimalistisches Skript herstellen können, welches dynamisch jeden usb Stick (auch mit mehreren Partitionen) erkennt und mountet.
Hast du bestimmte Vorannahmen, so kannst du die entsprechende Stelle an der diese Informationen ermittelt werden einfach rausnehmen.

Gruß

almoeli