/usr/share/doc/HOWTO/de-html/DE-Drucker-HOWTO-3.html is in doc-linux-de 2003.10-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
<TITLE>Linux Drucker HOWTO: Kernel-Drucker-Devices</TITLE>
<LINK HREF="DE-Drucker-HOWTO-4.html" REL=next>
<LINK HREF="DE-Drucker-HOWTO-2.html" REL=previous>
<LINK HREF="DE-Drucker-HOWTO.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-Drucker-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Drucker-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Drucker-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s3">3.</A> <A HREF="DE-Drucker-HOWTO.html#toc3">Kernel-Drucker-Devices</A></H2>
<H2><A NAME="ss3.1">3.1</A> <A HREF="DE-Drucker-HOWTO.html#toc3.1">lp-Device </A>
<!--Device!lp--> <!--lp-Device--> <!--Device!plip--> <!--plip-Device--> <!--Drucker!parallel Schnittstelle--></H2>
<P>Der Linux-Kernel (<=2.1.32), falls das lp-Device einkompiliert
oder geladen wurde (die Ausgabe von <CODE>cat /proc/devices</CODE>
sollte das Device lp einschließen), stellt ein oder mehr Devices
<CODE>/dev/lp0</CODE>, <CODE>/dev/lp1</CODE> und <CODE>/dev/lp2</CODE> zur
Verfügung. Diese werden <EM>nicht</EM> dynamisch zugeordnet, sondern
korrespondieren vielmehr mit einer bestimmten I/O-Adresse der
Hardware. Das heißt, daß der erste Drucker entweder <CODE>lp0</CODE> oder
<CODE>lp1</CODE> sein kann, abhängig von der verwendeten Hardware. Testen
Sie einfach beides ;-).</P>
<P>Einige Leute haben berichtet, daß ihre bidirektionalen lp-Ports
nicht erkannt wurden, wenn sie ein altes, unidirektionales Kabel
verwendeten. Überprüfen Sie also, ob Sie über ein vernünftiges
Kabel verfügen.</P>
<P>Man kann nicht die plip- und lp-Treiber gleichzeitig auf einem Port
laufen lassen. Man kann aber einen der beiden Treiber entweder manuell
oder mit dem kerneld (mit Kernelversion 2.x oder späten 1.3.x)
laden. Wenn man die Interrupts u.ä. sinnvoll setzt, kann man lp
auf dem einen und plip auf dem anderen Port laufen lassen. Jemand
hat das gemacht, indem er die Treiber geändert hat; es bleibt
abzuwarten, ob es auch eine einfache Kommandozeilen-Methode gibt.</P>
<P>Es gibt ein kleines Utility namens tunelp,
mit dem man als root den verwendeten Interrupt, die
Übertragungsgeschwindigkeit und anderes eines lp-Device einstellen kann.</P>
<P>Wenn der Treiber in den Kernel eingebunden wurde, können mit der
<CODE>lp=</CODE>-Option während des Bootvorganges die Portadressen und
Interrupts eingestellt werden. Die Option hat folgenden Syntax:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Um die Portadresse 0x378 und keinen Interrupt (Polling) zu verwenden,
würde dann folgendes benutzt werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
lp=0x378,0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Mit nachfolgender Option würde die Adresse 0x278 mit dem Interrupt
5 und die Adresse 0x387 mit dem Interrupt 7 verwendet werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
lp=0x278,5,0x378,7
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die Einstellungen des letzten Beispieles spiegeln die Standardwerte
für die beiden parallelen Schnittstellen wieder.</P>
<P>Wenn diese Funktion benutzt wird, müssen <EM>alle</EM> Ports
angegeben werden, die berücksichtigt werden sollen, es gibt keine
Voreinstellungen. Der eingebaute Treiber kann mit <CODE>lp=0</CODE>
deaktiviert werden.</P>
<P>Wenn der Treiber als Modul geladen wird, können die Adressen und
Interrupts in der üblichen Syntax dem insmod-Kommando übergeben
werden. Falls der kerneld Verwendung findet, können die Einstellungen
in der Datei <CODE>/etc/conf.modules</CODE> vorgenommen werden.
Die Parameter sind
<CODE>io=port0,port1,port2</CODE> und <CODE>irq=irq0,irq1,irq2</CODE>. Weitere
Informationen liefert die Manual Page zu <CODE>insmod</CODE>.</P>
<P>Der Quelltext für den Linux Parallelporttreiber befindet sich in
der Datei
<CODE>/usr/src/linux/drivers/char/lp.c</CODE>.</P>
<H2><A NAME="ss3.2">3.2</A> <A HREF="DE-Drucker-HOWTO.html#toc3.2">parport-Device </A>
<!--Device!parport--> <!--parport-Device--></H2>
<P>Beginnend mit Kernel 2.1.33 (und verfügbar als Patch für Kernel
2.0.30) ist das lp-Device eigentlich nur noch ein Client des neuen
parport-Devices. Die Erweiterung um das parport-Device
beseitigt einige der Probleme, die den alten lp-Treiber quälten:
ein Port kann mit anderen Treibern »geteilt« werden,
den verfügbaren
Parallelports werden dynamisch Device-Nummern zugeordnet, anstatt
eine feste Zuordnung zu erzwingen, und einiges mehr.</P>
<P>Die Verfügbarkeit des parport-Devices hat eine ganze Reihe
neuer Treiber für den Parallelport ermöglicht, so z.B. für parallele
ZIP-Laufwerke, externe CD-ROMs und Festplatten. Einige davon
sind auch für Kernel 2.0.x verfügbar; weitere Informationen hierzu
finden sich im WWW.</P>
<P>Eine Dokumentation zum parport-Treiber ist in den Kernelquellen
in der Datei <CODE>Documentation/parport.txt</CODE> zu finden. Auch
ein Blick auf die <EM>parport-Webseite</EM> unter folgender Adresse
könnte sinnvoll sein:
<BLOCKQUOTE><CODE>
<A HREF="http://www.cyberelk.demon.co.uk/parport.html">http://www.cyberelk.demon.co.uk/parport.html</A></CODE></BLOCKQUOTE>
</P>
<H2><A NAME="ss3.3">3.3</A> <A HREF="DE-Drucker-HOWTO.html#toc3.3">Serielle Devices </A>
<!--Drucker!serielle Schnittstelle--></H2>
<P>Die Devices serieller Schnittstellen heißen unter Linux
<CODE>/dev/ttySx</CODE>, wobei <CODE>x</CODE> die spezielle Schnittstelle
bezeichnet. Die erste serielle Schnittstelle wäre also
<CODE>/dev/ttyS0</CODE>.</P>
<P>Das Programm <CODE>stty</CODE> erlaubt es, interaktiv die Einstellungen für
die seriellen Schnittstellen anzusehen oder zu verändern; mit
<CODE>setserial</CODE> können einige erweiterte Attribute eingestellt
werden und IRQs bzw.
I/O-Adressen für nicht-standardmäßige Schnittstellen konfiguriert
werden. Weitere Informationen über serielle Schnittstellen können
in der <EM>
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html">Serial HOWTO</A></EM> nachgelesen werden.</P>
<P>Wenn man einen langsamen seriellen Drucker mit serieller Flußkontrolle
benutzt, kann es sein, daß einige Druckaufträge nicht vollständig
ausgedruckt werden. Das kann mit der seriellen Schnittstelle
zusammenhängen. Damit die von einem Programm gelieferten Daten nicht
verloren gehen, wenn der Drucker per Flußkontroller dem Computer
mitteilt, daß er zur Zeit keine weiteren Daten empfangen kann, weil
sein Speicher voll ist, speichert der Treiber der seriellen Schnittstelle
die Daten in einen Puffer.</P>
<P>Diese Puffer kann 4096 Zeichen aufnehmen. 30 Sekunden nachdem das
Programm das Schnittstellendevice geschlossen hat, löscht der
Treiber den Puffer. Falls der Drucker also nicht schnell genug ist,
in den 30 Sekunden die im Puffer stehenden Daten zu empfangen,
gehen diese verloren.</P>
<P>Wenn der Befehl
<BLOCKQUOTE><CODE>
cat file > /dev/ttySx
</CODE></BLOCKQUOTE>
kurze Dateien komplett ausdruckt, bei längeren aber das Ende abschneidet,
könnte genau dieser Fall vorliegen.</P>
<P>Die 30-Sekunden-Wartezeit kann durch die
<CODE>closing_wait</CODE>-Kommandozeilenoption von <CODE>setserial</CODE>
(Version 2.12 oder später) eingestellt werden. Die seriellen
Schnittstellen eines Rechners werden üblicherweise durch einen
Aufruf von <CODE>setserial</CODE> in einer der Bootdateien initialisiert.
Der Aufruf für den Port, an dem der Drucker hängt,
kann so modifiziert werden, daß zusammen mit den anderen
Parametern die <CODE>closing_wait</CODE>-Option eingestellt wird. </P>
<HR>
<A HREF="DE-Drucker-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Drucker-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Drucker-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>
|