Jak na Hewlett Packard OfficeJet G55 pod linuxem

27. 9. 2002
Doba čtení: 6 minut

Sdílet

Před nedávnem mi bylo zapůjčeno multifunkční zařízení Hewlett Packard OfficeJet G55. Jedná se o barevnou tiskárnu, skener (a kopírku) v jenom (All-in-one). Zprovoznění pod Windows je trapně jednoduché, ale ani pod Linuxem nemáte smůlu. Protože se mi povedl "rozchodit" nejenom tisk, ale i skenování, rozhodl jsem se tuto činnost trochu popsat.

Návod je po menších úpravách shodný i pro jiné zařízení než G-55. Tak například část týkající se tisku jsem použil před dvěma roky pro zprovoznění tisku tiskárny HP DeskJet 600 (a tenkrát jsem ještě musel stahovat nový GhostScript a další balíčky pro optimalizaci tisku) s mnohem více problémy než dnes, kdy veškeré požadované programy s výjimkou ptal-rozhraní a sane najdete přímo na instalačních CD od RedHatu. Předpokládám, že u jiných distribucí bude postup velmi podobný.

Používám RedHat linux 7.3 Valhalla – jádro bez jakýchkoliv patchů (originální z distribuce 2.4.18–3). KDE 3.0.0–10 opět přímo z distribuce. Tiskárna je připojena přes USB rozhraní. Pro zprovoznění tisku a skenování budete muset nainstalovat vývojové nástroje potřebné pro přeložení balíčků hpoj-0.8.tgz sane-frontends a sane-backends.

1. Trocha teorie

Tiskárna HP OJ G55 používá rozhraní PTAL (Peripheral Transport Abstraction Library). Pomocí něho komunikuje systém se zařízením bez ohledu na to, zda je připojeno na paralelní port nebo USB. Po jeho nainstalování pouze odkazujete na „ptal“ zařízení – a ne např. na /dev/lp0 nebo /dev/scanner. Vše bude vysvětleno později.

2. Instalace PTAL rozhraní

Na stránkách projektu HPOJ – http://hpoj.sou­rceforge.net najdete v sekci „Download and CSV“ aktuální i starší verze ovladače. V současnosti to je verze hpoj-0.8. Balíček standardním způsobem rozbalíte a překompilujete:

[root@pandion hpoj-0.8]# ./configure
[root@pandion hpoj-0.8]# make
[root@pandion hpoj-0.8]# make install

Pozn.
program se standardně nainstaluje do adresáře /usr/local. Jestliže toto změníte pomocí volby ./configure –prefix=DIR, potom musíte tuto cestu zadat i při kompilaci modulu sane.

No a pokud máte nainstalovány všechny vývojové balíčky potřebné pro překlad, bude vám odměnou výstup prostý chybových hlášení a doporučení, abyste spustili:

[root@pandion /]# ptal-init setup

Skript prohledá zařízení, ke kterým může být Vaše tiskárna/skener připojena, a pokud bude hledání úspěšné, upraví startovní skript /usr/local/etc – přidá dvě řádky

ptal-mlcd usb:OfficeJet_G55 -device /dev/usb/lp* -devidmatch ;„MDL:OfficeJet G55;“ $PTAL_MLCD_CM­DLINE_APPEND
ptal-printd mlc:usb:Office­Jet_G55 $PTAL_PRINTD_CMDLI­NE_APPEND

Když nahlédnete do adresáře /dev, najdete tu nové zařízení:

/dev/ptal-mlc/usb:Office­Jet_G55
/dev/ptal-printd/mlc_us­b_OfficeJet_G55

Poté můžete restartovat ptal-driver příkazem

[root@pandion /]# /etc/rc.d/init­.d/ptal-init restart

Pokud ani teď neuvidíte žádné chyby, můžete se pokusit zjistit, jak se Vaše tiskárna hlásí

[mizi@pandion mizi]$ ptal-devid mlc:usb:Office­Jet_G55

pokud je zařízení funkční, měl by být výsledkem následující výstup:

MFG:Hewlett-Packard;MDL:Of­ficeJetG55;
CMD:MLC,PCL,P­ML,SCL;
CLASS:PRINTER;
DESCRIPTION:Hewlett-Packard OfficeJet G Series;
1284.3M:f7f,f7f;­1284.4DL:4d,4e,1;
SERN:SGF0BE1N3DVL;
VSTATUS:$HB0$NC0­,ff,DN,IDLE,CUT,K0,C2­,SM,NR,KP008,CP000;
AiO:0;DW-PCL;

Další příkazy jsou spíše informační, ale pro pocit z dobře vykonané práce se můžete pokochat :)

[mizi@pandion mizi]$ ptal-hp mlc:usb:Office­Jet_G55 device
Model name: OfficeJet G Series
Model number: G55
Serial number: SGF0BE1N3DVL
Firmware version: MR4.05
Firmware datecode: (unavailable)
Total RAM size: 5242880 bytes

nebo třeba, co zobrazuje displej tiskárny. Existuje sice hezký grafický program xojpanel, který věrně imituje LCD displej na tiskárně – bohužel u mě končil s neoprávněným přístupem do paměti :( Ale jsou horší věci, že?

[mizi@pandion mizi]$ ptal-hp mlc:usb:Office­Jet_G55 display
1 Copy/100%

3. Kopírování

Je nejjednodušší ze všeho :) Na kopírování nepotřebujete mít spuštěný počítač. Jenom stisknete tlačítko a je hotovo. Takže další:

4. Tisk

Na začátku je potřeba se rozhodnout, jaký tiskový systém budete používat: standardní instalace RedHat 7.3 Linuxu nabízí tiskové systémy CUPS nebo LPRng. Po poradě na konferencilinux@linux.cz mi byl doporučen systém CUPS – a vůbec nelituji. Administrace přes webové rozhraní – třeba z Mozilly – není k zahození.

