Koupil jsem si tiskárnu. Jelikož tisknu hlavně textové dokumenty, faktury a další byrokratické nesmysly, chtěl jsem nějakou černobílou laserovku. Netisknu jen z jediného počítače, a proto mým dalším požadavkem bylo, aby zařízení mělo integrovaný print server. A protože problémy s tiskovými ovladači lidstvo provází už od dob Gutenbergova knihtisku, rád bych, aby její instalaci zvládla i slepice, když se jí nasype zrní kolem enteru. Taky by to samozřejmě neměla být ta nejlevnější Čína, ale měla by něco vydržet (tohle kritérium by mělo být tak nějak implicitní u všech zařízení). Dal jsem tedy na kolegovo doporučení a pořídil si HP LaserJet P2055dn.
Blbuvzorná instalace
Instalace byla, dle požadavku, skutečně jednoduchá. Dokonce málem jednodušší než samotné vybalení, protože tiskárna byla zabezpečena cca osmi různými prvky a patenty, nacházejícími se uvnitř i vně zařízení. Kdybyste jedno zapomněli vyndat, pravděpodobně byste se to dozvěděli až podle zvuku. Po klasickém kolečku Zařízení a tiskárny -> Přidat tiskárnu -> Přidat místní tiskárnu -> Standard TCP/IP port -> IP adresa -> výběr ovladače bylo hotovo a tiskárna tiskla. Vytiskl jsem nějakých patnáct dokumentů a byl šťastnej jak blecha. Až do druhého dne. To jsem totiž poslal k tisku jednu nově obdrženou fakturu v PDF. Tiskárna chvilku přemýšlela a pak mi na papír vytiskla
PCL XL error
Subsystem: TEXT
Error: InsufficientMemory
Operator: Text
Position: 1160
Z nuly na šedesát
Huh? Cože? Asi se někde ucpaly dráty, tak restartuju tiskárnu a zkusím to znovu. I napodruhé mi však tiskárna taktně oznámila, že takovou kravinu prostě tisknout nebude. OK, při instalaci jsem nechal Windows, ať si natáhnou svoje výchozí ovladače, takže můžu říct, že jsem něco podobného i trochu čekal. Letmý pohled na verzi ovladače (0.3.7071.0, Copyright © 1996-2005 Helwett-Packard Co.) dával tušit, že aktualizace by skutečně bodla. Tak tedy vzhůru na web HP Support & Drivers. Vyhledávání dle typu naštěstí zafungovalo na první pokus a jako bonus jsem si stáhl i nový firmware. Po aktualizaci obou zmíněných (ovladač nyní ve verzi 61.93.2.77, už asi chápu, kde se Mozilla inspirovala svým číslováním verzí) a pro jistotu i následném restartu Windows, kvůli kterému jsem přišel o krásný 53denní uptime, jsem se osmělil ke třetímu pokusu. Tiskárna se však jen škodolibě ušklíbla a vypadl z ní opět ten samý PCL XL error. Zkusil jsem vytisknout jiné PDF. To se bez problému nechalo. Chvíli jsem si tedy hrál s všemožným nastavením tiskárny, ale stále žádná výhra. PCL 5 ani PCL 5e ovladač jsem kvůli jednomu jedinému hloupému souboru používat nechtěl, tak jsem se v problému začal šťourat.
Byl vrahem zahradník?
Začal ve mně hlodat červíček pochybnosti. Je skutečně chyba v ovladači? Nemohl by být problém třeba v PDFku samotném? Zapnul jsem tedy druhý počítač, nainstaloval tiskárnu, tentokrát pro jistotu rovnou s novějšími ovladači a zkopíroval PDF. Při pokusu o tisk klávesovou zkratkou Ctrl+P mi ovšem spadl Acrobat Reader. OK, spustím jej tedy znovu, ručně vyberu Soubor -> Tisknout... a žuch, zase. Nejprve jsem to považoval za problém nesouvisející, zapříčinený tím, že produkty Adobe programuje banda lobotomizovaných cvičených šimpanzů (vizte třeba tyto statistiky zranitelnosti nebo bezpečnostní doporučení na Secunii), ale nakonec se ukázalo, že tohle padání je důležitým indikátorem toho, že tiskárna je správně nainstalována. Jak ironické. Po restartu počítače už vše fungovalo a PDF bylo vytištěno. OK, problém tedy pravděpodobně bude skutečně v ovladačích od tiskárny. Jelikož k systému, kde se tisk nedařil, byla v minulosti celkem určitě nějaká HP tiskárna připojena, bylo pravděpodobné, že se tam někde nějaká součást starších ovladačů schovala a teď dělá neplechu. Pokud jste někdy viděli, jak oficiální ovladače HP vypadají, tak jistě můj myšlenkový pochod chápete. Pokud ne, tak vám prozradím, že balík ovladačů a aplikací k HP LaserJet P2055dn má 104 MB, 55 složek a 395 souborů, z čehož většinu tvoří *.cab archivy obsahující další stovky souborů, a že je to na poměry HP ještě zatraceně málo!
Vyhledat a zničit
Rozhodl jsem se tedy ručně pomazat a poodstraňovat všechny soubory, záznamy v registru a další bordel, který by mohl instalaci ovladačů jakkoliv ovlivnit. Trochu teď zaspoiluji a prozradím, že nic z toho jsem dělat nemusel, ale jde o poměrně komplexní proceduru, která tvoří jádro celého tohoto článku, takže se třeba bude někomu při řešení podobných problémů hodit. Upozorňuji však, že daný postup provádíte na vlastní nebezpečí a hrozí u něj poškození tiskového subsystému, v horším případě i celých Windows. Zálohování v tomto případě vůbec není špatný nápad.
Následující kroky byly provedeny na počítači s Windows 7 x64 a popisují odstranění všech HP ovladačů a tiskových součástí. Přesný a všeobjímající návod není prakticky možno udělat, takže se primárně řiďte svým rozumem. Některé kroky jsou obecné a při troše porozumění a fantazie jsou aplikovatelné i u tiskáren jiných výrobců. Pokud je váš počítač značky HP nebo máte instalovaný jiný HP produkt, tak vás docela lituju, protože hrozí, že společně s ovladači tiskáren sundáte i pár jiných, takže u některých kroků budete muset vyvinout ještě větší dávku iniciativy než všichni ostatní.
- Ve Správci zařízení (resp. Zařízení a tiskárny) odeberte tiskárnu.
- HP poskytuje různé removal tooly na své aplikace. Za normální situace tedy doporučuju čistku zahájit stažením a spuštěním takového nástroje. Ty se však liší dle produktu (resp. balíku produktů), takže svůj odstraňovač zkuste buď vygooglit anebo jej můžete nalézt na svém CD/DVD k tiskárně (tedy za předpokladu, že dané médium neslouží bohulibějšímu účelu, jako třeba plašení vrabců). Některé removal tooly mají několik stupňů odstranění. Vždy použijte ten „nejvyšší“, protože ten většinou odstraňuje vše od aplikací až po ovladače a nastavení tisku.
- Odstraňte všechny zbytky HP produktů. Nejprve po dobrém, v Programech a funkcích a potom po zlém, prostým smazáním složek
C:\Program files\HP C:\Program files (x86)\HP
- Otevřete si Služby, buď přes nabídku Start
nebo si je najděte ve Správě počítače, pokud jste zvyklí chodit jinudy.services.msc
- Ve službách zastavte Službu zařazování tisku. Staří mazáci to můžou udělat přes komandlajnu pomocí příkazu
net stop spooler
- Najděte a zastavte služby
a dále všechny služby začínající písmeny HP. Většina z nich by už ale měla být zastavena, případně rovnou smazána.Net Driver HPZ12 PML Driver HPZ12
- Otevřete nejlepšího přítele každého Windows admina - editor registru. Nabídka Start
a donavigujte doregedit
Zde smažte všechny služby, které jste potkali v předchozím kroku (spooler ne!). Tedy např.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HP CUE Device Discovery HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HP Network Device Support HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hpqcxs08 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Net Driver HPZ12 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PML Driver HPZ12
- Přejděte do
resp. na 32bitových systémechHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3
Zde si otevřete klíč s názvem tiskárny, která vás zlobí a zkopírujte si obsah hodnoty Dependent Files někam do texťáku. Tato hodnota obsahuje soubory, které tiskárnu ovládají a ze kterých budete většinu mazat. Budete ale mazat i klíče v registrech, takže potřebujete informaci o souborech schovat někam stranou.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3
- Smažte všechny klíče týkající se nevýchozích tiskáren a tiskových procesorů v umístěních
HP komponenty poznáte podle toho, že jejich název začíná písmeny HP. Výchozí tiskárny podle názvu pravděpodobně také poznáte. Jsou to třeba:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
a tiskový procesorMicrosoft Shared Fax Driver Microsoft XPS Document Writer Remote Desktop Easy Print
Takže tyhle tam můžete v klidu nechat.winprint
- Otevřete průzkumníka nebo cokoliv podobného a donavigujte do
resp. na 32bitových systémechC:\Windows\System32\spool\drivers\x64\3
Ze seznamu souborů vylovených v kroku 8 vymažte všechny, co začínají na uni* a std*, ty totiž dodal systém. Ty co vám pak v seznamu zbydou, ze složky smažte. V případě HP to můžete udělat i předpřipravenou dávkouC:\Windows\System32\spool\drivers\W32X86\3
Pokud se některé soubory nepodařilo smazat, restartujte počítač a zkuste to znovu.@ECHO OFF net stop spooler cd "%systemroot%\System32\spool\drivers\x64\3" del hp* del cioum* del pcl* del pjl* cd "%systemroot%\System32\spool\prtprocs\x64" del hp* cd "%systemroot%\System32" del hpz* pause
- Pro jistotu si ještě jednou projděte celý
i s podklíči aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
i s podsložkami a zkontrolujte, jestli někde něco nezůstalo. Ve spoolu pravděpodobně nejaké pozůstatky budou, ale už by při příští instalaci neměly být na závadu. Pokud tedy vše vypadá čistě (alespoň v rámci možností), restartujte počítač a můžete zkusit své štěstí s instalací znovu.C:\Windows\System32\spool
Čtenář vepřovic
Poskládání a opakované provedení výše uvedeného mi zabralo několik hodin. Když jsem byl s výsledkem spokojený a tiskový subsystém jsem měl nastaven naprosto stejně jako na počítači, odkud se tisk povedl, a to i včetně identických verzí všech komponent ovladače, zkusil jsem znovu otevřít PDF a znovu jej vytisknout. A znovu jsem bez mrknutí oka obdržel krásný a voňavý PCL XL Error. No do řiti, tak co ještě může být špatně? Hm... co takhle přeinstalovat Adobe Reader? Hurá na něj! Ovšem i po reinstallu z tiskárny vylezla tatáž strohá chybová hláška. Tak jsem si ze srandy stáhl a nainstaloval Foxit Reader, otevřel v něm ono nešťastné PDF a bez problému jej vytisknul. A v tom se mi rozsvítilo. PostScript! Žádná chyba paměti. Ten pitomec Adobáckej si někde něco rozdrbal a najednou prostě neumí do tiskárny natlačit postscriptovej dokument pomocí PCL 6. Má doměnka byla potvrzena ve chvíli, kdy jsem v Adobe Readeru v rozšířeném nastavení tisku zatrhl „Tisknout jako obraz“ a PDF se samozřejmě, za zvuku andělských trumpet, vytisklo.
A do něj!
Tááákže. Odinstalovat všechny produkty Adobe. Vymazat všechno z
C:\Program Files\Adobe
C:\Program Files (x86)\Adobe
%ProgramData%\Adobe
%AppData%\Adobe
%LocalAppData%\Adobe
a z registrů
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe
HKEY_CURRENT_USER\SOFTWARE\Adobe
a restartovat počítač. Po restartu znovu nainstalovat Adobe Reader, spustit PDF, vybrat tisk a... žuch! Reader spadl. Čtenáři s dobrou pamětí vědí, že pád Readeru znamená úspěch při instalaci tiskárny. A skutečně, po dalším restartu už se s tiskárny sypou PDFka jako by se nechumelilo. Teorie o tom, že v Adobe zaměstnávají lobotomizované šimpanze je tedy potvrzena a já mám po Flashi dalšího nadějného kandidáta aspirujícího na přidání do blacklistu. Alternativ je dostatek.