SANE (Español)

From ArchWiki
Revision as of 16:37, 24 October 2012 by Pedro (Talk | contribs) (Configuración: Actualizar)

Jump to: navigation, search

Sane proporciona una biblioteca y una herramienta en línea de comandos para utilizar los escáneres bajo GNU/Linux. Aquí se puede comprobar si sane es compatible con su escáner.

Instalación

sane está disponible en los repositorios [extra]:

# pacman -S sane

Configuración

Ahora puede comprobar si sane reconoce el escáner:

$ scanimage -L

Si ésto no funciona, compruebe que el escáner está conectado al ordenador. También podría ser necesario tener que desconectar/conectar el escáner para que la regla /etc/udev/rules.d/sane.rules reconozca su escáner.

Ahora puede ver si funciona realmente:

$ scanimage --format=tiff > test.tiff

Para hardware HP

Para el hardware de HP es posible que tenga que instalar el paquete hplip que está en los repositorios extra :

 # pacman -S hplip
  • No se olvide descomentar hpaio en el archivo /etc/sane.d/dll.conf.
  • Ejecutar hp-setup, como root, puede ayudarle a agregar el dispositivo.
  • hp-plugin es el 'Plugin HPLIP para Descargar e Instalar Utility'.
  • hp-scan es el 'Utilidad HPLIP de Escaneado'.

Para hardware Brother

Con el fin de instalar un Escáner Brother o una Impresora/Escáner Combo se necesita el controlador adecuado (que se puede encontrar en AUR). Sólo hay cuatro controladores a elegir (brscan1-4). Con el fin de encontrar el más adecuado debe buscar su modelo en la página brother linux scanner.

Después de instalar el controlador necesita ejecutar:

 # /usr/local/Brother/sane/setupSaneScan1 -i

para que los controladores/escáner sean reconocidos por sane.

Para escáneres de red, Brother ofrece una herramienta de configuración:

 # brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP>

ejemplo:

 # brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110

Para hardware Epson

Para instalar escáneres epson via Wi-Fi y/o red, puede usar "Image Scan! para Linux".

Instale iscanAUR y iscan-plugin-networkAUR desde AUR, actualizando /etc/sane.d/epkowa.conf con la adición de la línea:

 net {IP_OF_SCANNER}

Firmware

Nota: Esta sección sólo es necesaria seguirla si requiere cargar el firmware de su escáner.

Obtener firmware

Nota: Si se tiene un CD de instalación, es posible encontrar el software necesario en el sitio web del fabricante del escáner.

Los firmware suelen tener el extensión .bin.

Pero también pueden venir:

  • en un archivo .exe; en este caso, tal vez, pueda tratarse como un archivo zip, por tanto, instale y ejecute unzip para averiguarlo.
  • en un archivo .cab; instale y ejecute cabextract para extraerlo.

Instalar firmware

En primer lugar, se necesita poner el firmware en algún lugar seguro, se recomienda ponerlo en el subdirectorio /usr/share/sane.

Luego hay que decirle a sane cuál es el firmware:

  • Busque el nombre del backend para el escáner en la lista de dispositivos compatibles con sane.
  • Abra el archivo /etc/sane.d/<nombre-del-backend>.conf.
  • Asegúrese de que la entrada del firmware está descomentada y ponga en la fila de puntos la ruta donde se encuentra el archivo de firmware para su escáner. Asegúrese de que los miembros del grupo scanner pueden tener acceso al archivo /etc/sane.d/<nombre-del-backend>.conf.

Si el backend de su escáner no es parte del paquete sane (como, por ejemplo, hpaio.conf que forma parte de hplip), es necesario comentar la entrada correspondiente en /etc/sane.d/dll.d/hplip.

Instalar algún frontend(s)

XSane proporciona una interfaz basada en GTK para Sane. Está disponible en el repositorio extra.

 # pacman -S xsane

Sugerencia: Xsane puede guardar lo escaneado directamente en formato .pdf. ¡Esto sólo funciona en el modo de 8 bits de profundidad de color! (el modo de 16 bits produce archivos dañados).

Existen otras interfaces, que puede encontrarlas como sigue:

  • Use pacman -Ss para buscar palabras clave como "sane" o "scanner"
  • Consulte la lista de frontends en la página web del proyecto sane.

Xsane tiene un programa con función OCR (reconocimiento óptico de caracteres). Para utilizarlo es necesario instalar "gocr".

 # pacman -S gocr

Solución de problemas

Invalid argument

Si se recibe el mensaje de error "Invalid argument" con xsane u otro front-end de sane, podría ser causado por una de las siguientes razones:

Falta el archivo firmware

No existe el archivo de firmware proveido para el escáner utilizado (vea más arriba).

Permisos de archivos erróneos para el firmware

Los permisos para el archivo de firmware utilizado son erróneos. Corríjalo utilizando:

# chown root:scanner /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE
# chmod ug+r /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE

Múltiples backends reclamando el escáner

Puede suceder que múltiples backends apoyen (o pretendan apoyar) al escáner, y sane elija uno que, a la postre, no le proporciona soporte (en ese caso, el escáner no se mostrará al escribir scanimage -L). Esto ha sido reportado sobre todo con escáneres Epson y los backends epson2 resp. epson. En este supuesto, la solución es comentar el backend no deseado en el archivo /etc/sane.d/dll.conf. En el caso de Epson, sería cambiar:

 epson2
 #epson

a

 #epson2
 epson

Problemas de permisos

Si se muestra el escáner sólo cuando se hace sudo lsusb, podría hacerlo funcionar como usuario normal añadiendo su usuario al grupo scanne y/o lp.

# gpasswd -a username scanner
# gpasswd -a username lp

Esta solución se reportó para hacer funcionar una HP modelos todo-en-uno (por ejemplo, PSC 1315 y PSC 2355).

También se puede probar a cambiar el permiso del dispositivo usb, pero esto no es recomendable; una mejor solución es corregir las reglas udev para que el escáner sea reconocido.

Ejemplo:

En primer lugar, acceda como root y compruebe los dispositivos USB conectados con el comando 'lsusb'

#[root@archlinux ~]# lsusb 
#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 003 Device 003: ID 04d9:1603 Holtek Semiconductor, Inc. 
#Bus 003 Device 002: ID 04fc:0538 Sunplus Technology Co., Ltd 
#Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard 
#Bus 001 Device 002: ID 046d:0802 Logitech, Inc. Webcam C200
#Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
#[root@archlinux ~]# 

En nuestro ejemplo, vemos el escáner - 'Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard'

Ahora, edite el archivo vi /lib/udev/rules.d/53-sane.rules y busque la primera parte del ID encontrado anteriormente y compruebe también si hay una línea que informe de la segunda parte del número (múmero del modelo), en este ejemplo 2504. Si no se encuentra, cambie y copie la línea de abajo y escriba el idVendor y el idProduct de su escáner, en este ejemplo sería:

# Hewlett-Packard ScanJet 4100C
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2504", MODE="0664", GROUP="scanner",
 ENV{libsane_matched}="yes"

Guarde el archivo, desconecte y conecte de nuevo el scanner, y los permisos del archivo deberían estar en orden.

Otro consejo sería agregar su dispositivo (escáner) en el archivo backend:

En el ejemplo seguido, añadimos la cadena 'usb 0x03f0 0x2504' en el archivo '/etc/sane.d/hp4200.conf'

Ahora el archivo se vería así:

#[root@archlinux ~]# cat /etc/sane.d/hp4200.conf
#
# Configuration file for the hp4200 backend
#
#
# HP4200
#usb 0x03f0 0x0105
usb 0x03f0 0x2504
[root@archlinux ~]#

Problemas con DBus

Si obtiene el siguiente problema:

arguments to dbus_connection_send() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c

Asegúrese de que el usuario dbus se encuentra en los grupos lp y scanner:

$ groups dbus
dbus
# gpasswd -a dbus lp
# gpasswd -a dbus scanner

(Tenga en cuenta que debe detener e iniciar dbus para que los cambios de grupo surtan efecto.)

Asegúrese de que el sistema dbus se está ejecutando:

$ rc.d list dbus
[STARTED][AUTO] dbus

Si no es así, inícielo con el comando:

# rc.d start dbus

Puede que sea necesaria iniciar más de una sesión de dbus para que el escáner funcione.

Inicio lento

Si se encuentra con problemas de inicio lento (por ejemplo, xsane o scanimage -L tarda mucho en encontrar el escáner) es posible que exista más de un controlador disponible.

Eche un vistazo al archivo /etc/sane.d/dll.conf y pruebe comentando una de las entradas (por ejemplo, si tiene epson, epson2 y epkowa activados al mismo tiempo, trate de dejar sólo epson o epkowa sin comentarios).