Hacks para dos impresoras de red Ricoh
Posted by danitxu in /dev/hack, tags: impresora, pcl, pjl, ricohYa expliqué qué era el Job Accounting aplicado a una multifunción Samsung, y comento otro caso de posible interés para alguna oficina (la gente no suele tener en casa una máquina así), o didáctico en general: una Ricoh Aficio 2228c que no tiene cartucho de postscript y por tanto hay que usar el PCL5c emulado que sí soporta.
A pesar de que Ricoh ha entrado a la Linux Foundation hace poco, algunas de sus impresoras multifunción sin postscript se han distinguido por la ausencia de soporte para GNU/Linux.

En esta máquina, el driver CUPS a emplear para color es el Generic PCL5c foomatic/hpijs-pcl5c (la impresora tiene 1200 dpi y puede usar el cljet5c pero la resolución que da éste es sólo de 300 dpi). Problema: el fichero PPD asociado no ofrece opciones PJL para especificar usuario, y si se mira en las FAQs de openprinting para este modelo, nada se dice de cómo proceder con dicho PPD para insertar PJL.
Además, tampoco hay otras líneas con PJL en las que poder añadir sentencias (como ocurría con la Samsung). He probado distintas opciones para añadir un pipe en el mismo PPD (añadiendo un pipe en la línea FoomaticRIPCommandLine) pero no acaba de funcionar.
¿Solución? Montar un daemon que haga de proxy entre el CUPS y la impresora de red. Este nuevo servicio instalado en cada PC que vaya a imprimir hace lo siguiente:
- Escucha por un puerto local, ej. el localhost:9100. Esto implica que hay que configurar que la impresión no vaya directamente a la impresora de red sino al PC local.
- Recibe la información e inserta las líneas necesarias (si no, al estar la impresora configurada con Control de usuarios, ésta se queda bloqueada). Mirando un fichero generado por un Windows, concretamente son:
@PJL JOB NAME="Linux"^M
@PJL SET JOBNAME="Linux"^M
@PJL SET USERCODE="1234"^M - Envía el fichero resultado al puerto 9100 de la impresora.
Hay que asegurar que el daemon es daemon, esto es, no finaliza tras esta petición sino que se vuelve a ejecutar o se queda residente y sigue escuchando, y que esté en el arranque.
Dejo toda la info y el script en bash del daemon en mi wiki, donde incluyo otro hack que preparé hace tiempo para usar desde GNU/Linux el scanner de la multifunción Ricoh FX200, la cual ni siquiera aparece listada en openprinting.
Happy hack.




















Entries (RSS)
Buenos Dias, hay alguna forma de especificarle en cada impresión el código de usuario. He observado que con el lector de pdf o el “bloc de notas” tiene una pestaña “AVANZADO” donde si puedes especificar el código en cada impresion sin problemas pero claro la mayoría de la gente loo que usa es Open Office y en ese menu de impresion no da esa opción. ¿Has averiguado algo? un saludo
Pues últimamente no dispongo de esta impresora, de modo que no continúo en esta “investigación”
Gracias por contestar tan rapidamente, me gustaría saberlo para cualquier modelo de RIcoh moderno, es decir, que contenga código de usuario. No se si se puede cambiar dentro de la programación del ppd o en la configuración del sistema. Es para centros públicos, porque lo que no tengo acceso su, la idea es modificar el driver o lo que sea para que el usuario tenga que poner dicho código en algún apartado de las preferencias. lo que ya hace por cierto viendo un pdf por ejemplo.
Un saludo y gracias
Juan Carlos, te he mandado un correo a la dirección que indicas, pero me rebota. Si me escribes a jdanitxu arroba gmail punto com podemos hablarlo por mail. Saludos
danitxu te acabo de enviar un mail es que el correo es .es no .com me habia confundido. Me confirmas que te ha llegado y seguimos hablando del tema. Un saludo
Hola, yo también estoy buscando la manera de que el usuario tenga que introducir el código y contraseña cada vez que realiza una impresión. Si han conseguido algo me seria de gran ayuda si lo compartieran.
He probado de activar la autentificación en el archivo “/etc/cups/printers.conf” añadiendo la linea “AuthInfoRequired username,password” en la configuración de la impresora. Al hacer esto cuando intento imprimir me aparece un dialogo solicitándome usuario y contraseña pero no hace nada, donde se guarda la información que escribo? En una variable que se podría usar con los comandos PJL? No he conseguido averiguarlo
Gracias!
Hola Adrián, lo de /etc/cups/printers.conf no tiene nada que ver. Va más de comandos PJL. De todos modos, ya no dispongo de esta máquina y no puedo darte soporte, ya lo siento.
Yo he encontrado una solución que me ha funcionado en https://wiki.univie.ac.at/display/FZNSF/Ricoh+Aficio+MP+C2800