configurar libsane para que detecte scanner Canon Lide 120
configurar libsane para que detecte scanner Canon Lide 120
Hola gente del foro.
Con mucho esfuerzo he logrado configurar Debian (un distro que no usaba hace mucho) , instalando soporte 3d e inclusive mi impresora, además de muchas aplicaciones que necesito. El gran tema ha sido el escáner un Canon Lide 120 comprado el año pasado. En Linux Mint (17) he tenido éxito hace unos meses en instalarlo. Siguiendo estos pasos me ha sido posible detectarlo normalmente.
sudo apt-get install libusb-dev build-essential libsane-dev
sudo apt-get install libavahi-client-dev libavahi-glib-dev
sudo apt-get install git-core
git clone git://git.debian.org/sane/sane-backends.git
cd sane-backends
sudo find /usr/lib -name 'libsane-dll.so'
./configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi
make
sudo make install
./configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi BACKENDS="kodakaio test"
make
sudo make install
sane-find-scanner
El problema es que los mismos pasos aplicados a Debian por alguna razón no son efectivos. Según este enlace de SANE el periférico estaría soportado Luego he intentado descargar y configurar la última versión de sane-backends en
Si utilizo el comando sane-find-scanner el comando encuentra el periférico
found USB scanner (vendor=0x04a9 [Canon], product=0x190e [CanoScan], chip=GL848+) at libusb:005:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
El problema que xsane en su versión 0.99 no lo detecta, tampoco simple-scan. La única forma de hacer funcionar es como modo root con el software Vuescan, algo que si bien me permite utilizarlo pero no es de la forma que necesito.
Ustedes podrían darme alguna sugerencia de cómo seguir adelante? eso para mi sería de utilidad muchas gracias.
Saludos
Hola.
He encontrado, donde dice que el CanoScan LiDE 120 no está soportado, pero hay un enlace a (SANE Genesys Backend) y otro al , que por cierto tampoco menciona expresamente al 120 (copio y pego: Canon LiDE 35/40/50/60/100/110/200/210/220/700).
Por mi parte siempre he encontrado soluciones instalando el paquete hplip, pero claro, eso no es específicamente de Canon, aunque algunos productos son hp-compatibles.
A ver si hay algo de suerte...
Un saludo.
No se si te servira de algo la sugerencia, pero ¿y con alguna versión algo anterior del xsane?. La familia lide
tiene una larga trayectoria, y este en concreto parece que apareció por agosto del 2014.
Prueba también si puedes a identificarlo ante el programa como algún otro modelo parecido, o como genérico,
A ver si cambia en algo.
Doy por sentado que ya has verificado que todo lo referido a los programas y drivers de soporte al escaner
están bien instalados y no hay dependencias pendientes. (echa un vistazo a la opinión de synaptic, por si acaso).
Porque según lo dicho, el dispositivo está conectado e identificado. Luego evidentemente el problema ha de estar
en el manejo de los datos. O el driver no es apropiado, -o tiene algún problema-, o bien hay algún conflicto
de identificación y manejo de los datos por parte de la aplicación que los recibe.
Al menos es como lo veo yo.
¿Hay algún reprte de errores o problemas en algún log, (de xsane, del sistema, del instalador o de quién sea) ?
Lamento no poder ir mucho mas allá, pues en esto estás mucho mas actualizado tu que yo, que hace algunos
años que no escaneo nada.
[EDITADO] Mientras escribia veo que alguien también lo ha hecho. :).
Buena idea lo de mirar la lista de soportados, se me había pasado el detalle.
Luego entonces, debe ser cosa del driver que no acaba de encajar, ¿no?.
No se si se podría transplantar aqui el que usa mint, es posible que si. Puestos a probar cosas ...
[/editado]
En este sitio , pone que luego de compilar el archivo hay que editar el archivo 60-libsane.rules
y agregar
Si con esto no funciona tambien propone editar genesys.conf
y agregar
Después con el scanner prendido al ejecutar el comando
scanimage -L
lo tendría que detectarOtra opción es utilizar este repositorio para ubuntu he instalar sane-backends , si bien no es lo ideal utilizar paquetes preparados para otras distros, con probar no se pierde nada ;)
Hola a todos.
He probado todo lo que me han suguerido y lamentablemente no funciona.
Creo que el problema es cuando intento compilar el driver.
Este paso sale bien: ./configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi
Ahora cuando hago make y make install
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
Making install in testsuite
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
Making install in sanei
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
Making install in tools
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/doc/sane-1.0.25'
/usr/bin/install -c -m 644 AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS README README.aix README.beos README.darwin README.djpeg README.freebsd README.hp-ux README.linux README.netbsd README.openbsd README.os2 README.solaris README.unixware2 README.unixware7 README.windows README.zeta '/usr/doc/sane-1.0.25'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
y allí quedamos.
Quizás ustedes puedan ver algo que yo o no puedo.
Gracias.
¿Por qué le indicas al script configure los valores de prefix, libdir, sysconfdir y localstatedir?
Por otro lado, no veo errores en la salida de los comandos que posteas, pero te recomendaria que no ejecutaras en una misma línea de instrucciones make y make install, sino primero configure y make como usuario normal y finalmente make install como root.
¿Qué error obtienes al probar si ha funcionado?
Hola schiefgo
He intentado antes de la forma que tu dices, que por cierto fue la forma en que aprendí a compilar drivers hace un tiempo en linux.
Por aquí te paso lo que devuelve cada uno: ./configure , luego make y por último make install.
./configure dice esto:
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/tools'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/tools'
Making all in doc
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/doc'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/doc'
Making all in po
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
Making all in testsuite
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
Making all in sanei
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
run 'make check' to run tests
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
Making all in tools
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
Use 'make check' to run the tests.
run 'make check' to run tests
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
Use 'make test' to run the tests.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make me dice esto:
do \
/bin/mkdir -p $subdir || exit 1; \
done
make all-am
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/tools'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/tools'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/tools'
Making all in doc
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/doc'
Making all in po
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/po'
Making all in testsuite
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
Making all in sanei
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
run 'make check' to run tests
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
Making all in tools
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
Use 'make check' to run the tests.
run 'make check' to run tests
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
Use 'make test' to run the tests.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
y make install
Making install in sanei
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/sanei'
Making install in tools
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite/tools'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[3]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[2]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Leaving directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25/testsuite'
make[1]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[2]: Entering directory '/home/seba/Descargas/sane-backends-last/sane-backends-latest/sane-backends-1.0.25'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/local/doc/sane-1.0.25'
/usr/bin/install -c -m 644 AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS README README.aix README.beos README.darwin README.djpeg README.freebsd README.hp-ux README.linux README.netbsd README.openbsd README.os2 README.solaris README.unixware2 README.unixware7 README.windows README.zeta '/usr/local/doc/sane-1.0.25'
Gracias por tu ayuda.
En lo que posteas no parece haber errores de compilación ni de instalación.
Te sugiero repasar el proceso:
Elimina todo lo que hayas instalado que tenga que ver con el scanner. Esto es para «limpiar» el sistema y que no haya ningún tipo de conflicto entre distintos controladores. Normalmente los paquetes suelen incluir «make uninstall», pero si no fuese así habría que localizar de alguna forma (pregunta si es necesario) los archivos instalados y borrarlos.
Los enlaces que te puse son del propio sane. El backend (lo que trabaja «detrás», que no se ve) se refiere a sane, propiamente dicho, mientras que xsane sería el frontend (lo que puedes ver, para entendernos). A veces, instalando lo último de un controlador se obtienen funcionalidades que en las versiones proporcionadas por las distros, algo anteriores normalmente, no están presentes. En , en el último post (abril) sedice que en Ubuntu funciona compilando sane-backend.
Elige un controlador e instálalo, y cuando vayas a probar otro, elimina antes el que tenías instalado. Esto vale también para sane. Si vas a instalarlo desde los fuentes debes eliminar el que instala la distro.
Creo haber leído que conseguiste que algo funcionara como root. Si es así, el que también funcione como usuario normal debería ser cuestión de buscar los archivos implicados y darles los permisos adecuados.
El proceso de compilación estandar suele ser:
Como usuario normal:
Y como root:
Como estamos en Debian, tal vez haciendo una actualización de sane, por ejemplo de Sid o Experimental, se pueda intentar solucionar. Quizás alguien más acostumbrado que yo a hacer este tipo de cosas tenga a bien postear un pequeño manual.
Hola
Lo que dices tiene base. Al ejecutar el comando sudo sane-find-scanner -v -v sale esto:
<trying to find out which USB chip is used>
checking for LM983[1,2,3] ...
this is not a LM983x (bcdUSB = 0x200)
checking for GT-6801 ...
this is not a GT-6801 (bcdUSB = 0x200)
checking for GT-6816 ...
this is not a GT-6816 (bDeviceClass = 255, bInterfaceClass = 255)
checking for GLxxx ...
this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255)
<This USB chip looks like a GL848+ (result from sane-backends 1.0.26git)>
found USB scanner (vendor=0x04a9 [Canon], product=0x190e [CanoScan], chip=GL848+) at libusb:005:002
El asunto sería cómo desinstalo ese sane-backends 1.0.26git creo que podría venir por ahí.
Gracias por leerme y contestarme.
Viendo el último post, el sistema si reconoce correctamente el scanner, o eso parece (es más, posiblemente, con tan solo instalar sane-backends, sin compilar driver ni nada, editando el archivo sane-rules y añadiendo el ID:VEN que aparece al hacer un lsusb con el escáner conectado como te han dicho antes, que funcione correctamente). Comprueba los grupos a los que pertenece tu usuario, ya que es más que probable que tenga que pertener o al grupo sane o al grupo escáner para poder acceder al dispositivo.
He buscado mientras escribía este post y lo primero que encuentro es más o menos lo que dices que has hecho, añadir el escanner a las reglas de sane y compilar el driver para el mismo, en un post de foros de linux mint (, echa un vistazo al último post). Comprueba que tras todo lo que has hecho, o hagas en base a ese post, tu usuario pertenece al grupo saned para tener los permisos suficientes de acceso al dispositivo.
No hay bar que por bien no venga....
Debí comentar antes que siempre es buena idea leerse el archivo README que normalmente incluyen los paquetes fuentes, en el caso de sane-backends sería el REAME.linux (me he descagado el paquete, jeje). Ahí pone, entre otras cosas, esto:
Mi inglés no es bueno, pero haré un esfuerzo de traducción con la esperanza de que alguien me corrija si cometo algún error:
«"/usr/local/lib/sane" o "/usr/lib/sane" NO DEBEN estar en /etc/ld.so.conf. Si su escáner no es detectado o solamente se encuentran dispositivos de Vídeo para Linux, compruebe si hay una de las líneas anteriores en ld.so.conf. Sin embargo, una línea "/usr/local/lib o "/usr/lib" en ld.so.conf es correcto.»
Lo primero a intentar es make uninstall como root en el mismo directorio desde el que lo instalaste.
Después comprueba que no estén los archivos en las rutas que indicaste al configurar.
Si aún existe algo que no debería estar, puedes eliminarlo directamente con rm, pero poniendo especial atención, porque utilizar rm como root puede causar problemas si no se sabe exactamente lo que se está haciendo.
También puedes encontrar información mirando el contendo del archivo config.log en el directorio donde has compilado.
Si hubieses instalado en las rutas por defecto, sin utilizar --prefix ni las otras opciones de configuración (a excepción de --enable-avahi), todo debería estar en /usr/local/ (/usr/local/include, /usr/local/lib, etc.), con lo que sería mucho más fácil localizar los archivos instalados y menos peligroso eliminarlos. Me permito «aconsejar», sin pretensiones de ninguna clase, que todo lo que instalemos desde paquetes fuentes, es decir, descargados, descomprimidos y compilados por nosotros, permitamos que vaya a /usr/local/, dejando /usr/ para las instalaciones efectuadas mediante el sistema de paquetería de la distro (aptitude, apt-get) también puede que dpkg -i utilice /usr/ en la mayoría de las ocasiones.
Hola, Shicefgo y Panko. Como siempre gracias por su ayuda.
He logrado detectar el escáner, de qué me he dado cuenta:
En algunos post figuraba estas diferencias:
En sudo gedit /etc/sane.d/genesys.conf
# Canon CanoScan Lide 120 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="190e", ENV{libsane_matched}="yes"
Pero una vez configurado en, otro post sugería esto:
# Canon CanoScan Lide 120 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="190f", ENV{libsane_matched}="yes"
el idProduct==190f y 190e. En una primera instancia lo cambié hacia f pero luego a última hora lo coloqué en e. Genesys.conf sugería esto.
Una vez realizado aparece esto:
-desktop:/home/seba# scanimage -L
device `genesys:libusb:005:002' is a Canon LiDE 120 flatbed scanner
-desktop:/home/seba# sudo sane-find-scanner
found USB scanner (vendor=0x04a9 [Canon], product=0x190e [CanoScan], chip=GL848+) at libusb:005:002
He reiniciado la máquina y es escáner se detecta con Simple-scan y Skanlite.
El asunto que no tiene resolución todo sale negro, si bien mueve el escáner como lo hace normalmente.
Agradezco por la guía se que me falta poco, aún no lo he logrado.
Como siempre gracias a los BOFH que tanto me han ayudado.
Una cosita más he podido con Vuescan escanear de forma normal como usuario, antes solo lo podía realizar como root.
Gracias.
Tendrías que haber abierto una consulta nueva en vez de usar una ya solucionada. Hazlo, con toda la información necesaria. Como puede ser la salida del comando journalctl -f en el momento que conectas el escanner, modelo del escanner, y hardware de tu equipo. El servicio está de esa forma porque no es necesario tenerlo corriendo en el sistema, ya usa el socket para saber cuando una app llama al escanner y activar lo necesario.
Abre una consulta nueva con la info y allí te echamos una mano.
No hay bar que por bien no venga....