Login


 
Newsletter
Werbung

Fr, 21. Mai 2004, 00:00

HP PSC Drucker mit CUPS einrichten

Vorwort

Nach Jahren des Durchwurschtelns mit halbherzigen Druckerlösungen wurde mein Wunsch nach einem neuen modernen Allround-Drucker, der den alternden BubbleJet ablösen sollte, immer stärker. Dieser sollte dann auch gleich auf eine solide Softwarebasis gestellt werden.

Nachdem mir die Webseite HP OfficeJet Linux driver (welche auch die Basis für diesen Artikel bildet) mehr oder weniger klar versprochen hatte, daß der HP PSC 2210 auch unter Linux läuft, war es soweit. Neue Hardware und Software. Wobei die Druckersoftware unter Linux am Anfang schwer zu durchschauen ist. Da geistern Begriffe wie Ghostscript, CUPS, LPD, GIMP-Print, HPOJ, HPIJS... durch die HowTo-Seiten, die im einzelnen ganz gut beschrieben sind, dem Anfänger aber kein zusammenhängendes Bild liefern können.

Das Ziel dieses Artikels ist nicht nur, die Einrichtung des Multifunktionsgerätes zu beschreiben, sondern auch auf die Zusammenhänge der einzelnen, am Drucken beteiligten, Komponenten einzugehen. Voraussetzungen sind minimale Kenntnisse im Umgang mit einem Linux-System. Wobei man sich allerdings schon öfters auf der Konsole aufhalten muss, denn grafische Benutzerführungen sind Luxus, den auch kommerzielle Firmen wie Hewlett-Packard nur zögerlich den Linux-Benutzern spendieren.

Als Motivationshilfe soll allerdings vorrausgeschickt werden, dass es sich lohnt. Auch auf einem älteren Rechner lassen sich die Komponenten installieren und liefern hervorragende Ergebnisse.

Konfiguration

Schnellkonfiguration für SUSE 9.1

Mit der der neuesten SUSE-Distribution scheinen alle Kinderkrankheiten, die die Einrichtung des Druckers bisher relativ schwierig gemacht haben, verschwunden zu sein (auch SMP-Unterstützung). Daher gibt es an dieser Stelle für diese Distribution eine Kurzzusammenfassung. Falls dennoch etwas nicht klappen sollte, kann man ja immer noch die folgende ausführliche Anleitung lesen.

Benötigte Pakete

Für die komplette Einrichtung sollten folgende Pakete installiert sein (beim Paket hp-officeJet muss mindestens u.a. Version eingespielt werden, die Originalversion auf CD/DVD hat einen Fehler):

  • hp-officeJet-0.91-115.3
  • sane-1.0.13-73
  • ghostscript-x11-7.07.1rc1-190
  • cups-libs-1.1.20-103
  • cups-drivers-1.1.20-60
  • cups-1.1.20-103
  • cups-client-1.1.20-103

Aktivierung der Daemonen

Für den PSC ist es notwendig, dass folgende Daemonen (Hintergrunddienste) laufen:

  1. CUPS
  2. PTAL
  3. SANE

Dazu geht man in YaST2 auf SystemRunLevel EditorExpertenmodus und aktiviert diese drei Dienste (am besten auch in den Runleveln 3 und 5).

Drucker einrichten

Zuerst muss man den Drucker einschalten. Dann führt man als Benutzer "root" folgenden Befehl aus: ptal-init setup. Bei den Abfragen sucht man nur nach USB-Geräten und wenn das Programm den Drucker findet, quittiert man dies einfach mit der Return-Taste. Zur Sicherheit sollte man noch folgenden Befehl ausführen:

chmod a+rx /dev/ptal-printd /var/run/ptal-*

Danach erfolgt das Einrichten des Druckers über die CUPS-Weboberfläche. Vorbereitend dazu müssen wegen dem restriktiven Sicherheitssystem von CUPS zwei Kommandos ausgeführt werden - nach dem ersten Befehl lppasswd muss das root-Passwort eingegeben werden (zweimal zur Bestätigung):

  1. lppasswd -g sys -a root
  2. rccups restart

Danach öffnet man seinen Lieblingsbrowser und gibt oben in der Adressleiste http://localhost:631 ein. Jetzt sollte die CUPS (Common UNIX Printing System)-Administrationsseite erscheinen. Dort geht man auf PrintersAdd New Printer. Bei dieser Gelegenheit muss man sich auch als root identifizieren.

