Scanner USB con libusb

By 5 de agosto de 2006 Linux No Comments

Con las últimas releases del kernel 2.6 el módulo para scanner USB ha sido deprecated para pasar a usarse hotplug y libusb. libusb es una forma de acceso a los dispositivos USB usando el sistema de archivos /proc/usb, de esta forma ya no es necesario tener un dispositivo en /dev. Yo tengo un scanner HP Scanjet 2200c que usa el backend de sane Plustek y lo iré explicando todo sobre él, pero es aplicable a cualquier otro backend.Necesitamos tener funcionando las últimas versiones de sane-backends (compilada con USE="usb"), libusb y hotplug. El módulo de scanner USB del kernel ya no es necesario (en el caso de tenerlo disponible aún).

Lo primero es asegurarse que en el fichero de configuración de nuestro backend tenemos (suele venir puesto):

[email protected] root # vi /etc/sane.d/plustek

[usb]
device auto

Ahora pasamos a usar la utilidad sane-find-scanner

$ sane-find-scanner

found USB scanner (vendor=0x03f0 Hewlett-Packard, product=0x0605 HP ScanJet 2200C) at libusb:002:003

Usando lsusb podemos ver dónde está nuestros dispositivos USB:

[email protected] root #lsusb

Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 0830:0060 Palm, Inc. Palm Tungsten T
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 03f0:0605 Hewlett-Packard ScanJet 2200c
Bus 002 Device 002: ID 03f0:1a04 Hewlett-Packard
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Tenemos el bus y el dispositivo del scanner (en mi caso 002 y 003, respectivamente) que serán necesarios para darles los permisos adecuados al scanner teniendo en cuenta que se encuentra en /proc/bus/usb/device/bus.

[email protected] root # chmod 770 /proc/bus/usb/003/002
[email protected] root # chgrp users /proc/bus/usb/003/002

Esto se puede añadir al /etc/conf.d/local.start para que lo aplique en cada inicio.

Respecto a esto último, hay gente que al no tener suficientes zócalos USB, va quitando y poniendo dispositivos, con lo cual los permisos pueden no aplicarse al scanner. En ese caso, puede ser mejor una solución del tipo:

[email protected] root # chmod 770 /proc/bus/usb/ -R
[email protected] root # chgrp users /proc/bus/usb/ -R

Saludos.

Leave a Reply

Your email address will not be published.