# [TIP]Mappare i device con udev

## abaddon83

Ciao a tutti spero che non sia stato già fatto, è una piccola guida per mappare i device usb in gentoo in modo diverso dal solito /dev/sda per esempio

INFO

Dunque questo tips è utile per tutti quelli che hanno bisogno che una periferica usb-storage  e non, sia sempre identifcato con un ben preciso device  es. /dev/chiavetta. In questo modo ogni vostro dipositivo verrà abbinato ad un suo proprio ed unico device e non ad uno generico tipo sda.

COSA SERVE

-hotplug

-sistema con udev

-kernel 2.6

-sysfs montato

CONFIGURAZIONE

Prima di iniziare collegate il vostro device, nel mio caso una fotocamera  :Razz: 

e con dmesg guardate a che device ve l'ha abbinata.

```

#dmesg

usb 4-1: new full speed USB device using address 2

midi: probe of 4-1:1.0 failed with error -5

scsi0 : SCSI emulation for USB Mass Storage devices

  Vendor: Digital   Model: Image Device      Rev: 1.00

  Type:   Direct-Access                      ANSI SCSI revision: 02

SCSI device sda: 32768 512-byte hdwr sectors (17 MB)

sda: assuming Write Enabled

sda: assuming drive cache: write through

 sda: sda1

Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0

Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0

USB Mass Storage device found at 2

```

Dovreste trovare qualche cosa tipo "sda", a questo punto lanciate il comando "udevinfo" che vi restituirà tutti i parametri della macchina fotografica in questo caso  :Smile: 

```

#udevinfo -a -p /sys/block/sda

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.

  looking at class device '/sys/block/sda':

    SYSFS{dev}="8:0"

    SYSFS{range}="16"

    SYSFS{removable}="1"

    SYSFS{size}="32768"

    SYSFS{stat}="      21      254      282      550        0        0        0        0        0     550      550"

follow the class device's "device"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/host0/0:0:0:0':

    BUS="scsi"

    ID="0:0:0:0"

    SYSFS{detach_state}="0"

    SYSFS{device_blocked}="0"

    SYSFS{max_sectors}="240"

    SYSFS{model}="Image Device    "

    SYSFS{queue_depth}="1"

    SYSFS{rev}="1.00"

    SYSFS{scsi_level}="3"

    SYSFS{state}="running"

    SYSFS{timeout}="30"

    SYSFS{type}="0"

    SYSFS{vendor}="Digital "

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/host0':

    BUS=""

    ID="host0"

    SYSFS{detach_state}="0"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0':

    BUS="usb"

    ID="4-1:1.0"

    SYSFS{bAlternateSetting}=" 0"

    SYSFS{bInterfaceClass}="08"

    SYSFS{bInterfaceNumber}="00"

    SYSFS{bInterfaceProtocol}="50"

    SYSFS{bInterfaceSubClass}="06"

    SYSFS{bNumEndpoints}="03"

    SYSFS{detach_state}="0"

    SYSFS{iInterface}="00"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb4/4-1':

    BUS="usb"

    ID="4-1"

    SYSFS{bConfigurationValue}="1"

    SYSFS{bDeviceClass}="00"

    SYSFS{bDeviceProtocol}="00"

    SYSFS{bDeviceSubClass}="00"

    SYSFS{bMaxPower}="500mA"

    SYSFS{bNumConfigurations}="1"

    SYSFS{bNumInterfaces}=" 1"

    SYSFS{bcdDevice}="0100"

    SYSFS{bmAttributes}="80"

    SYSFS{detach_state}="0"

    SYSFS{devnum}="2"

    SYSFS{idProduct}="0822"

    SYSFS{idVendor}="0461"

    SYSFS{manufacturer}="DigitalImageDevice"

    SYSFS{maxchild}="0"

    SYSFS{product}="Mega-Pixel Digital Camera"

    SYSFS{serial}="01.00.00"

    SYSFS{speed}="12"

    SYSFS{version}=" 1.00"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb4':

    BUS="usb"

    ID="usb4"

    SYSFS{bConfigurationValue}="1"

    SYSFS{bDeviceClass}="09"

    SYSFS{bDeviceProtocol}="00"

    SYSFS{bDeviceSubClass}="00"

    SYSFS{bMaxPower}="  0mA"

    SYSFS{bNumConfigurations}="1"

    SYSFS{bNumInterfaces}=" 1"

    SYSFS{bcdDevice}="0206"

    SYSFS{bmAttributes}="c0"

    SYSFS{detach_state}="0"

    SYSFS{devnum}="1"

    SYSFS{idProduct}="0000"

    SYSFS{idVendor}="0000"

    SYSFS{manufacturer}="Linux 2.6.9-gentoo-r1 uhci_hcd"

    SYSFS{maxchild}="2"

    SYSFS{product}="Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3"

    SYSFS{serial}="0000:00:1d.2"

    SYSFS{speed}="12"

    SYSFS{version}=" 1.10"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2':

    BUS="pci"

    ID="0000:00:1d.2"

    SYSFS{class}="0x0c0300"

    SYSFS{detach_state}="0"

    SYSFS{device}="0x24c7"

    SYSFS{irq}="9"

    SYSFS{subsystem_device}="0x102a"

    SYSFS{subsystem_vendor}="0x1734"

    SYSFS{vendor}="0x8086"

  looking at the device chain at '/sys/devices/pci0000:00':

    BUS=""

    ID="pci0000:00"

    SYSFS{detach_state}="0"

```