Auf der dann erscheinenden Seite mit den drei Eingabefeldern gibt man dem Drucker als erstes einen Namen, z.B. PSC_2210 und klickt dann auf Continue. Im dann erscheinenden Auswahlfeld pickt man sich das »PTAL Device...« heraus. Danach muss man sich noch aus der Treiberliste den HP PSC 2210 aussuchen.

Jetzt ist der Drucker schon eingerichtet - zur Kontrolle sollte man sich noch die Testseite ausdrucken lassen.

Scanner einrichten

Um den Scanner einzurichten, muss man nur mit Root-Rechten in die Datei /etc/sane.d/dll.conf gehen und beim Eintrag hpoj das Kommentarzeichen (Raute) entfernen. Voilà, der Scanner ist mit jedem Scanprogramm (Kooka, XSane) einsatzbereit.

Konfigurationsschritte auf anderen/älteren Distributionen

Die Einrichtung der Office Jets sollte distributionsabhängig überall funktionieren. Allerdings benötigt der PSC 2210 natürlich USB-Support (wenn man nicht viel basteln möchte, sollte es schon Kernel 2.4.2 oder neuer sein). Die Kernelversion bekommt man mit dem Befehl uname -r heraus. Nähere Details, welches Gerät welche Mindestanforderungen hat, auf [1].


Wichtiger Hinweis für Benutzer eines SMP-Kernels:

Die aktuelle Version 0.90 des hpoj-Ppaketes (siehe 4.) funktioniert leider nicht in Verbindung mit einem SMP-Kernel. Stattdessen muss man die CVS-Version verwenden (oder auch die Nachfolgeversion von 0.90, im Januar 2003 noch nicht draussen). Die genauen Anweisungen finden sich auf der oben genannten HPOJ-Seite.

Ausserdem darf man kein printer.o laden, da es sofort ein Kernel-Oops verursachen würde! Die Kommunikation geht ausschliesslich über das USB Hostcontroller-Modul (normalerweise usb-uhci oder usb-ohci). Die Datei printer.o muss unter /lib/modules/... gelöscht werden!

Beim Konfigurieren des CUPS-Druckers (siehe 7.) erscheint bei der Device-Auswahl evtl. "Unknown PTAL Device", da dort das ptal-backend z.Zt. noch nicht auf das neue HPOJ-Paket vorbereitet ist. Man muss dann einfach von Hand die komplette PTAL-Device-Adresse angeben, z.B. ptal://mlc:usb:PSC_2200_Series


USB-Printer Kernelmodul

Um einen Drucker am USB-Port zu betreiben, benötigt man das Kernelmodul printer.o. Zuerst muss man auf der obengenannten Seite [1] überprüfen, welche Minimalvoraussetzungen für seinen Drucker gelten. Für den PSC 2210 benötigt man einen Kernel 2.4.19 oder neuer. Dieser dürfte allerdings noch nicht weit verbreitet sein (z.Zt. nur bei SuSE 8.1). Auf meiner Maschine befindet sich noch ein 2.4.10 Kernel (SuSE 7.3). Für diesen Fall geht man auf David's modified version of printer.c unter [2]. Im "README" wird ausführlich besprochen, wie man OHNE den Kernel neu zu kompilieren ein neues (modifiziertes) Kernelmodul printer.o erstellt. Dies hat ganz gut funktioniert, wobei ich noch zwei Sachen erwähnen will:

  • Für diesen Vorgang benötigt man die Kernel-Sourcen, die zumindest bei SuSE standardmäßig nicht installiert sind. Also mit YAST das Paket "kernel-source" aus der Serie d (Development) nachinstallieren.
  • Das Kompilieren mit "make" lief nicht durch, wobei die Fehlermeldung allerdings selbsterklärend war. Um das neue Kernelmodul über den Kernel zu informieren, musste ich die Kernel-Headerdatei im /boot Verzeichnis an eine andere Stelle mit anderem Namen kopieren:
    cp /boot/vmlinuz.version.h /lib/modules/`uname -r`/build/include/linux/version.h
    Das `uname -r` ist hier eine Kommandosubstitution und steht bei mir z.B. für "2.4.10-4GB".
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung