Hlavní navigace

Resetujeme počítadlo tiskárny Epson, které blokuje tisk

Josef Pavlík

Koupili jste si tiskárnu Epson a myslíte si, že ji máte napořád? Inkoustové tiskárny od firmy Epson mají počítadlo, které v tichosti odpočítává a v nejméně vhodném okamžiku tiskárnu zablokuje.

Doba čtení: 6 minut

Sdílet

Firma Epson vyrábí kvalitní tiskárny. O tom se nedá polemizovat. Od jehličkových tiskáren z 80. let přes termotiskárny pro tisk nejrůznějších účtenek, až po inkoustové tiskárny, které najdeme v každé druhé domácnosti. Spousta jehličkových tiskáren z počátku 90. let minulého století funguje dodnes. Termotiskárny u některých našich klientů tisknout denně už 20 let a potiskly stovky kilometrů papíru. Proto mě velmi překvapilo, když minulý pátek moje inkoustová tiskárna suše vyhlásila, že už dál tisknout nebude.


Konkrétně je to tiskárna Epson XP-510. Mám ji asi čtyři roky a tvrdí že vytiskla přibližně 4500 stránek. Zásobníky inkoustů jsem vyměňoval už asi šestkrát. Teď tiskárna vyhlásila Error 11 – „An ink pad needs Service, contact Epson“ – něco na způsob „poduška na inkoust potřebuje servis, kontaktujte Epson“.

Prošel jsem si v duchu několik možných scénářů. Zavézt ji do opravny? Tu opravnu znám dost dobře. Už jsem tam párkrát byl a ne, že bych byl spokojen. Navíc by to stálo asi 50 eur plus zabitý čas nebo další peníze za odeslání. Vzhledem k tomu, že nová tiskárna stojí řádově tolik, kolik by stála oprava, tudy cesta nevede. Ale přece nevyhodím skoro novou tiskárnu!

Analýza problému

Jak vlastně funguje inkoustová tiskárna? Základem tiskárny je hlavička s tryskami, které stříkají kapičky inkoustu na papír. Nad ní jsou zásobníky s inkoustem. Když tiskárna nějakou dobu stojí, trysky zaschnou a je potřeba je propláchnout. Čím? Samozřejmě inkoustem. A ten inkoust někde musí skončit. Takže pod parkovištěm pro hlavičku je zásobník na odstříknutý inkoust.

Je to taková plastová vanička o objemu asi 1,5 dl. Spodní polovina je vyplněná houbou, do které se vsakuje odstříknutý inkoust. Je samozřejmě vhodné, aby houba nenasákla na 100 %, protože pak by se vanička začala plnit tekutým inkoustem a při naklonění tiskárny by tahle černočerná kapalina vytekla na nábytek a nikdo by to už nevyčistil. Epson poměrně jednoduše zajistil, že se to nestane.

V tiskárně je počitadlo, které ukazuje, kolikrát se čistila hlavička. Ať už automaticky nebo vyvoláním čistící procedury. Když počitadlo napočítá do 100 % a tiskárna si myslí, že by houbička mohla být plná, prostě vyhlásí chybu a dotiskli jsme. Potřebujete do rána dotisknout diplomku, protože zítra je poslední den na odevzdání? Smůla, Epson rozhodl a neuděláte nic. 

Poznámka: Když jsem tiskl diplomku, vůbec jsem si nepřipouštěl, že by se tiskárna mohla pokazit. Tiskl jsem na Wangu s typovým kolečkem a dotiskl jsem v 5 ráno. Jedna stránka se tiskla několik minut. To byly časy.

Problém se v zásadě dělí na dva: soft a hard. Vynulování počitadla a výměnu houbičky.

Vynulování počitadla

Hledáním po Internetu jsem poměrně rychle našel stránku, kde je program pro inicializaci tohoto počítadla. Program funguje pro široké spektrum tiskáren Epson. Dokáže vyčíst z tiskárny například její sériové číslo, počitadla stránek a stav chyb. Věci, které nejdou udělat z velmi chudého webového rozhraní tiskárny. Hlavně ale dokáže přečíst a vynulovat počitadlo vyhozeného inkoustu. Moje počitadlo bylo na 100,3 %.

Ovšem není všechno růžové, jak to vypadá. Je tady malý háček. Program sice umí vynulovat počitadlo, ale něco to bude stát. Je nutné si za 10 dolarů koupit kód a s tímto kódem program jednou počitadlo vynuluje. Až se vám to stane znovu, zaplatíte dalších 10 dolarů.

Tohle je ovšem nehoráznost! Tak já si koupím tiskárnu a pak budu platit výpalné, aby fungovala? Navíc se kód nekupuje od Epsonů, ale od někoho z Ukrajiny. Ovšem hledání nějaké jiné oficiální cesty nikam nevedlo. Epson se tváří, jako by o tomto problému nevěděl.

Naštěstí ale Ukrajinci dávají možnost si proceduru vyzkoušet s testovacím kódem, který sníží počitadlo na 90 %. Ovšem tato procedura se dá udělat pro každou tiskárnu jenom jednou. Pravděpodobně do tiskárny do některého nepoužitého registru nastaví flag, že už procedura jednou proběhla a příště máte smůlu.

Instalace programu

Ze stránky se dá stáhnout balíček pro Debian, na Kubuntu 18.10 se nainstaloval bez nejmenších problémů. Distribuce používající RPM ovšem mají smůlu.


