Girovagando un po’ per le regole di udev, sono riuscito a trovare delle cose molto interessanti per quanto riguarda la gestione dei dispositivi da parte di Ubuntu.
Come gia’ accennato in questo articolo, e’ inutile creare dei punti di montaggio nella tabella dei filesystem (/etc/fstab) perche’ cosi’ facendo andremmo ad interferire con le udev.rules.
Per il momento vengono utilizzati entrambi i subsystem IDE e SCSI (forniti da ide e libata) e a conclusione di questo, se ancora abbiamo delle entry in /etc/fstab riguardanti cdrom e dischi usb, sarebbe opportuno toglierli. E’ innegabile che alcuni filesystem necessitino di permessi e che solitamente si intervenga scrivendo il punto di montaggio e gli altri parametri in /etc/fstab, ma dopo aver letto questo HOWTO sono convinto sia possibile modificare device,permessi e quant’altro imparando bene come si crea una regola per udev.
Vi invito a leggerlo, specificando che le regole di udev fornite da Ubuntu sono ottime e gia’ impostate al meglio…quindi potrebbe tornare utile imparare la semantica delle rules per far riconoscere ad udev una fotocamera, o un altro dispositivo non perfettamente riconosciuto o con delle regole errate.

La catena di eventi che mette in moto il montaggio di un dispositivo e’ impressionante. Per conoscere le regole attuali, ad esempio, del nostro disco interno (sda):

udevinfo -a -p /sys/block/sda

La lunga lista mostra tutte le regole prese da subdirectory (/in /sys) con nomi improponibili:

/devices/pci0000:00/0000:00:1d.7/usb5/5-5/5-5:1.0/host7/target7:0:0/7:0:0:2

La gestione manuale, per fortuna, si concentra in

/etc/udev/rules.d/

In particolare, i files che utilizza ubuntu sono:

1- permessi

40-permissions.rules

2- Symlink ai devices

60-symlinks.rules

3- Nomi dispositivi

20-names.rules

E qui troviamo finalmente la conferma che la Canonical imposta come dispositivo per i cdrom un subsystem di default “scsi” e device /dev/scd* (novita’):

# SCSI CD-ROM devices use /dev/scdN now
SUBSYSTEMS==”scsi”, KERNEL==”sr[0-9]*”, NAME=”scd%n”

Subsystem = scsi. Il cdrom e’ un dispositivo scsi
Kernel = sr e’ il device che attribuisce il kernel, da 0 a 9 (quindi fino ad un massimo di 9 cdrom)
Name = e’ il nome del dispositivo, con numero sequenziale %n (probabilmente da 0 a 9)

Se noi in questa regola cambiassimo il nome del dispositivo ad esempio in:

NAME="masterizzatore%n"

Udev utilizzerebbe /dev/masterizzatore* ogni qual volta venga ne montato il contenuto.

Indipendentemente dal kernel e dal discorso ide/libata, i cdrom su Ubuntu Feisty Fawn 7.04 sono caricati da udev come /dev/scd* e non piu’ con altri devices.
Ma e’ proprio cosi’?..e allora perche’ troviamo ancora /dev/cdrom per i cdrom?
Perche’ nell’altro file, 60-symlinks.rules, troviamo il link a device alternativi:

# Compatibility symlinks for /dev/scd* devices
SUBSYSTEMS==”scsi”, KERNEL==”sr[0-9]*”, SYMLINK+=”%k”

# Create /dev/cdrom* symlinks for CD-ROM devices
ENV{ID_CDROM}==”?*”, SYMLINK+=”cdrom”
ENV{ID_CDROM_CD_RW}==”?*”, SYMLINK+=”cdrw”
ENV{ID_CDROM_DVD}==”?*”, SYMLINK+=”dvd”
ENV{ID_CDROM_DVD_R}==”?*”, SYMLINK+=”dvdrw”

# Create /dev/pilot symlink for Palm Pilots
KERNEL==”ttyUSB*”, ATTRS{product}==”Palm Handheld*|Handspring *|palmOne Handheld”, \
SYMLINK+=”pilot”

Purtroppo la regola e’ fissa, mentre il rilevameto hardware cambia per ciascuno di noi
Cito dalla guida:

udev fornisce i nomi per gli storage devices in /dev/disk . Per vedere i nomi persistenti che sono stati creati per il nostro storage-hardware basta lanciare:

ls -lR /dev/disk

lrwxrwxrwx 1 root root 9 2007-08-19 11:00 usb-SONY_Storage_Media_AK04052000189-0:0 -> ../../sdf

Questo dipende da cosa abbiamo collegato per la prima volta al computer e nel mio caso la penna ha preso il device sdf.

Se ripetiamo l’operazione dopo aver collegato una penna-usb ad esempio:

lrwxrwxrwx 1 root root 10 2007-08-19 11:00 usb-SONY_Storage_Media_AK04052000189-0:0-part1 -> ../../sdf1

Notiamo come la penna-usb sia stata collegata a /dev/sdf1.

Conclusioni

Se abbiamo dei problemi di dvd o cdrom non letti o non montati automaticamente, probabilmente la chiave e’ nelle regole di udev.
Ad esempio, se nei nomi fissi ho /dev/hdc per il cdrom… nel file 60-symlinks.rules questo link al device non esiste..
Possiamo provare sostituendo:

SYMLINK+="cdrom"

con:

