Posts Tagged ‘IPP’

Freitag, 30. Januar 2026

Einen HP Laser MFP 137fnw in CUPS einbinden

Obwohl es natürlich das altehrwürdige LPR und HP JetDirect (9100) Protokoll gäbe, versuche ich heutzutage wenn immer möglich das Internet Printing Protocol (IPP) zu verwenden. Für HP-Drucker lautet der IPP-Endpunkt /ipp/print, und somit die ganze URL:

ipp://192.168.14.100/ipp/print

Was gleichbedeutend ist wie http://192.168.14.100:631/ipp/print.

Öffnet man diese URL im Browser, erscheint folgende Fehlermeldung:

Invalid Request. Some Error

Den über HPs Website heruntergeladenen Linux Universaltreiber (Treiber-Download-Seite, Direktlink uld-hp_V1.00.39.12_00.15.tar.gz) und das dazugehörende PPD habe ich nicht zum Laufen gekriegt: Im CUPS Web-Interface stand etwas von „Filter failure“, und das Log sah folgendermassen äusserst schizophren aus (eine Mischung aus „alles hat funktioniert“ und „komplettversagen“):

...
D [30/Jan/2026:03:14:45 +0100] [Job 1] PID 2058714 (/usr/lib/cups/backend/http) exited with no errors.
D [30/Jan/2026:03:14:45 +0100] [Job 1] **** Error: Page drawing error occurred.
D [30/Jan/2026:03:14:45 +0100] [Job 1] Could not draw this page at all, page will be missing in the output.
D [30/Jan/2026:03:14:45 +0100] [Job 1] Rendering completed
D [30/Jan/2026:03:14:45 +0100] [Job 1] PID 2058712 (/usr/lib/cups/filter/gstoraster) exited with no errors.
D [30/Jan/2026:03:14:45 +0100] [Job 1] End of messages
...

Leider habe ich es nicht geschafft herauszufinden, woher Could not draw this page at all, page will be missing in the output. konkret stammte, und wie die Fehlermeldung verursacht wird. Meine aktuelle Vermutung: Debian Trixie, die installierte Ghostscript-Version sowie der Treiber können es nicht miteinander.

Exkurs: gstoraster ist im Debian-Paket cups-filters enthalten (Debian Package Search), und gemäss github.com/richud/gstoraster handelt es sich um einen (minimalen?) Ghostscript-Wrapper. Zwischenfrage: Wieso einen Druckauftrag überhaupt auf dem Linux-Druckserver rastern, wenn das der Drucker selber kann?

Item. Man kann die ausführbare Datei aufrufen, und sie gibt folgendes zurück:

$ /usr/lib/cups/filter/gstoraster --help
ERROR: /usr/lib/cups/filter/gstoraster job-id user title copies options [file]

Ausdrucke funktionierten, wenn ich den von CUPS mitgelieferten generischen PCL6-Treiber als Treiber auswählte. Doch eigentlich möchte ich anno domini 2026 Druckaufträge in Form von PDFs direkt an den Drucker senden, und nicht zuerst noch von CUPS nach PCL6 konvertieren.

Die Lösung: Als Druckertreiber wähle man IPP EverywhereTM aus. Damit sollte heutzutage jeder etwas neuere Drucker ansprechbar sein, ohne Treiber- und sonstiges Ghostscript-Gedöns.

Spannend: Ich wusste bis heute nicht, dass dieser generische Standardtreiber aus AirPrint entstanden ist, Apples Lösung um von iPhone und iPad aus zu drucken, ohne auf diesen Geräten irgendwelche Druckertreiber installieren zu müssen. Fantastisch! Danke Apple.

Tags: , , , , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 23. November 2021

Xerox B215 druckt gelegentlich, aber reproduzierbar Zeichensalat

Seit längerem habe ich das gelegentliche Problem, dass unser neuer Xerox B215 Multifunktionslaserdrucker bei einigen Druckaufträgen unter macOS 11.6 Zeichensalat ausdruckt, und das über dutzende von Seiten.

Gestern war es wieder einmal so weit. Ich hatte eine zu druckende PDF-Datei, die bei jedem Druckauftrag solchen Zeichensalat produzierte.

Nach einigen Recherchen im Netz dann die Lösung: Printing gibberish or random characters in Xerox B215:

I’ve found that most of the problems were due to „Airprint Secure“. I disabled airprint and it seems to have reduced the cases.

Anstelle von (Secure) AirPrint habe ich den Drucker neben AirPrint nun mittels Internet Printing Protocol (IPP, Port 631) eingerichtet. Diesen neuen Drucker ausgewählt, und das PDF druckte auf Anhieb problemlos.

Tags: , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 12. Januar 2015

IPP-Druckserver debuggen

Kürzlich musste ich zu Hause einen IPP-Druckserver (natürlich Apples CUPS) debuggen. Dabei entdeckte ich folgenden Befehl, um von einem Client-System zu prüfen, ob und wie der IPP-Druckserver auf Anfragen reagiert.

Dank der Fehlermeldung des CUPS-Servers als Antwort auf nachfolgenden Befehl …

$ ipptool -v -4 http://10.10.10.10:631/Laserdrucker get-printer-attributes.test
The printer or class does not exist.
       EXPECTED: STATUS successful-ok (got client-error-not-found)
       status-message="The printer or class does not exist."
       EXPECTED: charset-configured
       EXPECTED: charset-supported
       EXPECTED: compression-supported
       EXPECTED: document-format-default
       EXPECTED: document-format-supported
       EXPECTED: generated-natural-language-supported
       EXPECTED: ipp-versions-supported
       EXPECTED: natural-language-configured
       EXPECTED: operations-supported
       EXPECTED: pdl-override-supported
       EXPECTED: printer-is-accepting-jobs
       EXPECTED: printer-name
       EXPECTED: printer-state
       EXPECTED: printer-state-reasons
       EXPECTED: printer-up-time
       EXPECTED: printer-uri-supported
       EXPECTED: queued-job-count
       EXPECTED: uri-authentication-supported
       EXPECTED: uri-security-supported

… realisierte ich, dass ich meinen Laserdrucker über die URL http://10.10.10.10:631/printers/Laserdrucker ansprechen muss.

Auf dem Druckserver selber zeigt man sich den Status des Druckers mit folgendem Befehl an:

$ lpstat -p
printer Laserdrucker is idle. enabled since Wed 10 Dec 2014 06:56:43 PM CET

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen