UDEV, pur essendo molto maturato dopo la sua prima apparizione, non riconosce ancora tutte le possibili periferiche.
Tra queste può creare problemi il driver nvidia.
Tenete presente che UDEV è in fase di continuo sviluppo, per cui ciò che è giusto oggi potrebbe risultare inutile domani.
UDEV è una sostituzione di DEVFS (ormai dichiarato obsoleto): crea e rimuove voci in /dev in base alla configurazione corrente del sistema.
Prerogativa essenziale per poterlo usare è avere un kernel 2.6.1 o superiore.
Normalmente il supporto di UDEV è già presente neigli ultimi kernel. Volendo però compilarne uno personalizzato bisogna controllare che nella configurazione siano abilitate le voci seguenti:
Configurazione kernel:
Nel menu 'General setup' contrassegnare le caselle:
Sysctl support
Kernel userspace Events
Nel menu 'File system-->Pseudo filesystems' contrassegnare le caselle:
proc filesystem support <---necessario
proc/core support
sysfs file system support <---necessario
/dev/pts extended attribute
/dev/pts security labels
Virtual memory file system (former shm fs) <---necessario
Installare UDEV
Come qualsiasi altro programma basta un:
apt-get install udev
Riavviando ora il PC potrebbe succedere che se avete una scheda grafica nvidia il boot si fermi all'interfaccia grafica. Se volete lavorare con interfaccia grafica per configurare UDEV sostituite momentaneamente 'nvidia' con 'nv' e lanciate KDE o Gnome o quel che è.
Noterete subito che nella directory /dev ci sono molti meno devices di prima. E' il segno che UDEV è installato e funzionante.
Vediamo ora come sistemare le cose per il driver nvidia e per eventuali penne ottiche e/o camere digitali.
Iniziamo con il driver nvidia.
Driver nvidia
Se funzionava bene prima e non funziona con UDEV significa che non sono stati creati da UDEV i devices necessari. Occorre allora configurarlo in modo che al prossimo riavvio li crei.
Per far questo aprire con un editor testuale il file /etc/udev/links.conf e aggiungere in fondo le righe:
M nvidia0 c 195 0
M nvidia1 c 195 1
M nvidiactl c 195 255
Se al riavvio compare l'avviso che i dispositivi esistono già significa che abbiamo aggiunto queste righe per niente e bisogna rimuoverle (e significa anche che non avevamo provato a riavviare il sistema in precedenza).
N.B.: questo discorso può essere utilizzato anche per altri devices che non vengano creati automaticamente.
Dispositivo ppp
Può essere necessario aggiungere anche questo. Si procede allo stesso modo aggiungendo al file /etc/udev/links.conf la riga:
M ppp c 108 0
Penne ottiche e/o camere digitali
Normalmente viene usato il rpimo dispositivo scsi libero; il che significa, ad esempio, che la camera digitale può una volta venire riconosciuta come /dev/sdb1 e la volta successiva come /dev/sdb2 (nel caso che ad esempio /dev/sdb1 sia già occupato da una penna ottica).
E' evidentemente più comodo invece che alla fotocamera sia assegnato il device 'camera1' e alla penna ottica il device 'penna1'.
Per ottenere questo bisogna modificare il file /etc/udev/udev.rules.
Ecco come procedere:
Innanzitutto connettere il primo dispositivo alla porta usb e, da console grafica o testuale, digitare:
systool -vb scsi | grep vendor
(systool è fornito dal pacchetto sysfsutils)
L'output del comando sarà qualcosa di simile:
vendor ="MINOLTA"
Dove ovviamente MINOLTA può essere qualcosa di diverso essendo la marca della periferica attaccata.
Una volta conosciuto il nome identificato da 'vendor' aggiungiamo con un editor di testo la riga seguente al file /etc/udev/udev.rules:
BUS="scsi", SYSFS{vendor}="MINOLTA", name="camera%n"
dove ovviamente camera è il nome sotto cui vogliamo venga riconosciuta la periferica (potrebbe essere penna, foto, pippo, o altro).
Aggiungiamo ora al file fstab la riga:
/udev/camera1 /mnt/camera auto user,noauto,rw 0 0
Ogni volta che attaccheremo la periferica identificata come 'MINOLTA' la potremo montare con un normale 'mount /mnt/camera'
Stesso discorso per qualsiasi altra periferica removibile.
Avendo più periferiche simili (ad esempio 2 penne ottiche) invece della marca (che potrebbe essere la stessa per entrambe) possiamo prendere in considerazione il numero di serie.
Per trovarlo, una volta inserita la periferica, digitare il comando:
systool -vb usb
Tra tutte le voci che usciranno, cercare la voce 'serial' che potrebbe essere qualcosa di simile: serial = 062B040101C6.
Le linee aggiunte al file /etc/udev/udev.rules sarebbero in questo caso:
BUS="usb", SYSFS{serial}="062B040101C6", name="usbpen1%n"
BUS="usb", SYSFS{serial}="0427254101C6", name="usbpen2%n"
BUS="usb", SYSFS{vendor}="MINOLTA", name="camera%n"
e il file fstab:
/udev/usbpen11 /mnt/usbpen1 auto user,noauto,rw 0 0
/udev/usbpen21 /mnt/usbpen2 auto user,noauto,rw 0 0
/udev/camera1 /mnt/camera auto user,noauto,rw 0 0
(N.B.: non tutte le periferiche di memorizzazione hanno un numero di serie).
Installazione driver nvidia (Debian way)
Installare un kernel (di default o configurato personalmente) nel modo usuale. Importante è che in /usr/src vi sia il sorgente e il link simbolico 'linux' che punta al sorgente.
Riavviare il PC col nuovo kernel.
Installare module-assistant:
apt-get install module-assistant
Installare nvidia-kernel-source:
apt-get install nvidia-kernel-source nvidia kernel-common
Compilare il driver con i comandi:
# m-a -i prepare
# m-a a-i -i -t -f nvidia-kernel
# depmod -a
Fatto questo installare nvidia-glx (e per Debian amd64 nvidia-glx-ia32):
apt-get install nvidia-glx
(apt-get install nvidia glx nvidia-glx-ia32)
Cambiare nel file /etc/X11/xorg.conf il driver 'nv' col driver 'nvidia'.
Aggiungere 'nvidia' al file /etc/modules
Il tutto può essere fatto da interfaccia grafica. Al prossimo riavvio si ha l'accelerazione nvidia.
In caso sia reperibile un nuovo driver nvidia (nvidia-kernel) o si ricompili un nuovo kernel, bisogna ripetere la procedura.
Modules-assistant ha anche una comoda interfaccia. Da console basta digitare (come root) il comando:
m-a
Dalla finestra che appare si possono compilare tutti i moduli che vengono elencati. Tra questi anche nvidia. Basta contrassegnarlo e nella finestra successiva avviare nell'ordine:
prepare
buile
install
Dopodichè si installa nvidia-glx.
Come cambiare il Windows Manager che parte di default con startx
Il metodo più semplice è digitare da console il comando:
update-alternatives --config x-session-manager
e scegliere il Windows Manager preferito.
mcz
Referenze:
Gentoo - UDEV