SYMLINK+="hdc"

ma indipendentemente da quello che rileva ls -lR /dev/disk, ci basta sapere che possiamo disporre di alcuni symlink da utilizzare, in caso estremo, in /etc/fstab.
Non possiamo sbagliarci se utilizziamo:

/dev/cdrom
/dev/dvd
/dev/cdrw
/dev/dvdrw

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
3.87.147.184

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

14 Comments

  • grazie… articolo veramente interessante.

      Quota

  • DISKA ITALY 11 anni ago

    Ho una partizione NTFS mountato con ntfs-3g . I permessi con i driver ntfs(sola lettura) sono root plugedev 551 , se monto la partizione con nfts-3g diventano
    root root 777 e non mi piace che ci siano i permessi di lettura tutti.

    Secondo voi dove devo agire?

    ps permessi e owner/group vengono modificati al volo al momento del mount

      Quota

  • Imprecisazione ( forse ) :
    [...] KERNEL==”sr[0-9]*” [...]
    io noto un * questo significa che se lo trattiamo come nelle espressioni regolari allora il numero da 0 a 9 può essere ripetuto molte volte, quindi la limitazione a 9 cdrom (che poi sarebbero 10 visto che c’è anche lo 0) non ci sarebbe.

      Quota

  • RicardoD ITALY 11 anni ago

    ciao.
    sono un principiante di Ubuntu. Ho un ACER TRAVELMATE 212TX su cui ho installato la vers. 7.04 i386.
    Dopo un problema di installazione (risolto con wiki.ubuntu-it.org/ErroreTTY) il OS parte ma non vede il cd-rom (problemi di montaggio) nel forum di Ubuntu ho chiesto un aiuto ma per adesso senza nessun successo (http://forum.ubuntu-it.org/index.php?topic=110693.0): googolando ho trovato il tuo sito ma, da inesperto, non ci ho capito nulla!
    Potresti darmi una mano?
    Grazie.
    Ciao.

      Quota

  • @RicardoD
    si volentieri..ma bisogna vederli questi problemi
    che messaggio ottieni quando inserisci un cdrom?..a che device corrisponde il tuo cdrom?..hai una entry in /etc/fstab?

      Quota

  • RicardoD ITALY 11 anni ago

    Innanzitutto grazie della disponibilità.
    Cosa succede quando metto dentro un CD: nulla!
    Alla tua seconda domanda non saprei cosa rispondere.
    Per la terza (entry) …. se vuoi dire cosa c’è scritto in /etc/fstab allora:

    # /etc/fstab: static file system information.
    #
    #
    proc /proc proc defaults 0 0
    #/dev/hda1 UUID=ea6c5025-bda4-4333-b6fe-8298853b792f / ext3 defaulrs, errors=remount -ro 0 1
    #/dev/hda5 UUID=53862660-288d-4e75-8bda-31de71b8cd4a none swap sw 0 0
    /dev/hdc /media/cdrom0 udf,iso9660 ro,user,noauto 0 0
    /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

    Scusa, ma come ho detto sono un principiante!

      Quota

  • RicardoD ITALY 11 anni ago

    ps: per caso hai un account su gtalk? 🙂

      Quota

  • @RicardoD
    purtroppo non conosco gnome..ma in /media dovrebbe esserci il punto di montaggio /cdrom0..non c’e’ niente li dentro?

      Quota

  • RicardoD ITALY 11 anni ago

    comando ls -l /media
    total 8
    lrwxrwxrwx 1 root root 6 2007-08-24 20:48 cdrom -> cdrom0
    dr-xr-xr-x 13 root root 4096 2007-08-24 2048 cdrom0
    lrwxrwxrwx 1 root root 6 2007-08-24 20:48 floppy -> floppy0
    dr-xr-xr-x 2 root root 4096 2007-08-24 2048 floppy0

    La cosa strana è che il CDROM legge i dischi ma molto lentamente.
    Per esempio: adesso sto copiando l’intero disco di Ubuntu all’interno di una cartella del desktop. Mi dice che mancano alla fine dell’operazione 548 ore!!!!!!
    Sicuramente c’è qualcosa di settato male.
    Grazie.
    Ciao

      Quota

  • @RicardoD
    a quanto ho capito, anche se non hai controllato in /media (bastava andarci col file manager) probabilmente non hai abilitato il DMA
    devi usare hdparm..se cerchi nel blog c’e’ un articolo che parla di questo

      Quota

  • RicardoD ITALY 11 anni ago

    Sono andato con il file manager in /media: il risultato è quello che ho postato. C’è il cdrom (con tutti i file in esso contenuti) e il floppy (ma quello tanto non lo uso mai).
    Ho ricercato il post relativo al hdparm: ci ho smanettato su ma non cambia nulla. Il DMA è abilitato ma….. non va lo stesso.

      Quota

  • Clint ITALY 11 anni ago

    salve a tutti

    @RicardoD
    è stranissimo, l’unica volta che ho avuto a che fare con un lettore cd visto non bene da linux è stato proprio perchè aveva il firmware bacato.
    Dalla mia esperienza, Ubuntu, kubuntu etc non hanno problemi con lettori ottici quindi secondo me potresti trovarti in un caso come quello che ho scritto sopra.
    Se hai un po di pratica, potresti provare a cambiare lettore e vedere se almeno dipende dal lettore o da linux.

    ciao

      Quota