Autor Tema: [HOWTO] Hacer que p910nd redetecte la impresora por usb al encenderla.  (Leído 184 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado peperfus

  • *****
  • Mensajes: 109
W A R N I N G
Citar
DISCLAIMER - EXCENCIÓN DE RESPONSABILIDAD
El presente tutorial / manual / howto, instrucciones o texto en general, carece de cualquier garantía y sólo está pensado como uso a modo educativo, de aprendizaje, experimentación, investigación y desarrollo.
Puede contener errores así como ambigüedades o falta de información precisa. En cualquier caso, las sugerencias, comentarios y críticas constructivas serán siempre bienvenidos.
El autor rechaza cualquier responsabilidad por cualquier tipo de daño, ya sea directo o indirecto, accidental o intencionado que la aplicación del siguiente texto pueda ocasionar.
Su uso está totalmente desaconsejado en entornos de producción a no ser, bajo la estricta supervisión de un profesional debidamente cualificado y bajo su única y exclusiva responsabilidad.
La aplicación del presente texto en cualquier sistema, implica la total aceptación de estas condiciones.
Peperfus.

Hola, voy al grano:
Tras instalar impresora USB con el programa p910nd (y otros complementos necesarios...). Obviamente no conviene tenerla encendida contínuamente por el malgasto de energía.
Al encenderla para imprimir desde el PC.... nos da error, como si no la detectara.
Esto se soluciona haciéndole un reload (o restart) al demonio p910nd; sin embargo, es un rollo tener que hacerlo manualmente cada vez que encendamos la impresora.

Lo que se puede hacer, es un script que lo haga por nosotros, que se ejecuta automáticamente al conectar algo a un puerto USB:

Código: [Seleccionar]
#!/bin/sh


# CUANDO CONECTAMOS LA IMPRESORA BROTHER
# REFRESCA EL p910nd PARA QUE LA DETECTE

if [ "$PRODUCT" = "4f9/380/100" -a "$ACTION" = "add" ]; then
  sleep 10
  /etc/init.d/p910nd reload
fi

El script lo he llamado 20-usb y lo he puesto en el directorio: /etc/hotplug.d/usb (tuve que crear el directorio usb) y le di permiso de ejecución: chmod +x ./20-usb
Lo del número 20 creo que es porque se ejecutan todos los scripts cuando se detectan cosas que pasan (eventos) y el 20 le indica en qué orden debe ejecutarse (puse el 20 a boleo), aunque creo que da un poco igual en este caso.

En la variable $PRODUCT está el código de producto de mi impresora (vosotros tendréis que averiguar el vuestro. Se pude hacer simplemente con un echo $PRODUCT, o algo así, para que os lo diga al conectarla).
Y el sleep lo puse para que se esperara un poco a que la impresora terminara de "arrancar". -a es para concatenar con AND.

Espero que le sirva a alguien.
Un saludo.


« Última modificación: 21-04-2019, 20:16 (Domingo) por peperfus »