This file is indexed.

/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 (&lt;=2.1.32), falls das lp-Device einkompiliert
oder geladen wurde (die Ausgabe von <CODE>cat /proc/devices</CODE>
sollte das Device lp einschlie&szlig;en), stellt ein oder mehr Devices
<CODE>/dev/lp0</CODE>, <CODE>/dev/lp1</CODE> und <CODE>/dev/lp2</CODE> zur
Verf&uuml;gung. Diese werden <EM>nicht</EM> dynamisch zugeordnet, sondern
korrespondieren vielmehr mit einer bestimmten I/O-Adresse der
Hardware. Das hei&szlig;t, da&szlig; der erste Drucker entweder <CODE>lp0</CODE> oder
<CODE>lp1</CODE> sein kann, abh&auml;ngig von der verwendeten Hardware. Testen
Sie einfach beides ;-).</P>
<P>Einige Leute haben berichtet, da&szlig; ihre bidirektionalen lp-Ports
nicht erkannt wurden, wenn sie ein altes, unidirektionales Kabel
verwendeten. &Uuml;berpr&uuml;fen Sie also, ob Sie &uuml;ber ein vern&uuml;nftiges
Kabel verf&uuml;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&auml;ten 1.3.x)
laden. Wenn man die Interrupts u.&auml;. 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&auml;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 
&Uuml;bertragungsgeschwindigkeit und anderes eines lp-Device einstellen kann.</P>
<P>Wenn der Treiber in den Kernel eingebunden wurde, k&ouml;nnen mit der
<CODE>lp=</CODE>-Option w&auml;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&uuml;rde dann folgendes benutzt werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
lp=0x378,0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Mit nachfolgender Option w&uuml;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&uuml;r die beiden parallelen Schnittstellen wieder.</P>
<P>Wenn diese Funktion benutzt wird, m&uuml;ssen <EM>alle</EM> Ports
angegeben werden, die ber&uuml;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&ouml;nnen die Adressen und 
Interrupts in der &uuml;blichen Syntax dem insmod-Kommando &uuml;bergeben
werden. Falls der kerneld Verwendung findet, k&ouml;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&uuml;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&uuml;gbar als Patch f&uuml;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&auml;lten:
ein Port kann mit anderen Treibern »geteilt« werden, 
den verf&uuml;gbaren
Parallelports werden dynamisch Device-Nummern zugeordnet, anstatt
eine feste Zuordnung zu erzwingen, und einiges mehr.</P>
<P>Die Verf&uuml;gbarkeit des parport-Devices hat eine ganze Reihe
neuer Treiber f&uuml;r den Parallelport erm&ouml;glicht, so z.B. f&uuml;r parallele
ZIP-Laufwerke, externe CD-ROMs und Festplatten. Einige davon
sind auch f&uuml;r Kernel 2.0.x verf&uuml;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&ouml;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&szlig;en unter Linux
<CODE>/dev/ttySx</CODE>, wobei <CODE>x</CODE> die spezielle Schnittstelle
bezeichnet. Die erste serielle Schnittstelle w&auml;re also
<CODE>/dev/ttyS0</CODE>.</P>
<P>Das Programm <CODE>stty</CODE> erlaubt es, interaktiv die Einstellungen f&uuml;r
die seriellen Schnittstellen anzusehen oder zu ver&auml;ndern; mit 
<CODE>setserial</CODE> k&ouml;nnen einige erweiterte Attribute eingestellt 
werden und IRQs bzw.
I/O-Adressen f&uuml;r nicht-standardm&auml;&szlig;ige Schnittstellen konfiguriert
werden. Weitere Informationen &uuml;ber serielle Schnittstellen k&ouml;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&szlig;kontrolle
benutzt, kann es sein, da&szlig; einige Druckauftr&auml;ge nicht vollst&auml;ndig
ausgedruckt werden. Das kann mit der seriellen Schnittstelle
zusammenh&auml;ngen. Damit die von einem Programm gelieferten Daten nicht
verloren gehen, wenn der Drucker per Flu&szlig;kontroller dem Computer
mitteilt, da&szlig; 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&ouml;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 &gt; /dev/ttySx
</CODE></BLOCKQUOTE>

kurze Dateien komplett ausdruckt, bei l&auml;ngeren aber das Ende abschneidet,
k&ouml;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&auml;ter) eingestellt werden. Die seriellen
Schnittstellen eines Rechners werden &uuml;blicherweise durch einen
Aufruf von <CODE>setserial</CODE> in einer der Bootdateien initialisiert.
Der Aufruf f&uuml;r den Port, an dem der Drucker h&auml;ngt,
kann so modifiziert werden, da&szlig; 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>