El servidor IPP minimalista no le gusta el formato de nuestras solicitudes — un capricho conocido de los EcoTank.
La 1.0.5 que acaba de salir ahora envía las solicitudes en varias variantes (incluyendo las que Epson exige) y elige automáticamente la que funciona.
Actualiza la integración y vuelve a hacer clic en el botón « Probar una impresora » con tu IP: si funciona, tu descubrimiento seguirá. Si sigue fallando, pégame el mensaje exacto del botón — dice exactamente lo que responde la impresora.
(Para CUPS: haría funcionar la conexión pero muy probablemente sin los niveles
de tinta — CUPS iría a interrogar a tu Epson a través del mismo IPP caprichoso. Mejor solucionar
el problema de raíz )
@guim31 con la versión 1.0.5, ¿escaneas todas las máquinas en toda la red?
Porque tengo un montón de mis máquinas (incluida mi impresora) que están siendo escaneadas en todos los puertos abiertos, me parece (lo que significa que tengo muchos puertos abiertos, etc.).
Para el escaneo, respuesta precisa: no, ningún escaneo de red ni de
puertos. La integración hace exactamente tres cosas: escucha (a través de Gladys) los
anuncios mDNS _ipp._tcp — multicast pasivo, no se sondea a nadie —; se
conecta en IPP al puerto 631 de solo las máquinas que se anuncian como
impresoras o que has introducido en la configuración; e interroga tus
impresoras añadidas cada 15 segundos, siempre en el puerto 631. Todo está en el
código, abierto: src/discovery.js y src/ipp/client.js en el repositorio.
Lo que probablemente ve tu firewall: las conexiones repetidas al puerto 631 de
tu impresora (el seguimiento de estado, cada 15 segundos), que algunos IDS
etiquetan como «escaneo» debido a la frecuencia. Y si varias de tus máquinas
aparecen, verifica si comparten una impresora a través de CUPS: entonces se
anuncian a sí mismas como impresoras IPP y son escaneadas a este título — solo en el puerto 631.
Por otro lado, si tus registros muestran realmente conexiones en MUCHOS puertos
diferentes, esto no proviene de esta integración — y valdría la pena
identificar la verdadera fuente.
Te envío mis registros por mensaje privado porque fue a través de los registros de la integración que vi todo este escaneo, nada desde mi firewall o mi instalación de red.
Re @Chris75 ¡ Claude ha investigado, y tu observación anterior contiene una pista valiosa:
has visto pasar « idle (media-empty) » — por lo tanto, la cadena de detección funciona, ella
captura bien los cambios de estado. Si « printing » no aparece, es que tu
impresora no lo indica a través de IPP.
Y hay una explicación probable: en muchas impresoras HP, el estado IPP refleja la cola
de impresión IPP, no el motor físico. Si imprimes desde un PC con el controlador
HP, el trabajo se envía por otro canal (puerto 9100) y la cola IPP permanece vacía — por lo tanto
« idle », incluso durante la impresión. El « media-empty », en cambio, proviene del sensor de papel
y se reporta sin importar el canal — de ahí que veas uno y no el otro.
Dos pequeñas pruebas para decidir, si quieres:
Inicia una impresión larga y, MIENTRAS sale, haz clic en « Probar una
impresora » con tu IP: es una lectura en tiempo real. Dime qué muestra
el botón.
Imprime una página desde tu teléfono (AirPrint/Mopria usan IPP, ellos)
y mira si « printing » aparece esta vez.
Si la prueba en tiempo real dice « idle » mientras el papel sale, es el firmware que
no publica el estado del motor a través de IPP — y allí, ninguna integración puede inventarlo.
Si, por el contrario, la impresión desde el teléfono muestra « printing », tendremos la
confirmación: el estado funcionará para todo lo que se imprima a través de AirPrint.
¡Hola @elfedagger! Lo siento, me había pasado por alto el mensaje…!
Buena noticia ya: la conexión cifrada funciona, tu ET-2810 está encontrada y su estado se reporta. Solo quedan las cartuchos.
He encontrado una explicación probable. Cuando la integración consulta la impresora, envía la lista precisa de las informaciones que quiere (incluyendo los niveles de tinta). Algunos firmwares de Epson responden educadamente… olvidando justamente los niveles cuando se les pide explícitamente, mientras que los dan cuando se pide « todo » sin especificar. Sí, es absurdo, pero es un gran clásico en ellos.
El parche está publicado en la 1.0.8.
Mientras espero a que lo instales, una pequeña prueba me ayudaría a confirmar: en la página de la integración, botón « Probar una impresora » con la IP de tu Epson (192.168.1.51), y pégame el resultado aquí.
Si ves tus cartuchos listados (incluso con valores raros), es otra cosa y sigo investigando.
Si ves « ningún consumible anunciado », es el escenario de arriba — y sabremos si la próxima versión lo arregla, o si este modelo simplemente no da sus niveles en IPP (algunos Epson solo los exponen a través de su aplicación propia, en cuyo caso lo documentaré honestamente).
En el peor de los casos, actualizas y me dices si funciona !!
tengo esto como respuesta antes de tu actualización.
Impresora OK: EPSON ET-2810 Series — estado « inactivo » — ningún consumible anunciado (https://192.168.1.51:631/ipp/print)
tengo el mismo resultado con la versión 1.08.
Impresora OK: EPSON ET-2810 Series — estado « idle » — ningún consumible anunciado (https://192.168.1.51:631/ipp/print)
¡Gracias por los dos tests, es exactamente lo que necesitaba! Y el resultado es muy instructivo: incluso cuando le pides a tu impresora que nos lo diga TODO, nunca menciona sus cartuchos… en el formato que yo leía.
Explicación: en realidad existen dos formas estándar para que una impresora anuncie sus consumibles en IPP. La más común (la que yo leía), y una segunda, más reciente, que muchos Epson utilizan en su lugar. Tu ET-2810 evidentemente pertenece a la segunda escuela — y yo solo miraba la primera. Está corregido: la próxima versión lee los dos formatos.
Bonus: también he hecho que el botón « Probar una impresora » sea más hablador. Si no encuentra cartuchos, ahora dirá exactamente por qué:
« atributos no utilizados: … » → la impresora anuncia algo que aún no sé leer, y la lista me dirá exactamente qué es;
« ningún atributo de consumible en la respuesta IPP » → ahí, será la prueba definitiva de que tu modelo reserva los niveles de tinta a la aplicación Epson (y entonces miraré otra pista, el protocolo SNMP, que los Epson suelen soportar).
Por lo tanto, incluso en el peor de los casos, tu próximo test nos dirá hacia dónde ir.
Tengo esto con la 1.09.
Impresora OK: EPSON ET-2810 Series — estado « idle » — ningún atributo de consumible en la respuesta IPP (https://192.168.1.51:631/ipp/print)
Ok. « Aucun attribut de consommable dans la réponse IPP », eso significa que se han agotado los dos estándares IPP: tu ET-2810 simplemente no publica sus niveles de tinta a través de este protocolo. No es un error, es su firmware.
Pero queda una puerta, y es la correcta: el SNMP. Es el protocolo que CUPS (el sistema de impresión de Linux y macOS) usa precisamente para leer los niveles de tinta, y Epson generalmente lo llena muy correctamente donde están mudos en IPP. Por lo tanto, lo he añadido a la integración.
Concretamente, a partir de la próxima versión: si una impresora no dice nada sobre sus cartuchos en IPP, la integración le pregunta amablemente en SNMP. Y para los curiosos (y porque la pregunta del tráfico de red había sido planteada con razón más arriba en el hilo), está deliberadamente muy enmarcado:
solo hacia la impresora que ya estamos interrogando, nunca hacia otra cosa;
solo si el IPP no ha dado nada — una impresora cuyos niveles ya funcionan (las HP del hilo, por ejemplo) nunca enviará el más mínimo paquete SNMP;
solo en el momento de leer los niveles, no en cada verificación de estado;
y si la impresora no responde, la dejamos tranquila durante 30 minutos en lugar de volver a intentarlo en bucle.
El botón « Probar una impresora » ahora te dirá de dónde vienen los valores (« vía SNMP »).
Un punto a verificar de tu lado si no funciona: en la configuración de red de tu Epson, el SNMP debe estar activado (lo está por defecto) y el nombre de la comunidad dejado en public.
¡Crucemos los dedos, esta vez estoy bastante confiado!
Obtuve esto como respuesta de la impresora OK: EPSON ET-2810 Series — estado « idle » — Black Ink Bottle: desconocido (-2), Cyan Ink Bottle: desconocido (-2), Magenta Ink Bottle: desconocido (-2), Yellow Ink Bottle: desconocido (-2) (vía SNMP) (https://192.168.1.51:631/ipp/print)etour.
Mi impresora solo tiene la funcionalidad de texto