Categories
Español Tecnología

Configuración de los permisos de UDEV para escáner HP ScanJet 5p en Ubuntu

Desde hace bastantes años tengo un escáner HP ScanJet 5p con una tarjeta SCSI PCI que funciona a la perfección en GNU/Linux. El dispositivo es utilizado por todos los usuarios del PC y por tanto necesito que todos tengan permiso para escanear. Sin embargo, el sistema UDEV de Ubuntu asocia automáticamente el escáner a un dispositivo “/dev/sg3” con permisos únicamente para root, por tanto el resto de usuario no pueden utilizarlo.

$ ls -la /dev/sg3
crw-rw----+ 1 root root 21, 2 2009-05-24 14:36 /dev/sg3

Para cambiar este comportamiento, vamos a extraer información sobre el dispositivo que en mi caso corresponde sg3 pero puede variar según la configuración (consultar dmesg):

# udevadm info -a -p /sys/class/scsi_generic/sg3
...
looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/host10/target10:0:2/10:0:2:0':
    KERNELS=="10:0:2:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="3"
    ATTRS{scsi_level}=="3"
    ATTRS{vendor}=="HP      "
    ATTRS{model}=="C5110A          "
    ATTRS{rev}=="3701"
    ATTRS{state}=="running"
    ATTRS{timeout}=="0"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0x7"
    ATTRS{iodone_cnt}=="0x7"
    ATTRS{ioerr_cnt}=="0x0"
    ATTRS{modalias}=="scsi:t-0x03"
    ATTRS{evt_media_change}=="0"
    ATTRS{queue_depth}=="2"
    ATTRS{queue_type}=="none"
...

A continuación, creamos una nueva regla UDEV en el fichero “/etc/udev/rules.d/99-personalizado.rules”:

# permissions for SCSI scanner
KERNEL=="sg[0-9]*", SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{model}=="C5110A*", NAME="%k", SYMLINK="scanner", MODE="0660", GROUP="scanner"

En la regla estamos indicando que todos los dispositivos sgX (sg1, sg2, etc.), del tipo SCSI y modelo C5110A (información que coincide con el scanner, según el comando udevadm que hemos ejecutado antes) deben tener permisos lectura y escritura para el grupo “scanner”. Adicionalmente, se creará un enlace simbólico “/dev/scanner” apuntando al dispositivo.

A continuación, crearemos el grupo “scanner” y añadiremos todos los usuarios que queremos que utilicen este dispositivo:

groupadd scanner
adduser miusuario scanner

En este punto, ya podemos reiniciar el equipo o recargar el driver del scanner:

rmmod sym53c8xx
modprobe sym53c8xx

Si ha funcionado, nuestro dispositivo tendrá los siguientes permisos:

$ ls -la /dev/sg3
crw-rw----+ 1 root scanner 21, 2 2009-05-24 14:56 /dev/sg3

Finalmente podremos escanear utilizando “Aplicaciones -> Gráficos -> Programa de escaneo de imágenes XSane” o bien directamente desde Gimp.

Leave a Reply

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