Ausdruck über parallelen Port funktioniert nicht mehr
Problem:
Ein Drucken aus beliebigen Anwendungen (z.B. kmail) funktioniert nicht mehr. Das kann zum Beispiel nach einen
dist-upgrade oder nach einen Update einzelner Programme passieren.
Ausdrucke kommen zwar in die Warteschlange, werden dort aber nicht mehr abgearbeitet. Die Warteschlange kann man über das
K-Menü / Kontrollzentrum / Angeschlossene Geräte / Drucker / Druckaufträge einsehen oder auf der Konsole über das Kommando
lpq sich anzeigen lassen.
Die CUPS Fehlerdatei
/var/log/cups/error_log meldet zwar keinen Fehler aber einen wartenden Druckjob.
I [08/Apr/2005:20:07:45 +0200] Adding start banner page "none" to job 49.
I [08/Apr/2005:20:07:45 +0200] Adding end banner page "none" to job 49.
I [08/Apr/2005:20:07:45 +0200] Job 49 queued on 'hplj4l' by 'bluelupo'.
I [08/Apr/2005:20:07:45 +0200] Started filter /usr/lib/cups/filter/pstops (PID 4515) for job 49.
I [08/Apr/2005:20:07:45 +0200] Started filter /usr/lib/cups/filter/foomatic-rip (PID 4516) for job 49.
I [08/Apr/2005:20:07:45 +0200] Started backend /usr/lib/cups/backend/parallel (PID 4517) for job 49.
Mögliche Lösung:
Erst einmal überprüfen wir die Dateirechte der lp-Devices mit dem Kommando
ls via Konsole.
# ls -ld /dev/lp?
crw-rw---- 1 root lp 6, 0 2004-12-10 23:13 /dev/lp0
crw-rw---- 1 root lp 6, 1 2004-12-10 23:13 /dev/lp1
crw-rw---- 1 root lp 6, 2 2004-12-10 23:13 /dev/lp2
In obigen Listing sind die Rechte korrekt gesetzt. Ggf. berichtigen mit dem
chmod bzw.
chown Kommando.
# chown root.lp /dev/lp?
# chmod 660 /dev/lp?
Jetzt testen wir einen direkten Druck auf die parallele Schnittstelle ohne Beteiligung von CUPS. Die erste paralle Schnittstelle ist /dev/
lp0?.
$ echo -en "\rHallo Drucker\r\f" > /dev/lp0
bash: /dev/lp0: Kein passendes Gerät bzw. keine passende Adresse gefunden
Erhalten wir obige Fehlermeldung, da liegt das Problem nicht an den lp-Devices. Also suchen wir weiter. Als nächstes prüfen die geladenen Module mit
lsmod, die wir zum Drucken brauchen. Laufen müssen dazu die Module
lp,
parport und
parport_pc.
# lsmod|grep -E '(lp|par)'
lp 9544 0
parport 30408 1 lp
Hier fehlt definitiv das Modul
parport_pc. Geladen wird dies mit
modprobe als root inn der Konsole.
Es sollte keine Fehlermeldung angezeigt werden. Überprüfen ob die Module jetzt laufen.
# lsmod|grep -E '(lp|par)'
parport_pc 35524 1
lp 9544 0
parport 30408 2 parport_pc,lp
Passt. Jetzt noch ein Testdruck direkt auf den Parallelport schicken wie schon beschrieben. Auch ein Ausdruck aus einer beliebigen Anwendung tut es genauso.
$ echo -en "\rHallo Drucker\r\f" > /dev/lp0
Keine Fehlermeldung - Wunderbar !!! Der Drucker beginnt zu arbeiten. Das sollte es (fast) gewesen sein.
Um das Modul
parport_pc noch dauerhaft beim Starten des PC zu laden müssen wir noch eine Datei bearbeiten. Die aktive Konfigurationsdatei die die Module beim Systemstart lädt lässt sich feststellen mit
# ls -ld /etc/modules-$(uname -r)
lrwxrwxrwx 1 root root 11 2005-02-19 16:53 /etc/modules-2.6.11-kanotix-3 -> modules-2.6
Mit unseren Lieblingseditor (z.B. kate) öffnen wir die Datei
/etc/modules-2.6.11-kanotix-3 oder
modules-2.6 da die erste nur ein Link ist (bzw. die nach obigen Kommando ermittelten Dateinamen) und hängen am Ende eine Zeile mit
parport_pc an. Beim nächsten Reboot wird das parport_pc-Modul automatisch geladen.
zurück