Tutoriel Linux

¿Escáner no detectado en Ubuntu? Diagnostique primero SANE

Débutant8 min de lecture

Conectas el escáner, abres Escáner de documentos, y el dispositivo no aparece. Antes de instalar un controlador encontrado al azar, hay que localizar el corte: ¿Ubuntu ve el dispositivo, SANE lo reconoce, o la aplicación simplemente no recibe la lista de escáneres?

El diagnóstico a continuación sigue estas capas en orden. Cada comando sirve para elegir el siguiente, tanto con un escáner USB como con un modelo de red en Ubuntu 22.04 o 24.04.

Escáner USB abierto y cable controlado frente a un terminal Linux durante un diagnóstico SANE en Ubuntu
El diagnóstico comienza separando la detección USB, SANE y la aplicación.

Separar el problema de hardware del problema SANE

Comienza con un escáner USB. El comando lsusb interroga directamente el bus USB. Permite verificar si el sistema ve un dispositivo a nivel hardware. Si necesitas localizar más precisamente los dispositivos y los puertos USB, también puedes consultar nuestra guía para listar los puertos USB en Linux.

lsusb

Una línea que corresponde al fabricante o modelo del escáner indica que la conexión USB es visible por el núcleo. Si nada cambia cuando conectas el dispositivo, prueba otro puerto, retira un posible hub USB y verifica el cable. En esta etapa, Escáner de documentos y SANE aún no están en juego.

Luego verifica la detección por la herramienta SANE:

sane-find-scanner

sane-find-scanner busca escáneres SCSI y USB así como sus archivos de dispositivo. Una detección aquí confirma que el dispositivo es accesible a nivel hardware. Sin embargo, no garantiza la presencia de un backend SANE compatible. La documentación de Ubuntu de sane-find-scanner precisa que un dispositivo puede ser encontrado incluso sin un backend utilizable.

La tercera verificación interroga la capa SANE que será utilizada por las aplicaciones:

scanimage -L
Resultado Lectura Pasos a seguir
lsusb no ve nada El problema se sitúa antes de SANE: cable, puerto, alimentación o dispositivo USB. Corregir la conexión y luego volver a ejecutar los comandos.
lsusb y sane-find-scanner ven el dispositivo, pero scanimage -L permanece vacío El hardware responde, pero SANE probablemente no tiene el backend adecuado, o el acceso al dispositivo está bloqueado. Pasar al diagnóstico del backend y de los permisos.
scanimage -L muestra un escáner SANE proporciona un dispositivo aprovechable a las aplicaciones. Probar el backend con scanimage -T, luego abrir Escáner de documentos.

Para un escáner de red, lsusb no aporta nada. El escáner debe estar encendido, conectado a la misma red local que la computadora y accesible sin aislamiento entre los clientes Wi-Fi.

Instalar y verificar las herramientas de Ubuntu

En una instalación mínima, los comandos de diagnóstico o la aplicación pueden faltar. Instala los paquetes de Ubuntu destinados para esta capa:

sudo apt update
sudo apt install sane-utils simple-scan

sane-utils proporciona, entre otras cosas, scanimage y sane-find-scanner. simple-scan instala Escáner de documentos. La instalación de estos paquetes no ofrece un controlador universal para todos los escáneres. Prepara la herramienta de diagnóstico, pero la compatibilidad depende luego del backend SANE y del modelo utilizado.

Controla las versiones de paquetes propuestas por los repositorios activos:

apt policy sane-utils simple-scan

La salida muestra, entre otras cosas, las versiones Installed y Candidate. Una versión candidata sin versión instalada significa que el paquete está disponible pero ausente. Una candidata vacía indica más bien un problema de repositorios o de configuración APT. En este caso, verifica las fuentes de Ubuntu antes de buscar un paquete de terceros.

Si sane-utils está instalado, vuelve a ejecutar scanimage -L. Si el dispositivo aparece, el soporte software está en su lugar. Entonces podrás concentrarte en Escáner de documentos en lugar de modificar innecesariamente el sistema.

Cuando sane-find-scanner ve el dispositivo pero no scanimage

Esta diferencia indica que la detección USB funciona, pero SANE aún no sabe usar el escáner. Comienza probando directamente el backend:

scanimage -T

scanimage -T realiza una prueba del backend SANE. Si la prueba tiene éxito, la capa SANE responde correctamente. Si scanimage -L permanece vacío a pesar de esto, la lista devuelta por el backend puede ser incompleta, especialmente para los dispositivos de red. La página de manual de scanimage describe la diferencia entre la lista de dispositivos y la prueba del backend.

Puedes aumentar temporalmente los mensajes del cargador de bibliotecas SANE:

SANE_DEBUG_DLL=3 scanimage -L

El comando muestra entonces información adicional sobre la carga de los backends. Busca un error de biblioteca ausente, de archivo de configuración inaccesible o de backend ignorado. Este nivel de registro sirve para el diagnóstico puntual. No corrige nada y no debe permanecer definido de forma permanente en tu sesión.

