Login
Newsletter
Werbung

Do, 18. Mai 2000, 00:00

Linux als Druckserver

Linux als Druckserver, speziell für Windows-Clients. wird hier beschrieben.

Vorwort

Einen eigenen Druckserver zu haben, ist sehr praktisch. Er braucht im Normalfall wenig Hardware, außer Sie möchten mit ihm Hochleistungsdrucker betreiben. Mein Beispielsystem sah von der Hardware wie folgt aus: Ein AMD K5-100 MHz mit 32 MB Speicher, einer 2,1 GB Festplatte und insgesamt drei Parallelport-Anschlüssen. Als Drucker nutzte ich einen Canon BJC-4000, einen Epson Stylus Color 750 und einen Epson Stylus Color 900. Mein Betriebssystem ist SuSE Linux 6.2. Diese Dokumentation baut auf diesem Beispielsystem auf.

Installation von Samba und Beschreibung der Samba-Tools

OK, jetzt haben wir genug über die grundsätzlichen Dinge gesprochen und legen richtig los. Als erstes muß natürlich das aktuellste Samba-Paket installiert sein. Vorher sollte allerdings noch festgestellt werden, ob das TCP/IP-Protokoll korrekt installiert ist. Weiterhin sollte darauf geachtet werden, daß in der Datei /etc/rc.config der Parameter START_SMB auf YES nach der Installation des Paketes gesetzt ist, damit der Samba-Daemon smbd gestartet wird.

Um sicherzustellen, daß sich bei der Konfiguration keine Fehler in der Datei smb.conf eingeschlichen haben, gibt es das Programm testparm, das die vorhandene Konfiguration auf ihre Richtigkeit überprüft. Mit smbclient -L localhost können Sie lokal prüfen, ob alle gewünschten Ressourcen auch freigegeben sind.

Druckerinstallation

Die erste Hürde ist die eigentliche Druckerinstallation. Haben Sie schon alle Drucker konfiguriert und entsprechende Filter eingerichtet, so können Sie diesen Abschnitt überspringen.

Zuerst müssen natürlich alle zusätzlichen Parallelportkarten im System eingebaut sein. Den Standardport auf dem Mainboard habe ich bei meinem Beispielsystem auf 03BC gestellt. Die Zusatzkarte wurden entsprechend auf 0278 und 0378 mit den Interrupts 5 und 7 gejumpert. Alle Parallelports sind auf EPP oder ECP/EPP eingestellt. Nun haben wir die Hardware soweit vorbereitet und es werden alle Drucker an die Interfaces angeschlossen. Es gibt jetzt zwei Methoden, die Ports anzusprechen. Entweder der Treiber direkt in den Kernel compiliert oder Sie nutzen Module. Beide Möglichkeiten werden hier beschrieben.

Module

Wenn Sie den Standardkernel von SuSE verwenden sollten, ist der Aufwand nicht so groß, da die entsprechenden Module schon vorhanden sind und nicht extra neu compiliert werden müssen. Es muß allerdings noch die Datei /etc/conf.modules angepasst werden, um alle Parallelports ansprechen zu können. Bei mir sah sie wie folgt aus:

alias parport_lowlevel parport_pc
options parport_pc io=0x3BC,0x378,0x278 irq=none,7,5

Wie Sie sehen, nutzen nicht alle Parallelports den Interrupt-Betrieb. Dies ist eigentlich nicht zu empfehlen, da beim Polling-Betrieb (Parallelports ohne Interruptzuweisung) die CPU stärker belastet wird. Durch mein BIOS blieb mir keine andere Wahl, als diesen Schritt zu machen.

Im Kernel

Im Konfigurationsmenü des Kernels muß unter dem Menüpunkt Character Devices das Parport-System direkt integriert werden. Danach wird die Konfiguration beim Beenden gespeichert und der Kernel neu compiliert. Es kann jetzt noch passieren, daß Sie Bootparameter an den Kernel übergeben müssen, damit alle Parallelports funktionieren. Diese können durch den Bootmanager übergeben werden und sehen dann wie folgt aus:

parport=0x3bc,5 parport=0x378,7 parport=0x278,5
lp=parport0 lp=parport1 lp=parport2

Hinweis: Nutzen Sie mehr als drei Drucker, so müssen Sie im Quellcode der Datei lp.c die Variable LP_NO entsprechend hochsetzen. Bei SuSE 6.2 befindet sich die Quelldatei im Verzeichnis /usr/src/linux/drivers/char.

Nun testen wir, ob die jetzigen Einstellungen korrekt sind und versuchen mal einen Testdruck mit folgenden Befehl:

ls -l > /dev/lpx

lpx ist das entsprechende Gerät. In unserem Beispiel nutzen wir lp0, lp1 und lp2. Es ist empfehlenswert, auf jedem Drucker einen Testdruck durchzuführen. Sollte der Testdruck nicht funktionieren, dann haben Sie ein Konfigurations- und/oder Hardwareproblem. Probieren Sie, ob die Interrupts stimmen, die externen Parallelports richtig gejumpert sind, ob alle Drucker online sind und richtig angeschlossen sind, ob ggf. die Einstellungen in der Datei /etc/conf.modules oder die direkten Kernel-Einstellungen korrekt sind. Sollte der Drucker nur blinken und nicht drucken, dann verträgt Ihr Drucker nicht die EPP- oder ECP/EPP-Einstellungen. Stellen Sie diese dann entsprechend auf SPP um. Prüfen Sie bei Modulnutzung die Logdatei /var/log/messages auf Fehlermeldungen. Nutzen Sie keine Module, dann finden Sie in der Datei /var/log/boot.msg vielleicht entsprechende Hinweise auf Fehler. Es muss auf jeden Fall ein bedrucktes Blatt aus allen Druckern herauskommen, ansonsten brauchen Sie den jetzt kommenden Rest nicht konfigurieren, da es keinen Sinn macht.

Jetzt sind wir schon ein großes Stück weiter und es müssen nur noch die entsprechenden Filter und Drucker eingerichtet werden. Ein Druckfilter wandelt die Datendatei eines Druckjobs in das spezifische Format des betreffenden Druckers um. Bei SuSE Linux ist der Druckfilter apsfilter, den Sie unter /var/lib/apsfilter/SETUP finden und aufrufen können. SETUP ist menügesteuert unkompliziert zu bedienen. Aus diesem Grund möchte ich nicht näher auf die Menükonfiguration eingehen. APSFILTER legt nach der erfolgreichen Konfiguration die Datei /etc/printcap an. In dieser Datei stehen die wichtigsten Information wie zum Beispiel, welcher Drucker welches Interface benutzt, wo das Spoolverzeichnis liegt und welche Filter verwendet werden. Nun können Sie mit folgendem Befehl testen, ob Ihre Konfiguration erfolgreich war:

lpr -Plp /var/log/boot.msg

lp ist entsprechende Warteschlange. Es gibt mehrere Möglichkeiten, wie eine Warteschlange heißen kann, zum Beispiel lp-mono, raw, ascii. Schauen Sie dazu in der Datei /etc/printcap nach, welche Warteschlangen dort vorhanden sind. Testen Sie das bei jedem Drucker. Ist der Test erfolgreich, so können wir zur Samba-Konfiguration übergehen.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung