Automatic discovery
+On launch it enumerates USB printer interfaces, reads the IEEE 1284 device ID + and resolves the model profile from the embedded database.
+From bad95edd7bab68a3a862fb17ba6aca5e69a714a1 Mon Sep 17 00:00:00 2001 From: datacas <4690232+datacas@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:25:38 +0100 Subject: [PATCH] docs: add a bilingual landing page and a Spanish README The site is plain HTML/CSS served by GitHub Pages from docs/, with the same paper-and-chrome palette as the app, Spanish and English versions, canonical and hreflang links, Open Graph tags, JSON-LD and a sitemap. README.es.md mirrors the English README; both link to each other. The social preview image moves to docs/ so Pages can serve it. --- README.es.md | 235 +++++++++++++ README.md | 4 + docs/en/index.html | 342 +++++++++++++++++++ docs/index.html | 348 ++++++++++++++++++++ docs/robots.txt | 3 + docs/site.css | 475 +++++++++++++++++++++++++++ docs/sitemap.xml | 17 + {.github => docs}/social-preview.png | Bin 8 files changed, 1424 insertions(+) create mode 100644 README.es.md create mode 100644 docs/en/index.html create mode 100644 docs/index.html create mode 100644 docs/robots.txt create mode 100644 docs/site.css create mode 100644 docs/sitemap.xml rename {.github => docs}/social-preview.png (100%) diff --git a/README.es.md b/README.es.md new file mode 100644 index 0000000..3ceb646 --- /dev/null +++ b/README.es.md @@ -0,0 +1,235 @@ +
+
+
+ Descargar la última versión para Windows +
+ + + ++ English · Español +
+ +InkReset es una utilidad de escritorio de código abierto que lee y reinicia los +**contadores de tinta residual** de impresoras Epson por USB. Habla directamente con +la impresora mediante IEEE 1284.4 y los comandos de servicio de la EEPROM de Epson: +sin cuenta del fabricante, sin clave de licencia, sin servidor de activación y sin +acceso a la red. + +> **Reiniciar un contador no es mantenimiento.** +> Reiniciar el contador **no** limpia, sustituye ni vacía el absorbente físico de tinta +> residual. Atiende primero la almohadilla. Reiniciar una almohadilla saturada puede +> hacer que la tinta se desborde. + +## Hardware probado + +InkReset solo se ha probado de principio a fin en una **Epson XP-530** +(`MDL:XP-530 Series`): lectura de los dos contadores de residuos y prueba de escritura +segura. La base de datos integrada cubre muchos otros modelos Epson y el protocolo +debería funcionar en ellos, pero **esos modelos no están probados**. + +Si usas otra impresora, haz primero una lectura y la prueba de escritura segura, y +reinicia bajo tu responsabilidad. Los autores no se hacen responsables de los daños +causados a otras impresoras. + +--- + +## Funciones + +- **Detección automática.** Al arrancar, InkReset enumera las interfaces de impresora + USB, lee el identificador IEEE 1284 del dispositivo y resuelve el perfil + correspondiente en la base de datos integrada. +- **Lecturas reales.** Se lee por USB cada contador de residuos que expone el modelo, + con los valores de registro en bruto y el fondo de escala que declara la impresora. +- **Reinicio condicionado.** Solo se ejecuta si el modelo tiene una tabla de reinicio + verificada, el hardware sigue informando del mismo `MDL:` y el usuario escribe ese + modelo exactamente. Después se vuelven a leer los contadores para verificar la + escritura. +- **Prueba de escritura segura.** Una autoprueba dedicada reescribe un byte de la + EEPROM sin cambiarlo, demostrando que toda la ruta de escritura funciona sin alterar + ningún dato. +- **Interfaz bilingüe.** Español por defecto, inglés disponible en Preferencias. +- **Solo local.** Los ajustes y el historial viven en `localStorage`. No hay telemetría, + ni registro remoto, ni ninguna petición saliente. +- **Sondas sin interfaz.** El mismo núcleo nativo puede enumerar impresoras y leer + contadores desde la línea de comandos, sin abrir la ventana. + +## Capturas + + + +| Índice de modelos | Preferencias y puente de hardware | +| --- | --- | +|  |  | + + + +## Tecnología + +| Capa | Tecnología | +| --- | --- | +| Interfaz | React 19, TypeScript, Vite | +| Contenedor de escritorio | Tauri 2 | +| Puente nativo | Rust | +| Transporte USB | Windows SetupAPI / `USBPRINT` + `ReadFile` / `WriteFile` solapados | +| Protocolo de impresora | Sesión IEEE 1284.4 + comandos de servicio de la EEPROM de Epson | + +La interfaz se dibuja dentro del WebView de Tauri. Cada escaneo, lectura y reinicio es +una transacción USB real ejecutada por el puente en Rust; la capa web solo describe la +intención. + +## Cómo funciona el protocolo + +InkReset implementa la sesión IEEE 1284.4 que usan las herramientas de servicio de +Epson: + +1. Entrar en modo 1284.4. +2. Inicializar la sesión y resolver el nombre del servicio a un id de socket. +3. Abrir un canal con los tamaños de paquete que declara el perfil del dispositivo. +4. Intercambiar concesiones y peticiones de crédito y enviar un paquete de datos por + cada byte de EEPROM. +5. Cerrar el canal y salir del modo 1284.4. + +El comando de EEPROM que viaja dentro de un paquete de datos es: + +``` +lectura: 7C 7C+ English · Español +
+ InkReset is an open-source desktop utility that reads and resets the **waste-ink counters** of Epson printers over USB. It talks to the printer directly through IEEE 1284.4 and the Epson EEPROM service commands — no vendor account, no licence diff --git a/docs/en/index.html b/docs/en/index.html new file mode 100644 index 0000000..8727633 --- /dev/null +++ b/docs/en/index.html @@ -0,0 +1,342 @@ + + + + + ++ Read and reset the waste ink pad counter of your Epson over USB. No account, + no licence key and no network: the app talks to the printer directly through + IEEE 1284.4. +
+ + +
+ + A counter reset is not maintenance. + It does not clean, replace or empty the physical absorber. Service the pad first: + resetting a saturated pad can make ink overflow. +
+
+ InkReset has only been tested end to end on an Epson XP-530
+ (MDL:XP-530 Series): reading both counters and the safe write test.
+
+ The embedded database covers many other Epson models and the protocol should + work on them, but those models are untested. On a different printer, run a + read and the safe write test first, then reset at your own risk. The authors + accept no responsibility for damage caused to other printers. +
+Everything on screen is a real USB transaction executed by the native Rust + bridge.
+On launch it enumerates USB printer interfaces, reads the IEEE 1284 device ID + and resolves the model profile from the embedded database.
+Every counter the model exposes, with raw register values and the full-scale + value the printer itself reports.
+The model is re-read from the device and has to be typed exactly. Without a + verified reset table, nothing is written.
+A self-test writes one EEPROM byte back unchanged, proving the whole write + path works before you touch a counter.
+No telemetry, no licence server and no outbound request. Settings and history + stay on the machine.
+Spanish by default, English available in Settings. No feature depends on the + language.
+Taken with a real XP-530 connected over USB.
+
+
+
+ Windows 10 or 11, 64-bit. No account, no key, no activation.
+Installs the app and creates a shortcut. It can be removed from Settings like + any other program.
+ +A single executable. Handy for a service USB stick.
+ +For group policy or endpoint management tooling.
+ +Writing to a printer EEPROM is irreversible. The app is built around that.
+MDL: string has to be typed.Yes. The code is MIT and the published builds are free. No “pro” edition, no + key and no reset limit.
+No. The app opens no network connections: it talks to the printer over USB and + keeps settings in local storage. No telemetry, no remote logging.
+Probably, but only an XP-530 is verified. The database ships 1,022 printer + records and 371 spec keys, and roughly 930 resolve to a usable service block. If + your model is untested, run a read and the safe write test first, and accept the + risk.
+An internal counter the printer increments on every head cleaning. When it + reaches the limit the firmware stops printing even though the printer still + works. Resetting returns the counter to zero; it does not replace the pad, which + is still soaked with ink.
+No. There is no activation, no server and no account check. The executable + works offline.
+The USB bridge uses Windows SetupAPI and the USBPRINT device. On
+ Linux and macOS the front end builds and runs, but the bridge reports itself as
+ unavailable and no device is contacted.
+ When an Epson reports that the waste ink pad is at the end of its service life, + the firmware blocks printing even though the print head may still be fine. The + message refers to an internal counter that adds up every cleaning cycle; the + physical absorber is a separate thing and has to be dealt with too. +
+MDL: string.+ Replace or clean the pad. A zeroed counter over a saturated absorber only delays + the problem and can end in a spill inside the machine. If you would rather not take + the printer apart, have the maintenance done by a service centre and use InkReset + for the software side only. +
++ The embedded database targets the Epson family with IEEE 1284.4 support, from + Expression Home and WorkForce to EcoTank and the XP, WF, ET and L series. Even so, + the only model verified on hardware is the XP-530. +
++ Lee y reinicia el contador de la almohadilla de residuos de tu Epson por USB. + Sin cuenta, sin clave de licencia y sin conexión: la aplicación habla + directamente con la impresora mediante IEEE 1284.4. +
+ + +
+ + Reiniciar el contador no es mantenimiento. + No limpia, no sustituye y no vacía el absorbente físico. Atiende la almohadilla + primero: reiniciar una almohadilla saturada puede hacer que la tinta se desborde. +
+
+ InkReset solo se ha probado de principio a fin en una Epson XP-530
+ (MDL:XP-530 Series): lectura de los dos contadores y prueba de
+ escritura segura.
+
+ La base de datos integrada cubre muchos otros modelos Epson y el protocolo + debería funcionar en ellos, pero esos modelos no están probados. Si usas + otra impresora, haz primero una lectura y la prueba de escritura segura, y + reinicia bajo tu responsabilidad. Los autores no se hacen responsables de los + daños causados a otras impresoras. +
+Todo lo que ocurre en pantalla es una transacción USB real ejecutada por el + puente nativo en Rust.
+Al abrir, enumera las interfaces de impresora USB, lee el identificador + IEEE 1284 y resuelve el perfil del modelo en la base de datos integrada.
+Cada contador que expone el modelo, con sus registros en bruto y el fondo de + escala que declara la propia impresora.
+El modelo se vuelve a leer del dispositivo y hay que teclearlo exactamente. + Sin tabla de reinicio verificada, no se escribe nada.
+Una autoprueba reescribe un byte de la EEPROM sin cambiarlo y demuestra que + toda la ruta de escritura funciona.
+Sin telemetría, sin servidor de licencias y sin ninguna petición saliente. + Ajustes e historial se quedan en el equipo.
+Español por defecto, inglés disponible en Preferencias. Ninguna función + depende del idioma.
+Tomadas con una XP-530 real conectada por USB.
+
+
+
+ Windows 10 u 11, 64 bits. No hay cuenta, ni clave, ni activación.
+Instala la aplicación y crea el acceso directo. Se puede desinstalar desde + Configuración como cualquier otro programa.
+ +Un único ejecutable. Útil para llevar la herramienta en un pendrive de + servicio.
+ +Para despliegue con directivas de grupo o herramientas de gestión.
+ +Escribir en la EEPROM de una impresora es irreversible. La aplicación está + construida alrededor de esa idea.
+MDL: exacta.Sí. El código es MIT y las versiones publicadas son gratuitas. No hay versión + «pro», ni clave, ni límite de reinicios.
+No. La aplicación no abre conexiones de red: habla con la impresora por USB y + guarda los ajustes en el almacenamiento local del equipo. No hay telemetría ni + registro remoto.
+Probablemente, pero solo está verificada una XP-530. La base de datos incluye + 1.022 registros de impresora y 371 claves de especificación, y unas 930 resuelven + a un bloque de servicio utilizable. Si tu modelo no está probado, ejecuta primero + una lectura y la prueba de escritura segura, y asume el riesgo.
+Es un contador interno que la impresora incrementa con cada limpieza de + cabezales. Cuando llega al límite, el firmware se detiene aunque la impresora + funcione. Reiniciarlo devuelve el contador a cero; no sustituye la almohadilla, + que sigue llena de tinta.
+No. No hay activación, ni servidor, ni comprobación de cuenta. El ejecutable + funciona sin red.
+El puente USB usa SetupAPI y el dispositivo USBPRINT de Windows. En Linux y
+ macOS la interfaz compila y arranca, pero el puente se declara no disponible y no
+ se contacta con ningún dispositivo.
+ Cuando una Epson muestra el aviso de que la almohadilla de tinta residual está + al final de su vida útil, el firmware bloquea la impresión aunque el cabezal siga + funcionando. El mensaje hace referencia a un contador interno que suma cada + limpieza; el absorbente físico es otra cosa y también hay que atenderlo. +
+MDL: exacto.+ Sustituye o limpia la almohadilla. Un contador a cero con un absorbente saturado + solo retrasa el problema y puede acabar en un derrame dentro del equipo. Si no + quieres desmontar la impresora, lleva el mantenimiento a un servicio técnico y usa + InkReset solo para la parte lógica. +
++ La base de datos integrada está pensada para la familia Epson con soporte de + IEEE 1284.4, desde las Expression Home y WorkForce hasta las EcoTank y las series + XP, WF, ET y L. Aun así, la única verificada en hardware es la XP-530. +
+