• Nem Talált Eredményt

Hibaelhárítás

A nyomtatógyártók PPD-fájljai a manufacturer-PPDs csomagban

11.7. Hibaelhárítás

Az alábbi fejezetek a nyomtatóhardver és -szoftver leggyakoribb problémáit tekintik át, valamint bemutatják a megoldás módját vagy lehetőséget adnak a megkerülésükre.

Szó lesz a GDI-nyomtatókról, a PPD-fájlokról és a portbeállításokról, valamint a háló-zati nyomtatókkal kapcsolatos legjellemzőbb gondokról, a rossz nyomtatási kimenetekről valamint a sorkezelésről.

11.7.1. Szabványos nyomtatónyelveket nem támogató nyomtatók

A szabványos nyomtatónyelveket nem támogató, csak speciális vezérlőszekvenciákkal szabályozható nyomtatókat GDI-nyomtatóknak szokás hívni. Ezek a nyomtatók csak azon operációsrendszer-verziók alatt használhatók, amelyekhez a gyártó biztosít illesztő-programot. A GDI a Microsoft által grafikus eszközökhöz kifejlesztett programozási felület. A gyártók általában csak a Windowshoz adnak illesztőprogramot és amióta a Windows-illesztő a GDI-felületet használja, ezeket a nyomtatókat szintén GDI-nyom-tatóknak szokás hívni. A tényleges problémát nem a programozási felület jelenti, hanem az a tény, hogy a GDI-nyomtatók csak az adott nyomtatómodell egyedi nyomtatónyel-vével vezérelhetők.

Egyes nyomtatók átkapcsolhatók, hogy GDI-módban működjenek vagy a szabványos nyomtatónyelvek valamelyikével. Ha lehetséges, nézze meg a nyomtató kézikönyvét.

Bizonyos modelleknél az átkapcsoláshoz szükség van egy speciális Windows szoftverre (figyeljen rá, hogy a Windows-illesztő lehet, hogy minden alkalommal visszaállítja a nyomtatót GDI-módra, ha Windowsból nyomtat). Más GDI-nyomtatókhoz vannak szabványos nyomtatónyelvi bővítőmodulok.

Egyes gyártók egyedi illesztőprogramokat biztosítanak GDI-nyomtatóikhoz. Az egyedi illesztőprogramok hátránya, hogy nincs garancia arra, hogy ezek működnek a telepített nyomtatórendszerrel, vagy hogy megfelelők a különféle hardverplatformokhoz. A szabványos nyomtatónyelveket támogató nyomtatók ezzel szemben nem függenek a nyomtatási rendszer egy adott változatától, sem a használt hardverplatformtól.

Ahelyett, hogy megpróbál egy zárt forrású Linuxos illesztőprogramot működésre bírni, sokkal költséghatékonyabb, ha olyan nyomtatót vásárol, amely támogatja a szabványos nyomtatónyelveket (lehetőleg a PostScriptet). Ez megoldja az illesztőprogram problé-máját egyszer és mindenkorra: nincs többé szükség speciális illesztőprogramok telepí-tésére és beállítására, valamint a nyomtatási rendszer fejlesztései miatt új illesztőprog-ram-verziók beszerzésére.

11.7.2. Nincs megfelelő PPD-fájl egy PostScript-nyomtatóhoz

Ha amanufacturer-PPDscsomag nem tartalmaz megfelelő PPD-fájlt egy PostScript-nyomtatóhoz, akkor használható a nyomtatógyártó illesztőprogram CD-jén található PPD-fájl, vagy letölthető egy alkalmas PPD-fájl a nyomtatógyártó weboldaláról.

A PPD-fájl általában ZIP-archívum (.zip) vagy önkicsomagoló ZIP-archívum (.exe) formájában érhető el. A zip kiterjesztésű állomány kicsomagolása azunzipparanccsal lehetséges. Először tekintse meg a PPD-fájl licencfeltételeit. Ezután acupstestppd segédprogrammal ellenőrizze, hogy a PPD-fájl megfelel-e az „Adobe PostScript Printer Description File Format Specification, version 4.3.” specifikáció előírásainak. Ha a segédprogram „FAIL” eredményt ad vissza, akkor a PPD-fájlban komoly hibák vannak, és komoly hibákra lehet számítani a nyomtatásnál is. Acupstestppdáltal azonosított problémákat lehetőleg meg kell szüntetni. Ha szükséges, kérjen helyes PPD-fájlt a nyomtató gyártójától.