Předpokládejme, že máte nainstalované balíčky

cups-1.1.14–15.i386.rpm
cups-libs-1.1.14–15.i386.rpm
cups-drivers-hpij~0313.3.i386­.rpm
cups-drivers-1.1–0.20020313.3.i386­.rpm

a nastaven CUPS jako primární tiskový systém (třeba pomocí příkazu „redhat-switch-printer“ a nastavení na CUPS). Pro kontrolu spusťte browser (Mozillu, Konquerror, Netscape…) a místo URL napište http://localhos­t:631, protože CUPS server běží na lokálním portu 631. Pokud se objeví následující obrazovka, máte vyhráno.

CUPS - hlavní obrazovka

Vyberete „Do Administations Tasks“, zadáte heslo roota a dostanete se na následující obrazovku:

CUPS - administrace
Vyberete „Add Printer“ a vyplníte políčka formuláře podle následujícího obrázku:

CUPS - přidat tiskárnu
Pak musíte zadat device pro tiskárnu. V nabídce je sice „USB printer #1 (Hewlett Packard OfficeJet G55)“, ale pokud ho vyberete, tiskárna nebude fungovat.

CUPS - vybrat protokol pro device
Musíte vybrat ptal ovladač, a to následovně: vyberete „Internet printing protocol iip“ a do okénka „Device URI“ napíšete
file://dev/ptal-printd/mlc_us­b_OfficeJet_G55

CUPS - vybrat kam se bude tisknout
Vybereme „Continue“, na řadě je tiskový model, a to stačí „HP → HP OfficeJet G55, Foomatic + hpijs (en)“. Po odkliknutí Continue máte tiskárnu zhruba nainstalovanou. Podrobnosti můžete nastavit tlačítkem Configure Printer. Další důležité tlačítko je Print Test Page. Jestliže jste vše nakonfigurovali správně, odměnou bude první stránka vytištěná z Linuxu.

CUPS - tak se spravuje tiskárna

Pokud používáte KDE 3.0 jako já, můžete se ještě podívat, co Vám říká „Správce tisku“ V položce „Instance/Nas­tavení“ získáte přístup k dalším volbám: můžete nastavit vlastnosti jako v manažeru CUPS – a ještě něco navíc. Třeba uživatelsky nastavitelné okraje při textovém tisku z xtermu. Další záložky nechávám na zvídavosti laskavého uživatele :).

KDE správce tisku - hlavní obrazovka

KDE správce tisku - nastavení barev

KDE správce tisku - nastevení tisku z konzole

Zbývá poslední hektický úkol: a tím je donutit tučňáka, aby také používal skenovací část.

5. Skenování

Ke komunikaci skeneru se systémem použijeme rozhraní SANE (Scanner Access Now Easy). Protože je ho potřeba zkompilovat s podporou ptal zařízení, musíme opět stáhnout sane z webu, zkompilovat a nainstalovat. Pokud se to povede, máte multifunkční zařízení opravdu multifunkční i v Linuxu. Ale abych nepředbíhal:

První kroky by měly mířit nahttp://www.mos­tang.com/sane/. Tady v sekci “Download" najdete zdrojové kódy příslušných balíčků:

sane-backends: obsahuje ovladače skenerů, skenovací program ovládaný přes příkazovou řádku, síťového skenovacího démona a dokumentaci SANE-API

sane-frontends: obsahuje grafická rozhraní xscanimage a xscan. Nejsou špatné, ale vřele doporučuji program xsane (zvláště frontend plugin do GIMPu: xsane-gimp)

A následuje překlad a instalace:

Postup rozbalení, překladu a instalace je pro oba balíčku stejný, takže postup budu uvádět jenom pro sane-backend.

[root@pandion sane-backends-1.0.8]# ./configure –with-ptal
[root@pandion sane-backends-1.0.8]# make
[root@pandion sane-backends-1.0.8]# make install

Program se nainstaluje do adresáře /usr/local/ (např. spustitelný soubor je v /usr/local/bin). Jestliže chcete program nainstalovat jinam, musíte použít volbu

[root@pandion sane-backends-1.0.8]# ./configure –with-ptal –prefix=DIR

POZOR:
pokud jste volbu –prefix použili i u kompilace ptal ovladačů a máte je nainstalované v jiném než standardním adresáři, musíte i zde použít ./configure –with-ptal=DIR. Jinak by nebylo rozhraní ptal nalezeno a kompilace by sice proběhla, ale bez podpory ptal zařízení. No a potom byste se divili, proč sane Váš skener nenajde :). Pro kontrolu hledejte ve výstupu konfigurátoru řetězce

checking for ptal.h… yes
checking for ptalInit in -lptal… yes

Pokud se vše povedlo, zopakujte postup i pro sane-frontends a je na čase nakonfigurovat sane-backends

Konfigurace sane:

Editujte soubor hp.conf, který se nachází v adresáři /usr/local/et­c/sane.d/, a upravte ho tak, aby vypadal následovně:
# USB-connected MFP:
mlc:usb:Office­Jet_G55
option connect-ptal

Ostatní soubory v /usr/local/et­c/sane.d/může­te s klidným svědomím smazat (pokud ovšem neplánujete jiný skener :))

Test skeneru:

v konzoli můžete spustit scanimage –test
nebo v X-Window: spustit xscanimage

bitcoin_skoleni

Pokud se povede bez chyby, máte vyhráno a můžete odinstalovat MS Windows ;)



No a příště si můžeme popovídat třeba o nastavení a používání grafických skenovacích rozhraní…