Hi Johannes,
On Fri, Jul 09, 2004 at 00:20:42 +0200, Johannes Richter wrote:
Es muss doch moeglich sein aus der /proc/scsi/scsi auf den Device Eintrag zu schliessen ? Hat da noch jemand eine Idee ?
Leider geht das nicht so einfach. Hier mal eine Beispiel-Ausschrift eines System mit einer echten SCSI-Platte (sda) und zwei USB-Sticks, von denen einer gesteckt war (sdb) und der andere momentan gesteckt ist (sdc):
/proc/scsi/scsi: Attached devices: Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: PLEXTOR Model: CD-ROM PX-40TS Rev: 1.11 Type: CD-ROM ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: QUANTUM Model: ATLAS_V__9_WLS Rev: 0230 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: USB 2.0 Model: Mobile Disk Rev: 2.00 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: JMTek Model: USBDrive Rev: 7.77 Type: Direct-Access ANSI SCSI revision: 02
/proc/scsi/usb-storage-0/1: Host scsi1: usb-storage Vendor: TTI-TTI Product: U20 Mobile Disk Serial Number: 4C9A08AE3FE1CA01 Protocol: Transparent SCSI Transport: Bulk GUID: 126f21684c9a08ae3fe1ca01 Attached: 0
/proc/scsi/usb-storage-1/2: Host scsi2: usb-storage Vendor: JMTek Product: USBDrive Serial Number: None Protocol: Transparent SCSI Transport: Bulk GUID: 058f93800000000000000000 Attached: 1
Das Vorgehen ist nun, die Dateien /proc/scsi/usb-storage-X/Y durchzugehen, nach "Attached: Yes" (bei aelters Kernels "Attached: 1") zu suchen und das Feld "Host scsi?:" dem n-ten "Direct-Access"-Eintrag in /proc/scsi/scsi zuzuordnen. Fuer n=1 ist es dann sda, fuer n=2 sdb, usw.
Ich habe ein kleines Shellskript geschrieben, das diese Methode verwendet. Es liefert beim Aufruf alle /dev/sd? zurueck, die gesteckte usb-storage Devices repraesentieren und sollte auch mit an- und abziehen zurechtkommen. Probiers mal aus:
http://chris.silmor.de/find_usbstick.sh
bye, Chris