lp(4) Device Drivers Manual lp(4)

lp - Zeilendrucker (line printer devices)

ÜBERSICHT

#include <linux/lp.h>

lp[0…2] sind zeichenorientierte Geräte für Drucker an der parallelen Schnittstelle; ihre Hauptnummer (Major Number) ist 6, ihre Nebennummern (Minor Numbers) sind 0…2. Die Nebennummern korrespondieren mit den Basisadressen 0x03bc, 0x0378 und 0x0278 der Druckerports. Normalerweise ist ihr Zugriffsmodus 220, der Besitzer ist root und die Gruppe lp. Die Druckerports können entweder im Polling- oder Interrupt-Betrieb benutzt werden. Falls ein größerer Datendurchsatz erwartet wird, z.B. für Laserdrucker, sollten Interrupts benutzt werden. Für typische Matrixdrucker sollte Polling ausreichen. Der Vorgabewert ist Polling.

Die folgenden Aufrufe von ioctl(2) werden unterstützt:

Wenn der Druckerpuffer voll ist, schläft der Treiber für arg Hundertstelsekunden, bevor er den Puffer erneut prüft. Für einen schnellen Drucker sollte dieser Wert niedrig, für einen langsamen Drucker dagegen hoch gewählt werden. Die Vorgabe ist 2, also 0,02 Sekunden. Dies beeinflusst nur den abrufenden Treiber (Polling).
Setzt die maximale Anzahl der Durchgänge, die der abrufende Treiber wartet, bis der Drucker bereit ist, ein Zeichen für arg zu empfangen. Die Zahl sollte vergrößert werden, falls das Drucken zu langsam ist und verkleinert werden, wenn das System zu langsam wird. Der Standardwert ist 1000. Dies beeinflusst nur den abrufenden Treiber (Polling).
Falls arg 0 ist, wird es der Druckertreiber bei Fehlern erneut versuchen, ansonsten aufgeben. Der Standardwert ist 0.
Falls arg 0 ist, wird open(2) bei auftretenden Fehlern abgebrochen, ansonsten werden Fehler ignoriert. Standardmäßig werden Fehler ignoriert.
Falls arg 0 ist, müssen die Signale »out-of-paper«, »offline« und »error« bei allen Schreibzugriffen logisch falsch sein, ansonsten werden sie ignoriert. Es ist Standard, sie zu ignorieren.
Setzt die Anzahl von »busy-wait«-Iterationen, die ausgeführt werden, bevor der Strobe-Impuls beginnt. (Strobe signalisiert dem Drucker, dass die Daten am Datenport stabil anliegen und ein neues Zeichen enthalten.) Es werden ebenfalls arg Iterationen ausgeführt, bevor der Strobe-Impuls beendet wird. Die Spezifikation gibt eine Impulslänge von 0,5 Mikrosekunden vor. Die Erfahrung hat gezeigt, dass die Verzögerung durch den Code selbst ausreicht. Darum ist der Standardwert 0. Er wird für den interruptgetriebenen wie für den abrufenden Treiber verwendet.
Dieser ioctl(2) benötigt Superuser-Rechte. Das Argument arg ist die Nummer des neuen IRQs. Der Wert 0 schaltet Interrupts ab und Polling ein, was auch Standard ist.
Speichert den zurzeit genutzten IRQ in arg.
Speichert den Wert des Statusports in arg. Die Bits haben folgende Bedeutung:
LP_PBUSY invertierter Busy-Eingang, aktiv hoch
LP_PACK unveränderter Acknowledge-Eingang, aktiv niedrig
LP_POUTPA unveränderter »out-of-paper«-Eingang, aktiv hoch
LP_PSELECD unveränderter Selected-Eingang, aktiv hoch
LP_PERRORP unveränderter Error-Eingang, aktiv niedrig
Lesen Sie auch Ihr Drucker-Handbuch für die Bedeutung der Signale. Beachten Sie, dass abhängig vom Drucker auch undokumentierte Bits gesetzt werden können.
Setzt den Drucker zurück. Ohne Argument.

/dev/lp*

chmod(1), chown(1), mknod(1), lpcntl(8), tunelp(8)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Michael Haardt <michael@moria.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

2. Mai 2024 Linux man-pages 6.8