a noi interessa solo la parte che inzia con BUS="scsi", circa questa:

```

  BUS="scsi"

    ID="0:0:0:0"

    SYSFS{detach_state}="0"

    SYSFS{device_blocked}="0"

    SYSFS{max_sectors}="240"

    SYSFS{model}="Image Device    "

    SYSFS{queue_depth}="1"

    SYSFS{rev}="1.00"

    SYSFS{scsi_level}="3"

    SYSFS{state}="running"

    SYSFS{timeout}="30"

    SYSFS{type}="0"

    SYSFS{vendor}="Digital "

```

e in particolar modo questi 2 parametri:

-SYSFS{vendor}="Digital"

-SYSFS{model}="Image Device"

aprite il vostro editor di fiducia in /etc/udev/rules.d/10-local.rules

```

#nano /etc/udev/rules.d/10-local.rules

```

scorrete tutto il file fino ad arrivare in fondo e aggiungete la seguente riga:

```

BUS="scsi",SYSFS{vendor}="Digital",SYSFS{model}="Image Device", NAME="%k", SYMLINK="fuj-camera%n"

```

il %n nel nome serve a identificare la partizione, es fuj-camera0 , fuj-camera1, ecc...

Createvi una cartella in /mnt/fuj-camera per esempio e aprite il file /etc/fstab

```

#nano /etc/fstab

```

aggiungente quindi la seguente riga:

```

/dev/fuj-camera1        /mnt/fuj-camera  auto            noauto,users         0 0

```

a questo punto basterebbe montare la periferica in questo modo

```

#mount /mnt/fuj-camera

```

e il gioco è fatto.

RENDERE IL DEVICE AUTOMOUNT