Si el registro muestra un backend ausente, identifica primero el modelo exacto y su compatibilidad con SANE. Algunos fabricantes distribuyen un paquete oficial, pero hay que verificar su procedencia, su versión de Ubuntu y su arquitectura antes de cualquier instalación. No añadas un repositorio desconocido simplemente porque un resultado de búsqueda propone un archivo DEB.

Si el backend está cargado pero el dispositivo sigue ausente, pasa a los permisos. Un dispositivo visible por lsusb puede permanecer inutilizable por tu sesión de usuario.

Corregir un permiso USB adecuadamente

Observa los archivos de dispositivo USB sin modificar sus derechos:

ls -l /dev/bus/usb/*/*

Las entradas mostradas corresponden a los dispositivos del bus. El propietario, el grupo y los bits de permiso permiten ver si tu sesión puede acceder a ellos. Un error de permiso en scanimage o en el registro SANE confirma esta pista, pero la ausencia del escáner en la lista no es suficiente por sí sola.

Desconecta el escáner, espera unos segundos, y luego vuelve a conectarlo directamente a la computadora. Luego vuelve a ejecutar:

lsusb
sane-find-scanner
scanimage -L

Esta reconexión obliga a la recreación del archivo en /dev/bus/usb y permite verificar la regla udev aplicada al dispositivo. Si el acceso solo funciona después de una reconexión o solo en una sesión particular, verifica tu identidad y los grupos realmente asociados a la sesión:

id
groups

Una modificación de grupo solo se tiene en cuenta después de una nueva apertura de sesión, pero agregar ciegamente al usuario a un grupo llamado scanner no es un método confiable. Este grupo puede no existir, no ser utilizado por la regla del dispositivo o no corresponder al backend. Nunca des derechos globales con chmod 666 sobre un dispositivo USB.

Para avanzar más, compara las reglas udev proporcionadas por Ubuntu o por el fabricante con los permisos realmente presentes. Los principios de control de permisos de Linux se aplican aquí: corrige la regla específica, luego abre una nueva sesión y prueba el acceso con tu usuario normal.

Escáner de red: SANE, AirScan y descubrimiento mDNS

Un escáner de red puede funcionar sin aparecer en lsusb. Ubuntu debe descubrir un servicio eSCL/AirScan o WSD en la red local. Instala el backend AirScan y el servicio Avahi:

sudo apt update
sudo apt install sane-airscan avahi-daemon

Verifica que el servicio de descubrimiento mDNS esté activo:

systemctl is-active avahi-daemon

La respuesta esperada es active. Una respuesta inactive, failed o la ausencia del servicio indica un paso a corregir antes de probar la detección de red.

Luego interroga los dispositivos AirScan detectables:

airscan-discover

El comando puede mostrar los servicios encontrados con su tipo y dirección. Una lista vacía no prueba que el escáner sea incompatible. Puede señalar una red de invitados, aislamiento Wi-Fi, un firewall, Avahi inactivo o un escáner colocado en otra VLAN.

Verifica el perfil de red utilizado por Ubuntu y asegúrate de que la computadora no esté conectada a una red de invitados:

nmcli connection show --active
nmcli device status

Nuestra guía sobre cómo modificar un perfil de red con nmcli ayuda a verificar la conexión activa. El escáner y el equipo deben poder comunicarse en la misma LAN. El descubrimiento mDNS utiliza anuncios de red que no siempre atraviesan VLAN o ciertas configuraciones de puntos de acceso.

Después de esta verificación, vuelve a ejecutar:

scanimage -L

Si el escáner de red aparece, SANE ha encontrado el backend y el servicio de descubrimiento. El proyecto sane-airscan da soporte a escáneres de red eSCL/AirScan y WSD, con descubrimiento automático o configuración manual. Si el descubrimiento automático falla mientras se conoce la dirección IP del escáner, consulta su documentación para la configuración manual del backend, sin inventar un nombre de dispositivo ni una URL.

Validar en Escáner de documentos

Cuando scanimage -L lista el escáner, lanza la aplicación:

simple-scan

La lista visible en Escáner de documentos debe corresponder al dispositivo proporcionado por SANE. Inicia un escaneado simple y verifica que la vista previa se carga, que el documento es legible y que el guardado funciona en el formato elegido.

  • USB ausente en lsusb: corrige primero el cable, el puerto o la alimentación.
  • USB visible, pero ausente en scanimage -L: verifica el backend, los registros SANE y los permisos.
  • Escáner de red ausente en airscan-discover: verifica Avahi, la misma LAN y el aislamiento Wi-Fi.
  • Escáner listado, pero aplicación en error: prueba scanimage -T, y luego relanza Escáner de documentos en tu sesión de usuario.

La validación está completa cuando scanimage -L lista el escáner y simple-scan realiza un escaneo completo sin privilegios de administrador. Luego lanza un último escaneo con el documento realmente utilizado y verifica el archivo guardado.