miércoles, 11 de marzo de 2015

Convirtiendo una impresora USB en impresora de red gracias a un pequeño router y OpenWRT

Tengo una impresora Kiosera FS-1120D, a la que se le puede instalar una tarjeta Ethernet para tenerla como impresora de red, pero en mi caso no la trae, solamente trae interfaz USB.

Paralelamente he venido jugando con los enrutadores TP-Link MR3020 y con el grandioso firmware OpenWRT La idea es poder imprimir por red desde cualquier lado de una red IP (local o remota).

así:

+ 

=


Esto no es más que la adaptación de otra guia a el router TP-Link MR3020 y en español.

Primero hay que cambiar el firmware del MR3020. Se conecta por la IP de administración del router mediante un navegador web (no vamos a explicar como hacerlo ya que es un procedimiento estandar).
Yo he bajado la imagen para este router compilada por OpenWRT en su version Barrier Breaker que la pueden obtener aqui.

Por la opción de Firmware Upgrade del router es simplemente subir el archivo descargado y esperar unos 3 minutos.
Luego de lo anterior el router es accesible por medio de la IP 192.168.1.1

Accedemos por un navegador Web usando dicha IP, lo primero que encontrarán es que el firmware solicita que sea configurada una clave para acceso como  root. Pongan una que puedan recordar.

Adicionalmente el enrutador debe estar configurado en una dirección IP que tenga salida a internet, es decir, como un computador más. Por ejemplo mi red LAN está en el rango 192.168.30.0/24 por eso le puse una IP estática 192.168.30.101 con gateway 192.168.30.1 (el router local) y DNS de mi preferencia.

Conectar el Router MR3020 con un cable ethernet a nuestra red local, o también pueden habilitar la configuración WiFi para imprimir de forma inalámbrica.

Luego pueden acceder por SSH al router. Yo usé el software  libre PuTTY; obtendrán esta consola:

Ya desde aqui debe introducir los siguientes comandos sin obtener errores:


opkg update
opkg install kmod-usb2
opkg install usbutils

Instalar soporte de impresoras:
opkg install kmod-usb-printer

Instalar en servidor de impresoras p910nd, el cual es un pequeño demonio que no pone los trabajos en cola en el disco, sino que pasa directamente a la impresora.
opkg install p910nd

Con ello se tiene todo lo necesario, ahora a modificar los archivos de configuración.
Con el siguiente comando se debe editar el archivo. Si no sabe usar vi es necesario que busque ejemplos en la internet antes.

# vi /etc/config/p910nd

El archivo debe quedar así:

config p910nd
        option device        /dev/usb/lp0
        option port          0
        option bidirectional 1
        option enabled       1


Ahora se debe configurar el firewall del MR3020 para que acepte peticiones del puerto 9100

Con el siguiente comando se debe editar el archivo.

# vi /etc/config/firewall

Al FINAL del archivo debe agregarse:


#Allow attached network printer
config 'rule'
option 'src' 'lan'
option 'proto' 'tcp'
option 'dest_port' '9100'
option 'target' 'ACCEPT'

OK. Para finalizar se habilita el servidor de impresoras y se reinicia el router:
#/etc/init.d/p910nd enable
# reboot

Para configurar la impresora en un entorno Windows se debe hacer lo siguiente:

1. Instalar por USB la impresora en el equipo, con todos sus drivers archivos conrrespondientes. Hacer prueba de impresión por USB y que funcione todo. Luego desconectar el cable USB.









Ahora hay que ir a la configuración de la impresora que se instaló por USB y cambiar el puerto al TCP/IP recién creado.




Listo!!! Ya pueden hacer pruebas.





3 comentarios:

  1. Thanks bro, todo muy claro. Funcionando!

    ResponderEliminar
  2. sabras como hacer del mr 3020 un servidor smb o que funcione como nas con el openwrt? seria muy buen experimento

    ResponderEliminar
  3. cualquier dato escribeme por si no me llega la notificacion por medio de este blog: biotec2007@hotmail.com

    ResponderEliminar