RxNaison/Epson-Waste-Reset

Productivity & Utilities

Resets Epson printers' waste-ink counters over USB or network, for people avoiding paid reset keys or third-party tools.

427
76
C++
Apache-2.0
7 months old

A practical alternative to paid reset keys and dubious Adjust-Program builds, provided your printer model is in its database and you accept a low-level EEPROM write.

The problem

An Epson printer that reports its waste ink pad as full stops working even while the hardware is fine, because a counter in the printer's EEPROM has reached its limit. The usual fixes are a paid reset key from a third-party service or a downloaded AdjProg.exe that antivirus software flags, both of which make people uneasy about what they are running on a machine connected to their printer. EWR replaces that step: after a preflight read and one confirmation, it writes the reset packet directly over USB or the network and then reads the counters back. The result is a printer that continues working, with the before and after numbers shown on screen.

What's different

EWR builds the IEEE 1284.4 write packets itself for the selected model instead of shipping a set of pre-made key files. It keeps a model database of roughly 1450 printers, fetches updates at startup before touching the printer, and also bundles the database so an offline run works. The reset lifecycle is read, refuse if the printer state makes the reset pointless, confirm, write, read back and compare, so the tool reports observed values rather than trusting the printer's acknowledgement. On Windows it uses both the standard usbprint.sys path and a bundled libusb for vendor interfaces the former cannot reach.

The trade-off is that this is a write to model-specific memory. EWR's own documentation names the worst case: writing to the wrong model can misconfigure a printer you cannot replace, which is why the default path checks the model the printer reports and stops when the database does not match. --force-yes exists to override those refusals, and the author states the reasons for the gates still apply when it is used. The read-back confirms the expected values were written, not that the physical ink pads are clean.

Who should try it

This fits someone with a supported Epson printer that has stopped on a waste-ink warning and who is comfortable running a command-line utility over USB or a network connection. It also suits people who want to script or inspect the process: --status is read-only, --dry-run shows cartridge writes without sending them, and --json emits machine-readable events for another program to consume.

It is a poor fit for anyone expecting a point-and-click installer or a guarantee across all Epson models. The maintainer's own support notes point out that a maintenance-box warning is a different problem with its own chip, so those users need a physical chip resetter or a replacement box, not this tool.

Requirements and limitations

USB access on Linux and macOS requires running with sudo, and on every platform the network path is a fallback when USB gets no answer (--ip goes straight to an address). Close other Epson software first; a program talking to the printer at the same time can keep it busy or consume EWR's replies. Keep the executable and database.json together, and power-cycle the printer with its physical button after the run so the change is committed.

Because the model database is the gate on what can be written safely, checking your exact model before running matters more than the generic feature list. EWR logs every packet to ewr_trace.log next to the executable, which the project asks you to attach to an issue if a reset fails or the error returns after a power cycle. Releases from v1.4.1 carry signed build-provenance attestations, and the project warns against copies distributed through video descriptions or forums; verifying an archived release with the GitHub CLI is documented in the project instructions.

HotRepo's take

HotRepo's only dated observation is 2026-10-28, when the repository had 426 stars and gained 5 that day on the daily board. That is a single snapshot, so persistence of interest cannot yet be judged. The useful decision check is narrower than popularity: confirm your exact model appears in the bundled database and that it is reached over the same transport the project documents for it, since a wrong-model write is the failure this tool is built to avoid.

Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.