11.7.3. Párhuzamos portok

A legbiztonságosabb megközelítés a nyomtatót közvetlenül az első párhuzamos portra kötni és az alábbi beállításokat megadni a BIOS-ban:

• I/O address (I/O-cím):378(hexadecimális)

• Interrupt (megszakítás): mindegy

• Mode (mód):normal(normál),SPPvagyoutput only(csak kimenet)

• DMA: disabled (letiltva)

Ha a nyomtató a fenti beállítások ellenére sem érhető el a párhuzamos porton, akkor adja meg az I/O-címet a BIOS-ban található beállítással az/etc/modprobe.conf fájlban0x378formában. Ha két párhuzamos port van, amelyek I/O-címei378és278 (hexadecimális), akkor ezeket0x378,0x278formában kell megadni.

Ha a7-es megszakítás szabad, akkor az az alább bemutatott módon aktiválható (11.1.

példa -/etc/modprobe.conf: Az első párhuzamos port megszakítási módja [169]).

A megszakítási mód aktiválása előtt ellenőrizze a/proc/interruptsfájlban, hogy mely megszakítások vannak már használatban. Csak az éppen használt megszakítások kerülnek megjelenítésre. Ez függhet attól, hogy mely hardverelemek aktívak. A párhu-zamos port megszakítását más eszköz nem használhatja. Ha nem biztos a dolgában, használja a lekérdezéses (polling) módot azirq=nonebeállítással.

11.1. példa /etc/modprobe.conf: Az első párhuzamos port megszakítási módja

alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=7

11.7.4. Hálózati nyomtatók csatlakoztatása

Hálózati problémák azonosítása

Csatlakoztassa a nyomtatót közvetlenül a számítógéphez. Tesztelési célból állítsa be a nyomtatót helyi nyomtatóként. Ha így működik, akkor a probléma a hálózatban lesz.

A TCP/IP-hálózat ellenőrzése

A TCP/IP-hálózatnak és a névfeloldásnak működnie kell.

Távolilpdellenőrzése

Az alábbi paranccsal ellenőrizhető, hogy létesíthető-e TCP-kapcsolat agép neve gépen futólpd-vel (port515):

netcat -z host 515 && echo ok || echo failed

Ha azlpdfelé nem létesíthető kapcsolat, akkor lehet, hogy azlpdnem fut, vagy valamilyen gond van a hálózattal.

Arootfelhasználó nevében adja ki az alábbi parancsot egy (várhatóan jó hosszú) állapotjelentés lekéréséhez a távoligép_nevegépen található sorról

(nyomtatási_sor), feltéve, hogy azlpdaktív és a gép elfogadja a kéréseket:

echo -e "\004queue" \

| netcat -w 2 -p 722 host 515

Ha azlpdnem válaszol, akkor lehet, hogy nem fut vagy valamilyen gond van a hálózattal. Ha azlpdválaszol, akkor a válaszból ki kell derülnie, hogy miért nem lehet nyomtatni agép_nevegép sorára (nyomtatási_sor). Ha a 11.2. példa

- Azlpdhibaüzenete [170] példában bemutatotthoz hasonló választ kap, akkor a problémát a távolilpdokozza.

11.2. példa Az lpd hibaüzenete

lpd: your host does not have line printer access lpd: queue does not exist

printer: spooling disabled printer: printing disabled

Távolicupsdellenőrzése

A CUPS hálózati kiszolgáló – alapértelmezés szerint –, az UDP631-es porton 30 másodpercenként üzenetet küld ki. Ennek megfelelően a következő parancs hasz-nálható annak kiderítésére, hogy található-e magát hirdető CUPS hálózati kiszolgáló a hálózaton. A parancs végrehajtása előtt győződjön meg róla, hogy leállította a helyi CUPS-démont.

netcat -u -l -p 631 & PID=$! ; sleep 40 ; kill $PID

Ha létezik nyilvános üzeneteket küldő CUPS hálózati kiszolgáló, akkor a kimenet az alábbi példában bemutatotthoz lesz hasonló: 11.3. példa - A CUPS hálózati ki-szolgáló nyilvános üzenete [170].

11.3. példa A CUPS hálózati kiszolgáló nyilvános üzenete

ipp://192.168.2.202:631/printers/queue

Az alábbi paranccsal ellenőrizhető, hogy létesíthető-e TCP-kapcsolat ahostgépen futócupsd-vel (631-es port):

netcat -z host 631 && echo ok || echo failed