Dunque udev ogni volta che sente una nuova periferica va a cercare in /etc/dev.d/nome_dev/*.dev ed esegue qualsiasi cosa che termina con .dev

basta quindi creare una nuova dir e  un piccolo script:

```

#mkdir /etc/dev.d/fuj-camera1

#nano /etc/dev.d/fuj-camera1/automount.dev

```

e inserire queste righe:

```

#!/bin/bash

if [ "$ACTION" == "add" ] ; then

 logger -t dev.d "Mounting external HD"

 /bin/mount /mnt/fuj-camera

fi

if [ "$ACTION" == "remove" ] ; then

 logger -t dev.d "Unmounting external HD"

 /bin/umount /mnt/fuj-camera

fi

```

Salvare e uscire.

ora ogni volta che inserire/toglierete il device, esso verrà automaticamente montato e smontato

Spero posa essere utile a qualche d'uno... non bastonatemi troppo.. è il mio primo TIP  :Razz: 

Ciao

Per maggiori info ecco il link da dove ho preso spunto:

http://www.slacky.it/tutorial/udev/HOWTO-udev.html

EDIT:

Aggiornato su suggerimento di [hammerfall]

----------

## fedeliallalinea

Bel tip ora lo aggiungo ai post utilissimi

----------

## abaddon83

miticooo  :Smile: 

Grazie

Ciao

----------

## randomaze

Interessante... stavo giusto pianificando il passaggio a udev entro fine mese  :Smile: 

----------

## fedeliallalinea

 *randomaze wrote:*   

> Interessante... stavo giusto pianificando il passaggio a udev entro fine mese 

 

Non e' nulla di doloroso puoi farlo in 5 minuti

----------

## randomaze

 *fedeliallalinea wrote:*   

> Non e' nulla di doloroso puoi farlo in 5 minuti

 

Si, lo immagino... ma preferisco fare in maniera "comoda"  :Wink: 

In merito al montare automaticamente le chiavette USB può essere utile rileggere anche questo thread

----------

## gutter

@abaddon83: ottimo tip   :Wink: 

----------

## [hammerfall]

Voglio farti un appunto: non e' molto corretto mettere le proprie regole nel file 50-udev.rules in quanto qui sono presenti le regole base del sistema.

Per mettere le proprie regole esiste l'apposito file

```
/etc/udev/rules.d/10-local.rules
```

che viene interpellato prima del file delle regole base.

Inoltre non sono d'accordo su 

```
NAME="fuj-camera%n"
```

 in genere e' piu' comodo fare 

```
 NAME="%k", SYMLINK="fuj-camera%n"
```

In questo modo il device avra' il nome che avrebbe usato il kernel (utile nel caso di malfunzionamenti che blocchino il device) e poi viene creato un link simbolico col nome che decidi tu e al quale aggancerai le cartelle nel fstab. In questo modo anche se il nome di device e' occupato (altre periferiche scsi, unmount non corretti etc) il symlink puntera' sempre al device giusto.

A me capitano situazioni problematiche con un hd esterno usb2. ogni tanto, forse a causa del chip che converte usb<->ide l'hd muore e devo staccare e riattaccare il cavo per farlo riavviare. il nome device originale rimane pero' occupato (sda nel mio caso) e il disco viene visto come sdb. Con questo sistema il mio symlink punta sempre al posto giusto    :Twisted Evil: 

----------

## Josuke

veramente un ottimo tip...mi serviva proprio grazie mille  :Smile: 

----------

## abaddon83

 *[hammerfall] wrote:*   

> Voglio farti un appunto: non e' molto corretto mettere le proprie regole nel file 50-udev.rules in quanto qui sono presenti le regole base del sistema.
> 
> Per mettere le proprie regole esiste l'apposito file
> 
> ```
> ...

 

hai ragione, solo che dove mi son documentato io addirittura dicevano di cambiare in udev.conf il percorso delle rulles e creare un altro file tipo udev.rulles solo che facendo così la prima volt ami tagliai completamente il file 50-udev.rules  e parecchia roba cesso d'andare... -_-'' per questo avevo ripiegato lì.

comunque grazie dell'appunto ora correggo.

non ho ben capito la storia del sda e sdb e dei blocchi... guardando il dmseg infatti anche dopo queste modifiche la periferica usb me la becca sempre come sda e poi è udev che me la fa vedere anche come "fuj-camera" quindi in teoria se sda risulta occupata per qualsiasi motivo passa a sdb e udev aggiona fuj-camera a sdb.

Sbaglio?

Grazie a tutti  :Smile: 

----------

## [hammerfall]

allora, la mia situazione e' particolare, in quanto se la periferica in oggetto funzionasse correttamente, il comportamento dovrebbe essere quello che hai detto tu: se attacco la camera mi crea /dev/fujitsu1 e se la tolgo penso che lo tolga o comunque marchi il device come non in uso cosi' che riattacando la periferica questa venga riassociata al medesimo nome di device.

Io pero' ho sto controller che fa i capricci, quindi il device /dev/sda (creato quando attacco l'hd) rimane occupato e presente quando il disco si blocca. quindi al successivo inserimento compare un altro nome (/dev/sdb) e ritrovo anche /dev/sda (che pero' risulta inaccessibile).

La stessa cosa accadrebbe anche col tuo set di regole: mi ritroverei con un /dev/disco1 e un /dev/disco2,  utilizzando la mia versione invece ho si' un nome device diverso pero' il symlink punta sempre a quello giusto  :Smile: 

Trovo comodo questo modo di scrivere le regole in questo modo anzitutto per ovviare il mio personale problema e in secondo luogo per mantenere anche i nomi standard dei device, comunque queste sono questioni di gusti personali  :Razz: 

----------

## gutter

 *[hammerfall] wrote:*   

> 
> 
> [CUT]
> 
> Trovo comodo questo modo di scrivere le regole in questo modo anzitutto per ovviare il mio personale problema e in secondo luogo per mantenere anche i nomi standard dei device, comunque queste sono questioni di gusti personali 

 

Concordo con te in questo modo si ottengono sia i device classici che il simlink. Penso che questa sia la soluzione migliore   :Wink: 

----------

## motaboy

 *[hammerfall] wrote:*   

> Io pero' ho sto controller che fa i capricci, quindi il device /dev/sda (creato quando attacco l'hd) rimane occupato e presente quando il disco si blocca. quindi al successivo inserimento compare un altro nome (/dev/sdb) e ritrovo anche /dev/sda (che pero' risulta inaccessibile).

 

Hai riportato il tuo problema a chi di dovere?

----------

## gutter

 *motaboy wrote:*   

> 
> 
> [CUT]
> 
> Hai riportato il tuo problema a chi di dovere?

 

Credo che il problema sia dell harddisk rimovibile, quindi si dovrebbe lamentare con il produttore   :Wink: 

----------

## abaddon83

ho capito  :Smile:  modificato il TIP come suggerito  :Smile: 

Thx

----------

## [hammerfall]

 *motaboy wrote:*   

> Hai riportato il tuo problema a chi di dovere?

 

E' un problema dell' HW infatti mi fa lo stesso scherzo anche con windows. Ho notato pero' che se da win abilito la politica "rimozione veloce" anziche' "massime prestazioni" si pianta molto meno di frequente. Evidentemente il s.o. per massimizzare la velocita' differisce le scritture tenendo i dati in ram per poi spedirli in blocco a intervalli regolari, peccato che cio' probabilmente saturi la banda e/o faccia sbarellare il mio controller. Purtroppo non so come impostare un  settaggio simile anche qui in linux.

p.s.: scusate se sono andato un po' ot.   :Rolling Eyes: 

----------

## randomaze

 *[hammerfall] wrote:*   

> Ho notato pero' che se da win abilito la politica "rimozione veloce" anziche' "massime prestazioni" si pianta molto meno di frequente.

 

"Massime prestazioni" dovrebbe essere la versione bufferizzata.

Hai provato a dare l'opzione sync nell'fstab?

----------

## Josuke

scusate ma ho un problema ..sembra che nel secondo modo non mi vada...forse son tonno io per se faccio

```
BUS="scsi",SYSFS{vendor}="        ",SYSFS{model}="USB DISK Pro    ", NAME="usbdisk_pro%n"
```

va..se invece faccio:

```
BUS="scsi",SYSFS{vendor}="        ",SYSFS{model}="USB DISK Pro    ", NAME="%k", SYMLINK="usbdisk_pro%n"
```

non ci pensa nemmeno ad andare   :Shocked: 

----------

## abaddon83

io il secondo metodo non l'ho ancora provato, appena lo provo ti faccio sapere

----------

## Nexus78

Ciao a tutti,

ho mappato un hd usb esterno, un lettore mp3 ed una penna usb, 

```

BUS="scsi",SYSFS{vendor}="USB 2.0",SYSFS{model}="Storage Device", NAME="%k", SYMLINK="olidata%n"

BUS="scsi",SYSFS{vendor}="SanDisk",SYSFS{model}="Cruzer Micro", NAME="%k", SYMLINK="sandisk%n"

BUS="scsi",SYSFS{vendor}="Digital ",SYSFS{model}="MP3 Music Player", NAME="%k", SYMLINK="magnex%n"

```

per l'hd nessun problema ma il lettore e la penna non vanno, quando provo a montarle mi da questo errore :

```

mount: /dev/sandisk1 is not a block device

```

Se invece provo a montarli con il loro device *reale* (sda1,sdc1,sdd1...) fila tutto liscio

questo e' l'fstab :

```

/dev/sandisk1           /mnt/usbstick   vfat            user,exec,rw,auto,mask=0  0 0

/dev/olidata1           /mnt/share   vfat  user,exec,rw,auto,umask=0 0 0

/dev/magnex1           /mnt/mp3   vfat  user,exec,rw,auto,umask=0 0 0

```

idee?

RISOLTO

Ho aggiunto KERNEL="sd?1" nelle rules di UDEV

```

BUS="scsi",SYSFS{vendor}="USB 2.0",SYSFS{model}="Storage Device", NAME="%k", SYMLINK="olidata%n"

BUS="usb",SYSFS{serial}="SNDKA9B554322E708401", NAME="%k", KERNEL="sd?1", SYMLINK="sandisk%n"

BUS="scsi",SYSFS{vendor}="Digital ",SYSFS{model}="MP3 Music Player", KERNEL="sd?1", NAME="%k", SYMLINK="magnex%n"

```

----------

## gutter

Volevo fare una precisazione riguardo la parte relativa all'automount. Così per come è scritta quella sezione il discorso in pratica non funziona dal momento che come descritto nella pagina ma di udev:

 *Quote:*   

> 
> 
>        After device node creation, removal, or network device  renaming,  udev
> 
>        executes  the  programs  in  the directory tree under /etc/dev.d/.  The
> ...

 

Ma nel nostro caso le regole implicano che DEVNAME="sda" e quindi gli script di automount non verranno ma i eseguiti. Le regole corrette affinchè tali script vengano eseguiti sono (nel mio caso particolare):

```

BUS="scsi",SYSFS{vendor}="        ",SYSFS{model}="EyeQ 3132z1.00", SYMLINK="%k", NAME="digital-camera%n" 

BUS="scsi",SYSFS{vendor}="OTi     ",SYSFS{model}="Flash Disk      ", SYMLINK="%k", NAME="usbkey%n"

```

Ovvero il device che creiamo è nel primo caso digital-camera e sdX sarà un link simbolico a quest'ultimo.

Se qualcuno ha trovato una soluzione più elegante me lo faccia sapere  :Wink: 

----------

## cloc3

 *gutter wrote:*   

> 
> 
> ...
> 
> Se qualcuno ha trovato una soluzione più elegante me lo faccia sapere 

 

Naturalmente non sono io quel qualcuno, ma posso confermare che la tua precisazione è essenziale.

Altrimenti, riuscivo a creare il dispositivo, ma non a realizzare il mount.

E naturalmente, grazie  abaddon83 per l'ottimo tip.

----------

## federico

Ho un problema con l'automounting, ho impostato come suggerito ma il montaggio automatico non funziona tramite script e non riesco a verificare che cosa accada...

```

altair philips_mp3 # ls /dev/philipsMp3_

philipsMp3_   philipsMp3_0  philipsMp3_1  

altair philips_mp3 # ll /dev/philipsMp3_*

lrwxrwxrwx  1 root root 3 21 feb 21:01 /dev/philipsMp3_ -> sda

lrwxrwxrwx  1 root root 3 21 feb 21:01 /dev/philipsMp3_0 -> sg0

lrwxrwxrwx  1 root root 4 21 feb 21:01 /dev/philipsMp3_1 -> sda1

altair philips_mp3 # mount | grep philips

altair philips_mp3 # mount /mnt/philipsMp3_1/

altair philips_mp3 # ls /mnt/philipsMp3_1/

settings.sec  _system

altair philips_mp3 # 

```

Edit.. ma sg0 che e' ?

----------

## gutter

Domanda stupidissima (scusami in anticipo): hai dato i permessi di esecuzione agli script? 

Posta un:

```
 ls -lR /etc/dev.d/
```

----------

## federico

penso di si ..

```

altair everything # ls -lR /etc/dev.d/

/etc/dev.d/:

totale 0

drwxr-xr-x  2 root root 48  3 ago  2004 default

drwxr-xr-x  2 root root 80  9 feb 00:32 net

drwxr-xr-x  2 root root 80 21 feb 20:51 philips_mp3

/etc/dev.d/default:

totale 0

/etc/dev.d/net:

totale 4

-rwxr-xr-x  1 root root 537  9 feb 23:36 hotplug.dev

/etc/dev.d/philips_mp3:

totale 4

-rwxr-xr-x  1 root root 231 21 feb 21:01 automount.dev

altair everything # 

altair everything # 

```

----------

## gutter

Almeno ho capito l'errore  :Wink: 

Il nome della dir che devi usare deve concidere con quello del device sotto /dev/, che nel tuo caso è philipsMp3_1.

Per risolvere ti basta lanciare il comando:

```

mv /etc/dev.d/philips_mp3 /etc/dev.d/philipsMp3_1
```

----------

## federico

Avevo incasinato le dir, l'ha montato da solo ora, c'e' da vedere quanto ci mette per smontarlo anche  :Smile:  (Ammesso che lo smonti...)

Ma l'opzione "users" nell'fstab non dovrebbe permettere anche agli utenti non root di scrivere sul device?

----------

## gutter

Dovrebbe permettere anche agli utenti che non l'hanno momtato di smontarlo.

----------

## federico

 *gutter wrote:*   

> Dovrebbe permettere anche agli utenti che non l'hanno momtato di smontarlo.

 

C'e' un'opzione che permetta agli utenti che non l'hanno montato di scriverci?

----------

## gutter

In questo modo:

```
/dev/digital-camera1    /mnt/digital-camera    vfat     noauto,users,umask=0000
```

Chiunque può scriverci e montare e/o smontare.

----------

## federico

Ah molto tattico.. ora si inizia a ragionare ^^

----------

## skakz

salve,

ho due problemini:

1) non mi funziona l'automount per il mio hd esterno

```

omega root # ls -aFl /etc/dev.d/maxtor1/automount.dev

4,0K -rwxr-xr-x  1 root root 219 14 mag 16:33 /etc/dev.d/maxtor1/automount.dev*

omega root # cat /etc/dev.d/maxtor1/automount.dev

#!/bin/bash

if [ "$ACTION" == "add" ] ; then

 logger -t dev.d "Mounting external HD"

 /bin/mount /mnt/maxtor

fi

if [ "$ACTION" == "remove" ] ; then

 logger -t dev.d "Unmounting external HD"

 /bin/umount /mnt/maxtor

fi

omega root #

```

2) non ho capito che regole usare per il mio lettore mp3: come qualcunò avrà già letto qualche post fà ho un lettore della magnex che ha una memoria interna e una removibile (SD o MMC), quindi in pratica stesso "vendor" e "model"

```

lsscsi

[6:0:0:0]    disk    Maxtor   OneTouch         0201  /dev/sda

[7:0:0:0]    disk    Digital  MP3 Music Player 0100  /dev/sdb

[7:0:0:1]    disk    Digital  MP3 Music Player 0100  /dev/sdc

```

```

udevinfo -a -p /sys/block/sdb

[cut]

    BUS="scsi"

    ID="7:0:0:0"

    DRIVER="sd"

    SYSFS{detach_state}="0"

    SYSFS{device_blocked}="0"

    SYSFS{max_sectors}="240"

    SYSFS{model}="MP3 Music Player"

    SYSFS{queue_depth}="1"

    SYSFS{queue_type}="none"

    SYSFS{rev}="0100"

    SYSFS{scsi_level}="5"

    SYSFS{state}="running"

    SYSFS{timeout}="30"

    SYSFS{type}="0"

    SYSFS{vendor}="Digital "

[cut]

```

```

udevinfo -a -p /sys/block/sdc

[cut]

    BUS="scsi"

    ID="7:0:0:1"

    DRIVER="sd"

    SYSFS{detach_state}="0"

    SYSFS{device_blocked}="0"

    SYSFS{max_sectors}="240"

    SYSFS{model}="MP3 Music Player"

    SYSFS{queue_depth}="1"

    SYSFS{queue_type}="none"

    SYSFS{rev}="0100"

    SYSFS{scsi_level}="5"

    SYSFS{state}="running"

    SYSFS{timeout}="30"

    SYSFS{type}="0"

    SYSFS{vendor}="Digital "

[cut]

```

le regole che ho usato sono

```

BUS="scsi",SYSFS{vendor}="Maxtor",SYSFS{model}="OneTouch",KERNEL="sd*",NAME="%k",SYMLINK="maxtor%n"

BUS="scsi",SYSFS{vendor}="Digital",SYSFS{model}="MP3 Music Player",KERNEL="sd*",NAME="%k",SYMLINK="magnex%n"

```

ma non mi crea il link /dev/magnex2 a sdb1... avete idea di come risolvere?

```

omega root # udevstart

omega root # ls /dev/ma* -Afl

lrwxrwxrwx  1 root root 3 15 mag 16:16 /dev/magnex -> sdc

lrwxrwxrwx  1 root root 4 15 mag 16:16 /dev/magnex1 -> sdc1

lrwxrwxrwx  1 root root 3 15 mag 16:16 /dev/maxtor -> sda

lrwxrwxrwx  1 root root 4 15 mag 16:16 /dev/maxtor1 -> sda1

```

----------

## skakz

*up*

----------

## skakz

proprio nessuno?

----------

## neon

 *darkdude wrote:*   

> [...] ho un lettore della magnex che ha una memoria interna e una removibile (SD o MMC), quindi in pratica stesso "vendor" e "model"

 

Si ma almeno il "serial" della periferica deve essere diverso, io avevo mappato il mio pendrive in questo modo ma ora non ricordo i parametri.

Per quanto riguarda il mount umount automatico io te lo sconsiglio (solo il mount potrebbe essere utile). A che serve smontare l'hd dopo che lo hai staccato?

----------

## Cazzantonio

hai provato ad usare la stringa " ID" come identificatore? mi pare sia l'unica cosa che hanno di diverso quelle due memorie...

----------

## skakz

serial è lo stesso per tutti e due, mentre ID varia a seconda di quanti dispositivi hai attivi (o attivato in precedenza), quindi ad un riavvio non funzionerebbe più...

----------

## bandreabis

Si può fare questo mapping anche se si usa ivman e pmount?

Andrea

----------

## bandreabis

up?

----------

## lucapost

funge ancora questo metodo? qualcuno lo sta ancora utilizzando o bisogna tener conto di qualche aggiornamento?

----------

