martes, 23 de diciembre de 2014

Tropezando - Parte 18 - Asco de escáneres

Recientemente adquirí de segunda mano un bonito escáner portátil Canon Canoscan LiDE 20. Fino, ligero, más pequeño que mi portátil, se alimenta por USB (sólo necesita un cable) y tiene una excelente calidad de imagen (más que la mayoría de multifinciones que hay por ahí).
Pues bien, llevo una semana entera intentando hacerlo funcionar en Linux, he probado de todo, he leído toneladas de posibles soluciones y al final... ha resultado tan sencillo como instalar un simple paquete.
He aquí el problema y la solución.

Los síntomas

Abro SimpleScan, escaneo un documento. ¡Bien! Escaneo el segundo. ¡Horror! La lámpara no se enciende, el carro no se mueve y en pantalla aparece una imagen completamente negra.
Pruebo con Xsane. Exactamente lo mismo. El escáner funciona una vez después de desconectar el USB y reconectarlo, y luego se niega a moverse más nada.
Pruebo con scanimage desde consola. Funciona perfectamente todo el tiempo. Qué raro...
Pruebo con Xscanimage (un frontend para scanimage). El mismo error de antes. ¡Pero si es el mismo programa! Esto sí que es raro.
Pruebo con Vuescan. ¡Perfecto! ¡Es el programa ideal! Lo malo es que es de pago, caro de narices, y la versión de prueba deja unas horrorosas marcas de agua.

Posibles errores

Compruebo si Sane (el sistema que usa Linux para manejar escáneres) soporta este cacharro. Lo soporta, completamente y sin errores. O, al menos, eso dicen su página oficial y las pruebas que he hecho con él.
Compruebo que Sane y el resto de programas detectan mi escáner. Pues sí, incluso cuando no funcionan.
Leo por ahí que ciertas versiones de Sane dan problemas con algunos aparatos. Compruebo mi versión y no es el caso: en ésta no se han descrito problemas.
¿Problemas de permisos? Descartado: como administrador me da los mismos errores, y todos los archivos implicados que he podido encontrar tienen los permisos correctamente.
Compruebo las reglas de udev y, aparentemente, están bien.
Compruebo las políticas de seguridad. Todas bien.

La refinitiva

Resulta que el kernel Linux que usa Debian (y, por tanto, Ubuntu y derivados) incluye una característica de ahorro de energía en dispositivos USB. Ésta es la causante de que mi bonito escáner se apague después del primer uso... y después no vuelve a encenderse.
Resulta que hay un bonito programa llamado scanbuttond que se mantiene a la espera de que alguien pulse alguno de los botones de acceso directo del dispositivo. Para hacer eso, debe mantener encendido el aparato en cuestión. Ahí está la clave: scanbuttond  impide al sistema apagar los escáneres USB.
Este programa, una vez instalado, se arranca automáticamente con el sistema y se queda funcionando como demonio (esto es, en segundo plano; algo así como los servicios de Windows), así que basta con instalarlo y se acabaron los problemas. Suele encontrarse en los repositorios de las distribuciones más habituales, así que basta con ir a nuestro gestor de paquetes favorito e instalarlo desde ahí (no tiene dependencias raras ni nada de eso).

Hay que ver, lo que ha costado hacer funcionar al puñetero y lo fácil que ha sido de arreglar al final. Ya me veía recompilando el núcleo para desactivarle lo del ahorro de energía... =XD


En próximas entregas... Estoy preparando una pequeña gran guía de Synaptics, pero ando algo atascado: es un tema muy aburrido. También es posible que hable de los puñeterísimos (por no decir algo peor) routers LiveBox que distribuye Orange, pero aún no he conseguido que ninguno de mis ordenadores con Linux se conecte a uno de ellos sin cambiarle la configuración al propio router (no es una opción: varios locales de la zona lo usan y no soy quién para tocrles nada). O lo mismo instalamos otro emulador, no sé.
Se admiten sugerencias, como siempre.

2 comentarios:

  1. Tomo buena nota de tus trasteos con el scanner, para cuando vaya a montar el Fujitsu con Lubuntu, que ni para windows 7 vale ya por culpa de los "fuckin" drivers, esta claro que en esta vida todo es prueba-error, gracias por la info.

    ResponderEliminar
    Respuestas
    1. Este error que comento aquí sólo se da con ciertos escáneres; la mayoría son administrados por Sane inmediatamente, sin instalar nada y sin ningún problema. Puedes ver la compatibilidad aquí: http://www.sane-project.org/sane-mfgs.html

      Si el problema es de drivers, normalmente se pueden instlar unos antiguos forzando la compatibilidad. Si no, ¿cómo crees que tengo mi vieja impresora andando con Win7? ¡Tiene más de 20 años!
      Por otro lado, lo cierto es que en Linux no es tan normal que un aparato no funcione por estar desfasado. La misma impresora estaba imprimiendo nada más conectarla a mi querido LXLE.

      Eliminar