Ha acupsdfelé nem létesíthető kapcsolat, akkor lehet, hogy acupsdnem fut, vagy valamilyen gond van a hálózattal. Azlpstat -h host -l -t pa-ranccsal lekérhető egy (várhatóan jó hosszú) állapotjelentés ahostgépen található összes sorról, feltéve, hogy acupsdaktív és a gép elfogadja a kéréseket.

A következő paranccsal ellenőrizhető, hogy ahostgépen található sor (queue)) elfogad-e egy mindössze egyetlen soremelés karakterből álló nyomtatási feladatot.

Semmi sem kerül kinyomtatásra. A nyomtató esetleg kidob egy üres oldalt.

echo -en "\r" \

| lp -d queue -h host

Hálózati nyomtató vagy nyomtatókiszolgáló hibaelhárítása

A nyomtatókiszolgáló egységekben (pl. JetDirect) futó nyomtatásisor-kezelők néha problémát jelenthetnek, ha egyidejű nyomtatási feladatokkal kell megküzdeniük.

Mivel ennek oka a nyomtatókiszolgáló egységben található sorkezelő, ezért ezt a problémát nem lehet megoldani. Kerülő megoldásként ki lehet hagyni a nyomtató-kiszolgáló egységben működő nyomtatásisor-kezelőt, ha közvetlenül, a TCP-soc-keten keresztül címzi meg a nyomtatót. Lásd: 11.4. - Hálózati nyomtatók [161].

Ily módon a nyomtatókiszolgáló egység az adatátvitel különböző formái (TCP/IP-hálózat és helyi nyomtatókapcsolat) közötti átalakítóvá egyszerűsödik. A módszer használatához ismerni kell a nyomtatókiszolgáló egység TCP-portját. Ha a nyom-tató a nyomnyom-tatókiszolgáló egységhez csatlakozik és be van kapcsolva, akkor ez a TCP-port általában meghatározható aznmapcsomagban találhatónmap segédprog-rammal a nyomtatókiszolgáló egység bekapcsolása után. Aznmap IP-cím pél-dául a következő eredményt adhatja egy nyomtatókiszolgáló egység esetében:

Port State Service

23/tcp open telnet

80/tcp open http

515/tcp open printer

631/tcp open cups

9100/tcp open jetdirect

Ez a kimenet azt jelzi, hogy a nyomtatókiszolgáló egységre csatlakozó nyomtató a9100-as TCP socketporton keresztül is elérhető. Alapértelmezésben aznmap csak az/usr/share/nmap/nmap-servicesfájlban felsorolt ismert portokat ellenőrzi. Az összes lehetséges port ellenőrzéséhez használja aznmap

-p mettől-meddig IP-címparancsot. Ez viszont eltarthat egy darabig.

További információt talál aznmapparancs man oldalán.

Az alábbihoz hasonló paranccsal

echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address port

küldhet karaktersorozatokat vagy fájlokat közvetlenül a megfelelő portra annak ellenőrzésére, hogy a nyomtató valóban elérhető-e ezen a porton.

11.7.5. Hibás nyomtatás hibaüzenet nélkül

A nyomtatórendszerben a nyomtatási feladat akkor fejeződik be, ha a CUPS háttérrend-szer befejezi az adatok elküldését a fogadónak (a nyomtatónak). Ha a fogadón a további

feldolgozással probléma van (például a nyomtató nem képes a nyomtatóspecifikus adatok kinyomtatására), akkor a nyomtatási rendszer ezt már nem veszi észre. Ha a nyomtató nem képes a nyomtatóspecifikus adatok kinyomtatására, akkor válasszon a nyomtatónak jobban megfelelő PPD-fájlt.

11.7.6. Letiltott sorok

Ha az adatátvitel a fogadóra több kísérlet után sem sikerül, akkor a CUPS háttérrendszer, példáulUSBvagysockethibát jelez a nyomtatási rendszer (acupsd) felé. A háttér-rendszer határozza meg, hogy hány sikertelen nyomtatási kísérletre van szükség, amíg az adatátvitel lehetetlennek minősül. Mivel ezek után a további kísérletek hiábavalók, acupsdletiltja az adott sorra nyomtatást. A probléma okának megszüntetése után a rendszergazdának újra engedélyeznie kell a nyomtatást acupsenableparanccsal.

11.7.7. CUPS tallózás: Nyomtatási feladatok törlése