Po spuštění programu se objeví průvodce, který vás provede celou procedurou. Ale nakonec je lepší průvodce zavřít a udělat co potřebujeme sami. Objeví se seznam tiskáren, v mém případě je tiskárna vidět dvakrát, protože je připojená jak po USB, tak po Wi-Fi.

Začneme tím, že přečteme stav počitadla. Kliknutím na tlačítko „read waste counters“ se program spojí s tiskárnou a zobrazí stav. V mém případě to bylo 100,3 %. Počitadla jsou tam dvě, druhé pravděpodobně nemá význam a jeho hodnota byla nulová.

Nyní je možno kliknutím na „reset waste counters“ spustit proceduru, o kterou nám jde. Pro začátek jsem použil kód TRIAL, který sníží počitadlo na 90% a dá se použít jenom jednou. Obě počitadla jsou teď kolem 90 %.

Program není moc stabilní, při pokusu o zakoupení kódu se zhroutil, stejně tak se čas od času zhroutil při pokusech o některé pokročilejší funkce. Ovšem čtení stavu počitadla a jeho reset zvládá dobře.

Pro pobavení – ve spodní liště běží on-line report, že někdo někde právě resetnul tiskárnu. Píšou tam typ tiskárny a stát.

Co ten program vlastně dělá

Teď začneme analyzovat. Díky tomu, že je tiskárna připojena po síti, máme možnost snadno sledovat komunikaci pomocí programu Wireshark. Odfiltroval jsem komunikaci podle IP adresy tiskárny a okamžitě vyplave na povrch pár paketů, jak se tiskárna čas od času ozve broadcastem, aby na sebe upozornila a spousta paketů SNMP, kterými program komunikuje a resetuje. Je zřejmé, že veškerá práce programu je právě v této komunikaci.

Všechny pakety jsou typu get-request public, protokol verze 1.

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.118.105.1.0.0

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.115.116.1.0.1


1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.16.0.229.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.17.0.16.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.6.0.0.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.20.0.0.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.21.0.0.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.52.0.94.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.18.0.81.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.19.0.7.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.6.0.0.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.53.0.94.72.112.116.116.122.113.106.118

1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.237.1.0.72.112.116.116.122.113.106.118

První dva pakety jsou evidentně dotazy, odpověď na druhý z nich obsahuje typ tiskárny a její sériové číslo. Ostatní pakety jsou zápisy do registrů i přesto, že jsou to pakety typu get-request. Všechny odpovědi na ně obsahují pouze slovo OK.

Jak poslat tyto pakety do tiskárny

Na to existuje jednoduchý program snmpget. Pokud již není v systému, mělo by stačit apt install snmp. Snmpget má spoustu parametrů, pro nás jsou důležité jenom některé. Stačí jenom specifikovat verzi protokolu (1), doménu (public), IP adresu a samozřejmě obsah paketu.

$ snmpget -Oa -v1 -c public 192.168.5.236 1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.16.0.229.72.112.116.116.122.113.106.118

iso.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.16.0.229.72.112.116.116.122.113.106.118 = STRING:

".||:42:OK;

Když už jednou obsah komunikace známe, jednoduchým scriptem ji můžeme bez dalších úprav poslat. Když jsem se dostal podruhé do situace, kdy se počitadlo přiblížilo ke 100 %, stačilo poslat všechny pakety (jenom ty zapisovací) a tiskárna je opět na 90 %.

Poznámka: Poté, co jsem resetnul počitadlo na 90 %, jsem se dal do výměny zásobníku. Postavil jsem tiskárnu na bok, abych vymontoval zásobník a tím jsem pravděpodobně pomohl dvěma barvám do stavu, kdy tiskly velmi špatně. Musel jsem několikrát opakovat čistící proceduru a test trysek a během necelé hodiny jsem se dostal do stavu, kdy na počitadle bylo 98 %. Aspoň jsem mohl vyzkoušet, že opakované přehrání paketů do tiskárny skutečně funguje. Jedno manuálně spuštěné čištění zvýší počitadlo asi o 3–4%.

Tady bych mohl skončit a spokojit se s 90 %. Ale zvědavost je velká, jdeme experimentovat dál. Obětoval jsem ještě trochu inkoustu a spustil jsem další průplach trysek. Počítadlo vyskočilo na 94 %. Zkusil jsem postupně poslat jeden paket za druhým a ejhle, byl to hned ten druhý. Malým experimentováním s hodnotami jsem našel kombinaci, která to dostane na 4,75 %, což už je úplně jiné kafe.


Druhé počítadlo je k ničemu, na začátku bylo kolem nuly, procedura ho nastavila na 90 %, ale při čištění hlavičky se nezvyšuje.

Příkaz pro vynulování počitadla tiskárny XP-510:

$ snmpget -Oa -v1 -c public $IP_TISKARNY 1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1.124.124.16.0.121.4.66.189.33.17.0.0.72.112.116.116.122.113.106.118

Co dál?

Tiskárna je teď na 5% zaplnění, takže nějakou dobu by měla vydržet. Až se zase zaplní, mám způsob, jak ji dostat zpátky na 5%. Mám za zlé Epsonům, že v menu tiskárny nemají proceduru na reset tohoto počítadla, člověk by nemusel instalovat pochybné programy a případně platit Ukrajincům za to, aby moje tiskárna znovu tiskla.

Ovšem není ještě všem starostem konec. Čeká nás ještě kontrola, případně výměna té nešťastné podušky, kvůli které celý tento cirkus existuje. Ale to až příště.