SANE (Español)
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
Si el escaneo falla con el mensaje scanimage: sane_start: Invalid argument
, puede que tenga que especificar el dispositivo:
$ scanimage -L
device `v4l:/dev/video0' is a Noname Video WebCam virtual device device `pixma:04A91749_247936' is a CANON Canon PIXMA MG5200 multi-function peripheral
A continuación, tendrá que ejecutar:
$ scanimage --device pixma:04A91749_247936 --format=tiff > test.tiff
Para hardware Acer/BenQ
Si es poseedor de un escáner USB de Acer (ahora BenQ), es necesario descargar un archivo binario de firmware adecuado y configurar /etc/sane.d/snapscan.conf
.
- Averigüe cuál es el modelo que posee y tome nota de la ID del USB:
$ lsusb
Bus 002 Device 010: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U
- Vaya a la página principal de snapscan y vea si el escáner es compatible y el firmware que necesita (por ejemplo
u176v046.bin
). - Busque la imagen del firmware en Internet y descárguelo en
/usr/share/sane/snapscan/
. - Edite la cabecera de
/etc/sane.d/snapscan.conf
y configure las dos líneas siguientes:
firmware /usr/share/sane/snapscan/u176v046.bin /dev/usb/scanner0 bus=usb
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 iscan[enlace roto: package not found] 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
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.
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
Inserte el módulo nf_conntrack_sane
de iptables para permitir el seguimiento del firewall de las conexiones de saned.
Las solicitudes de escaneo son manejadas por saned. Esto se puede ejecutar como un demonio con saned -a
o ejecutar cuando sea necesario por xinetd.
Configurar xinetd para sane
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 }
El usuario llamado ('nobody' en el archivo incluido en el paquete sane) debe normalmente ser miembro del grupo scanner para tener permisos de acceso al escáner::
# usermod -a -G scanner nobody
Para algunas HP combinadas escáner-impresoras el usuario, en cambio, debe ser miembro del grupo lp, para que también pueda usar el escáner en el archivo de servicio.
Agregue la línea siguiente a /etc/services
, si no está ya presente:
sane-port 6566/tcp
Inicie el demonio[broken link: invalid section] 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.
- Para evitar «scanimage: sane_start: Error during device I/O» y que se cuelgue el propio escáner, cuando se intanta escanear con ADF (alimentador automático de documentos) activado, tuve que quitar o comentar todos los Backends de
/etc/sane.d/dll.conf
y añadir, en su lugar, lo siguiente al archivo:
snapscan
Por último. Si sigue apareciendo el mensaje «Error I/O» pruebe comprobando el bloqueo de transporte del escáner. Está en la parte inferior del escáner. Tiene que ser abierta.