Ha egy CUPS hálózati kiszolgáló meghirdeti a nyomtatási sorait a kliensgépek felé tallózáson keresztül és egy megfelelő helyicupsdaktív a kliensgépeken, akkor a kliens cupsdelfogadja az alkalmazások nyomtatási feladatait és továbbítja őket a kiszolgálón futócupsdfelé. Amikor acupsda kiszolgálón elfogad egy nyomtatási feladatot, akkor új feladatszámot ad neki. Ez azt jelenti, hogy a kliensgépen a feladat száma nem fog megegyezni a kiszolgáló feladatszámával. Mivel a nyomtatási feladatok jellemzően azonnal továbbításra kerülnek, nem törölhetők a feladatszámmal a kliensgépen. Ennek oka az, hogy a klienscupsd-je a nyomtatási feladatot befejezettnek tekinti azonnal, ahogy az továbbításra került a kiszolgálócupsd-je felé.

Amikor szükségessé válik a nyomtatási feladat törlése a kiszolgálón, azlpstat -h cups.example.com -oparanccsal állapítsa meg a feladat számát a kiszolgálón, feltéve, hogy a kiszolgáló nem végzett még a feladat kinyomtatásával (nem küldte még el a nyomtatóra). A feladatszám segítségével a kiszolgálón a következő paranccsal tö-rölhető a nyomtatási feladat:

cancel -h cups.example.com queue-jobnnumber

11.7.8. Hibás nyomtatási feladatok és adatátviteli hibák

Amennyiben nyomtatás közben lekapcsolja a nyomtatót vagy a számítógépet, a nyom-tatási feladatok a nyomnyom-tatási sorban maradnak. A nyomtatás folytatódik, amint a számí-tógép (vagy a nyomtató) újra bekapcsolásra kerül. A hibás nyomtatási feladatokat a cancelparanccsal lehet eltávolítani a sorból.

Ha egy nyomtatási feladat hibás vagy hiba történik a gép és a nyomtató közötti kommu-nikációban, akkor a nyomtató sok papírt ki fog nyomtatni hibás karakterekkel, mert nem lesz képes az adatok helyes értelmezésére. A helyzet orvoslása érdekében kövesse az alábbi lépéseket:

1. A nyomtatás leállításához vegye ki az összes papírt a nyomtatóból, vagy nyissa ki a nyomtató papírtálcáját. Egyes nyomtatókon külön gomb is van az éppen folyó nyomtatás megszakítására.

2. Lehet, hogy a nyomtatási feladat még mindig a sorban van, mivel a feladatok csak akkor törlődnek a sorból, ha már teljes egészében el lettek küldve a nyomtatóra. Azlpstat -ovagylpstat -h cups.example.com -o paranccsal ellenőrizheti, melyik sor nyomtatása folyik éppen. A nyomtatási feladat törléséhez adja ki acancel sor-feladatszám vagycancel -h cups.example.com sor-feladatszámparancsot.

3. Bizonyos adatok még a nyomtatási feladat sorból való törlése után is továbbí-tódhatnak a nyomtatóra. Ellenőrizze, hogy fut-e a sorért felelős CUPS háttérfo-lyamat és ha igen, állítsa le. Például a párhuzamos portra csatlakoztatott nyom-tató esetében afuser -k /dev/lp0paranccsal szüntethető meg minden olyan folyamat, amelyik még mindig a nyomtatót (pontosabban a párhuzamos portot) próbálja elérni.

4. Állítsa teljesen alaphelyzetbe a nyomtatót: kapcsolja ki hosszabb időre. Ezután helyezzen bele papírt, majd kapcsolja újra be.

11.7.9. A CUPS nyomtatási rendszer hibaelhárítása

A CUPS nyomtatási rendszer problémái az alábbi eljárással kereshetők meg:

1. Állítsa be az/etc/cups/cupsd.conffájlban aLogLevel debug para-métert.

2. Állítsa le acupsddémont.

3. Törölje a/var/log/cups/error_log*fájlokat, hogy ne kelljen nagyon nagy naplófájlokban keresgélni.

4. Indítsa el acupsddémont.

5. Ismételje meg a műveletet, ami a hibához vezetett.

6. Ellenőrizze a/var/log/cups/error_log*fájlokban található üzeneteket a probléma okának meghatározásához.

11.7.10. További információk

Számos speciális probléma megoldása megtalálható a SUSE támogatási adatbázisában (http://en.opensuse.org/Portal:Support_database). A vonatkozó cikkek kikereséséhez adja meg azSDB:CUPSkeresési feltételt.

12

Betűkészletek telepítése és