PDA

View Full Version : regole UDEV


NZ
30-03-2008, 09:49
devo creare una regola UDEV per un disco esterno SATA-II che collego, tramite cassetti estraibili, direttamente alla porta SATA della scheda madre.

la regola giusta dovrebbe essere questa:

KERNEL=="sd*",ATTRS{serial}=="?????",SYMLINK+="DISCO%n"


devo sostituire ????? con il serial del mio disco sata!

problema: come recupero questo serial?

ecco l'output di udevinfo -a -p /sys/block/sdb

looking at device '/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{dev}=="8:16"
ATTR{range}=="16"
ATTR{removable}=="0"
ATTR{size}=="976773168"
ATTR{stat}==" 128 18 1162 1090 1 0 8 6 0 1096 1096"
ATTR{capability}=="12"

looking at parent device '/devices/pci0000:00/0000:00:07.0/host2/target2:0:0/2:0:0:0':
KERNELS=="2:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{type}=="0"
ATTRS{scsi_level}=="6"
ATTRS{vendor}=="ATA "
ATTRS{model}=="WDC WD5000AAKS-0"
ATTRS{rev}=="12.0"
ATTRS{state}=="running"
ATTRS{timeout}=="60"
ATTRS{iocounterbits}=="32"
ATTRS{iorequest_cnt}=="0x8e"
ATTRS{iodone_cnt}=="0x8e"
ATTRS{ioerr_cnt}=="0x0"
ATTRS{modalias}=="scsi:t-0x00"
ATTRS{evt_media_change}=="0"
ATTRS{queue_depth}=="31"
ATTRS{queue_type}=="simple"

looking at parent device '/devices/pci0000:00/0000:00:07.0/host2/target2:0:0':
KERNELS=="target2:0:0"
SUBSYSTEMS==""
DRIVERS==""

looking at parent device '/devices/pci0000:00/0000:00:07.0/host2':
KERNELS=="host2"
SUBSYSTEMS==""
DRIVERS==""

looking at parent device '/devices/pci0000:00/0000:00:07.0':
KERNELS=="0000:00:07.0"
SUBSYSTEMS=="pci"
DRIVERS=="sata_nv"
ATTRS{vendor}=="0x10de"
ATTRS{device}=="0x0054"
ATTRS{subsystem_vendor}=="0x10de"
ATTRS{subsystem_device}=="0xcb84"
ATTRS{class}=="0x010185"
ATTRS{irq}=="16"
ATTRS{local_cpus}=="f"
ATTRS{modalias}=="pci:v000010DEd00000054sv000010DEsd0000CB84bc01sc01i85"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""

looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""



manca proprio l'info sul serial :muro:
quando però faccio un udevinfo su dischi USB allora la voce ATTRS{serial} comapre.... :confused:


che devo fare??

NZ
31-03-2008, 19:15
ho cercato si google ma non ho trovato nulla in merito al mio problema :cry:

mi sembra strano che udevinfo mi dia mille informazioni ma non il serial...

...suggerimenti? :)

ilsensine
31-03-2008, 21:04
Qui SATA layer ci cova...sul mio disco ATA il serial è esportato correttamente...

ilsensine
31-03-2008, 21:15
Vedi anche qui:
https://issues.rpath.com/browse/RPL-1964
in particolare il commento del 05/Feb/08 09:08 AM
Puoi anche usare hdparm -i per estrarre il seriale, il resto sono alchimie poco divertenti negli script di udev.
E certo, un attributo serial non avrebbe fatto male a nessuno.

NZ
01-04-2008, 19:55
Puoi anche usare hdparm -i per estrarre il seriale

questo è l'output di hdparm -i /dev/sdb


Model=WDC WD5000AAKS-00YGA0
FwRev=12.01C02
SerialNo= WD-WCAS82859528
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?0?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7

* signifies the current active mode


se però inserisco il valore WD-WCAS82859528 nella regola
KERNEL=="sd*",ATTRS{serial}=="?????",SYMLINK+="DISCO%n"
non funziona per niente e il device /dev/DISCO non si crea :cry:

il dubbio è:
ATTRS{serial} ed SerialNo indicano lo stesso valore e sono cose differenti?

grazie ancora ;)

ilsensine
01-04-2008, 20:39
Certo che non funziona, il layer sata non esporta l'attributo "serial", da qui la complicazione descritta nel link che ho postato...

NZ
03-04-2008, 19:50
Certo che non funziona, il layer sata non esporta l'attributo "serial", da qui la complicazione descritta nel link che ho postato...

non ho capito molto quello che viene descritto in quel link :cry:

comunque non trovo sulla mia archlinux i comandi ata_id scsi_id eccetera....

palmy
04-04-2008, 00:05
Non so se può essere lo stesso problema (o simile), ma questo è quello che è successo a me e come l'ho risolto:

ho un disco SATA esterno collegato al PC con interfaccia eSATA; il problema è che, a differenza dell'USB, il disco SATA non viene montato automaticamente se non da root.
Non ho tentato di creare una regola UDEV perchè non saprei come farla, perciò ho semplicemente aggiunto a fstab una riga relativa al mio disco esterno e l'ho reso montabile da tutti gli utenti.

Sicuramente non è la soluzione più raffinata, ma non ho trovato di meglio e in ed in più funziona.