[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: udev und sg-devices



Am Freitag, den 09.12.2005, 10:39 +0100 schrieb Christian Frommeyer:

> Am Freitag 09 Dezember 2005 10:00 schrieb Peter Kuechler:
> > BUS=="scsi", SYSFS{model}=="Exabyte 110L    ",  SYMLINK="wechsler1"
> > BUS=="scsi", SYSFS{model}=="ULTRIUM-TD2     ",  SYMLINK="dlt1"
> >
> > So. Beim booten bekommt der Wechsler Exabyte 110L das generische
> > Device /dev/sg5 und der Link "wechsler1" zeigt tatsächlich auf sg5.
> > (Warum auch immer, ich versteh es bis jetzt nicht)
> 
> Wieso sollte er nicht? Schau doch mal ins sysfs was er da zu "Exabyte 
> 110L" findet.

Was glaubst du denn, wie lange ich auf diesen Ausschnitt geschaut habe:

linuxback2:~# udevinfo -a -p /sys/class/scsi_generic/sg6

udevinfo starts with the device the node belongs to and then walks up
the
device chain, to print for every device found, all possibly useful
attributes
in the udev key format.
Only attributes within one device section may be used together in one
rule,
to match the device for which the node will be created.

device '/sys/class/scsi_generic/sg6' has major:minor 21:6
  looking at class device '/sys/class/scsi_generic/sg6':
    KERNEL=="sg6"
    SUBSYSTEM=="scsi_generic"
    SYSFS{dev}=="21:6"

follow the "device"-link to the physical device:
  looking at the device chain at
'/sys/devices/pci0000:03/0000:03:08.0/host2/target2:0:1/2:0:1:0':
    BUS=="scsi"
    ID=="2:0:1:0"
    DRIVER=="st"
    SYSFS{device_blocked}=="0"
    SYSFS{iocounterbits}=="32"
    SYSFS{iodone_cnt}=="0x12a"
    SYSFS{ioerr_cnt}=="0x23"
    SYSFS{iorequest_cnt}=="0x12a"
    SYSFS{model}=="ULTRIUM-TD2     "
    SYSFS{queue_depth}=="2"
    SYSFS{queue_type}=="none"
    SYSFS{rev}=="4770"
    SYSFS{scsi_level}=="4"
    SYSFS{state}=="running"
    SYSFS{timeout}=="900"
    SYSFS{type}=="1"
    SYSFS{vendor}=="IBM     "

  looking at the device chain at
'/sys/devices/pci0000:03/0000:03:08.0/host2/target2:0:1':
    BUS==""
    ID=="target2:0:1"
    DRIVER=="unknown"

  looking at the device chain at
'/sys/devices/pci0000:03/0000:03:08.0/host2':
    BUS==""
    ID=="host2"
    DRIVER=="unknown"

  looking at the device chain at '/sys/devices/pci0000:03/0000:03:08.0':
    BUS=="pci"
    ID=="0000:03:08.0"
    DRIVER=="aic7xxx"
    SYSFS{class}=="0x010000"
    SYSFS{device}=="0x0080"
    SYSFS{irq}=="22"
    SYSFS{local_cpus}=="3"

SYSFS{modalias}=="pci:v00009005d00000080sv00009005sd0000E220bc01sc00i00"
    SYSFS{subsystem_device}=="0xe220"
    SYSFS{subsystem_vendor}=="0x9005"
    SYSFS{vendor}=="0x9005"

  looking at the device chain at '/sys/devices/pci0000:03':
    BUS==""
    ID=="pci0000:03"
    DRIVER=="unknown"

> > Das Bandlaufwerk ULTRIUM-TD2 bekommt /dev/sg6, aber der Link "dlt1"
> > zeigt nicht so wie ich es nach deinen Ausführungen erwarten würde
> > auf /dev/sg6, sonder auf /dev/nst0m. Warum?
> 
> Schau ins sysfs. Vermutlich findet er da zuerst einen Streamereintrag.

Soll das bedeuten, das der Link auf das Device gelegt wird, das er
zufällig zu erst findet? Weil also dieser Eintrag 

DRIVER=="st" 

vor diesem Eintrag 

KERNEL=="sg6" 

kommt? Wie nett.
Und was mach ich wenn ich den Link nicht nach st haben will sondern nach
sg6? Wenn er einfach den ersten Treffer nimmt habe ich darauf keinen
Einfluss, oder?

> > Warum nicht auf /dev/st0, wie es mir noch eher einleuchten würde?
> > (das erste Standardbandlaufwerk, das als Device Node auch vorhanden
> 
> st0 ist rewinding mode1, nst0m ist non rewinding mode 2, das ist 
> entweder eine "sichere" Alternative, damit man sich nicht aus Versehen 
> das Band überschreibt oder liegt am sysfs-Eintrag.
> Google spuckt die Beschreibung der Nodes übrigens sehr bereitwillig aus.
> 
> > ist) Änder ich die Zeile um in
> > BUS=="scsi", SYSFS{model}=="ULTRIUM-TD2     ",  SYMLINK="dlt1 st0"
> 
> man udev!

Was denkst Du was ich hier lese?
Da steht kurz übersetzt, das man mehrere Links angeben kann, die durch
Leerzeichen getrennt sein müssen. Die Links bilden dann offensichtlich
eine Kette (jedenfalls war das bei mir so), von der das letzte Glied auf
das Falsche Device zeigt, nämlich auf /dev/nst0m :-( 
(oder besser gesagt es zeigt nicht auf das Device das ich gerne hätte)

> Gruß Chris
> PS: Ich besitze kein eigenes udev. Was hier steht kam innerhalb von 3 
> Minuten aus dem Netz ;)

DAS hab ich alles schon durch, sonst würde ich hier nicht schreiben.
Aber manchmal will der Groschen einfach nicht fallen. Vieleicht bin ich
ja nach 15 Jahren Unix zu blöd um mans zu lesen. Oder mit 46 Jahren zu
alt für EDV:-(


-- 
Peter Küchler
Planungsverband Ballungsraum 
Frankfurt / Rhein-Main 
Poststraße 16 
60329 Frankfurt am Main 
Tel.: +49 69 2577-1301
Fax : +49 69 2577-41301

E-Mail: peter.kuechler@planungsverband.de 
www.planungsverband.de



Reply to: