SANE (Español)

From ArchWiki
Revision as of 20:30, 4 February 2013 by Pedro (Talk | contribs) (Problemas de permisos)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end Sane proporciona una biblioteca y una herramienta en línea de órdenes para utilizar los escáneres bajo GNU/Linux. Aquí se puede comprobar si sane es compatible con su escáner.

Instalación

Instale sane desde los repositorios oficiales.

Configuración

Ahora puede comprobar si sane reconoce el escáner:

$ scanimage -L

Si esto 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 hplip desde los repositorios oficiales y/o hpojAUR desde AUR.

  • 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 impresoras Hewlett-Packard OfficeJet, PSC, LaserJet, y PhotoSmart y periféricos multifunción, ejecute ptal-init setup como usuario root y siga las instrucciones. A continuación ejecute el demonio ptal-init.

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). Solo 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}

Para hardware Samsung

En algunas impresoras Samsung MFP puede que tenga que modificar el archivo /etc/sane.d/xerox_mfp.conf.

Ejemplo de entrada:

#Samsung SCX-3200
usb 0x04e8 0x3441

Cambie el modelo de impresora según su caso. Puede obtener el código ipVendor y idProduct con lsusb. Consulte este hilo.

Para escáneres Plustek

Algunos escáneres plustek (especialmente los Canoscan), requieren un directorio de bloqueo. Asegúrese de que el directorio /var/lock/sane existe, que los permisos son 660, y que es propiedad de <user>:scanner. Si los permisos del directorio son distintos, solo será capaz de utilizar el escáner como usuario root. Parece que (al menos en x86-64) algunos programas que utilizan libusb (sobretodo xsane y kooka) el grupo scanner también necesita permisos rw para acceder a /proc/bus/usb y poder funcionar con un usuario normal.

Firmware

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

Los firmware suelen tener el extensión .bin.

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 un frontend

XSane proporciona una interfaz basada en GTK para Sane. Puede instalarlo con el paquete xsane, disponible en los repositorios oficiales.

Nota: Xsane puede guardar lo escaneado directamente en formato .pdf. ¡Esto solo 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.

Escanear en red

Compartir el escáner en una red

Puede compartir el escáner con otros hosts de la red que usan sane , xsane o Gimp con xsane habilitado. Para configurar el servidor, en primer lugar indique que los hosts de la red tienen permitido el acceso al escáner.

Modifique el archivo /etc/sane.d/saned.conf según su caso, por ejemplo:

# requerido
localhost
# permitir subred local
192.168.0.0/24

Instale xinetd desde los repositorios oficiales.

A continuación, asegúrese que el archivo llamado /etc/xinetd.d/sane existe y ajuste la opción desactivar («disable») a no:

service sane-port
{
   port        = 6566
   socket_type = stream
   wait        = no
   user        = root
   group       = scanner
   server      = /usr/sbin/saned
   disable     = no
}

Agregue la línea siguiente a /etc/services:

sane-port 6566/tcp

Inicie el demonio xinetd.

Ahora el escáner puede ser utilizado por otras estaciones de trabajo, a través de su red de área local.

Acceder al escáner desde una Workstation remota

Puede acceder al escáner de red habilitada desde una estación de trabajo remota de Arch Linux.

Para configurar la estación de trabajo, comience instalando xsane desde los repositorios oficiales.

A continuación, especifique el nombre del servidor host o la dirección IP en el archivo /etc/sane.d/net.conf:

# dirección IP estática
192.168.0.1
# o nombre de host
stratus

Ahora pruebe la conexión de su estación de trabajo, a partir de un inicio de sesión de usuario no root:

$ xsane

o

$ scanimage -L

Después de un breve tiempo, xsane ha debido encontrar el escáner remoto y le presentará las ventanas habituales, listos para el escaneado en red.

Para una impresora HP todo-en-uno (impresora/escáner/fax) la red necesitará configurarla a través de:

$ hp-setup <ip de la impresora>

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

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 solo epson o epkowa sin comentarios).

Problemas de permisos

Si se muestra el escáner solo 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 la orden 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

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

Ahora, edite el archivo /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 (nú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, que se vería así:

#
# Configuration file for the hp4200 backend
#
#
# HP4200
#usb 0x03f0 0x0105
usb 0x03f0 0x2504

Epson Perfection 1270

Para Epson Perfection 1270, también necesita un firmware llamado esfw3e.bin. Se puede obtener instalando el controlador de Windows.

Modifique el archivo de configuración de backend snapscan, /etc/sane.d/snapscan.conf. Cambie la ruta del firmware por la suya:

   # Change to the fully qualified filename of your firmware file, if
   # firmware upload is needed by the scanner
   firmware /mnt/mydata/Backups/firmware/esfw3e.bin

Y añada la siguiente línea al final o cualquier otro lugar:

  # Epson Perfection 1270
  usb 0x04b8 0x0120

Puede obtener información de dicho código (usb 0x04b8 0x0120) con la orden «sane-find-scanner».

También agregue estas líneas en el archivo /etc/hotplug/usb/libsane.usermap para configurar sus privilegios, de este modo:

 #Epson Perfection 1270
 libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

Vuelva a reconectar el escáner y ahora debería funcionar su Epson Perfection 1270.

NOTA: Se puede escanear la imagen si se definen los valores de X e Y, pero se obtiene el error: "scanimage: sane_start: Error during device I/O", si alguien tiene una solución, por favor, complete la sección.