/usr/share/doc/HOWTO/de-html/DE-Drucker-HOWTO-16.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 | <!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: Serielle Drucker unter lpd</TITLE>
<LINK HREF="DE-Drucker-HOWTO-17.html" REL=next>
<LINK HREF="DE-Drucker-HOWTO-15.html" REL=previous>
<LINK HREF="DE-Drucker-HOWTO.html#toc16" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-Drucker-HOWTO-17.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Drucker-HOWTO-15.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Drucker-HOWTO.html#toc16"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s16">16.</A> <A HREF="DE-Drucker-HOWTO.html#toc16">Serielle Drucker unter lpd</A></H2>
<H2><A NAME="ss16.1">16.1</A> <A HREF="DE-Drucker-HOWTO.html#toc16.1">Einstellungen in der printcap</A>
</H2>
<P><CODE>lpd</CODE> besitzt 5 Attribute, die in der <CODE>/etc/printcap</CODE> eingestellt
werden können, um die Einstellungen einer seriellen Schnittstelle zu
kontrollieren, an die der Drucker angeschlossen ist.
Die Beschreibung der Attribute ist in der <EM>printcap Manual Page</EM>
zu finden, wobei man vor allem die Bedeutung von <CODE>br#</CODE>,
<CODE>fc#</CODE>, <CODE>xc#</CODE>, <CODE>fs#</CODE> und <CODE>xs#</CODE>
beachten sollte. Die letzten vier dieser
Attribute sind Bitmaps, die für die Einstellungen dieser Schnittstelle
stehen. Das <CODE>br#</CODE>-Attribut ist einfach die Baudrate, z.B.
`<CODE>br#9600</CODE>':</P>
<P>
<!--
stty
-->
Es ist sehr einfach, die <CODE>stty</CODE>-Einstellungen in
<CODE>printcap</CODE> Flags zu übersetzen. Wenn nötig,
studieren Sie nun bitte die Manual Page von <CODE>stty</CODE>.</P>
<P>Benutzen Sie <CODE>stty</CODE>, um die Schnittstelle zum Drucker so
einzustellen, daß man eine Datei über sie mit cat an den Drucker
schicken kann, und diese dann korrekt ausgegeben wird. So
könnte die Ausgabe von `<CODE>stty -a</CODE>' für eine Schnittstelle z.B.
aussehen.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
# stty -a < /dev/ttyS2
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D;
eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; min = 1;
time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr
-igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel
nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh
-xcase -tostop -echoprt -echoctl -echoke
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die einzigen Unterschiede zwischen diesen Einstellungen und der
Initialisierung beim Booten sind <CODE>-clocal</CODE>, <CODE>-crtscts</CODE> und
<CODE>ixon</CODE>. Die Ausgabe bei ihrer Schnittstelle kann durchaus
anders aussehen, da dieses von der Flußkontrolle Ihres Druckers
abhängt.</P>
<P>Wirklich verwendet wird <CODE>stty</CODE> auf eine etwas ungewöhnliche
Weise. Ursprünglich war <CODE>stty</CODE> dafür gedacht, die Einstellungen
eines Terminals anzupassen. Deswegen gibt <CODE>stty</CODE> die
Steuerzeichen auf der Standardausgabe aus. Um mit dem Programm
die Einstellungen einer beliebigen seriellen Schnittstelle zu
manipulieren, muß deshalb wie oben das <CODE><</CODE>-Zeichen
verwendet werden.</P>
<P>Sobald die <CODE>stty</CODE>-Einstellungen richtig sind, man
also mit
<BLOCKQUOTE><CODE>
cat datei > /dev/ttyS2
</CODE></BLOCKQUOTE>
eine Datei an der Drucker, hier an <CODE>/dev/ttyS2</CODE>, schicken
kann, sollte man die Datei
<CODE>/usr/src/linux/include/asm-i386/termbits.h</CODE>
betrachten. Diese Datei enthält viele <CODE>#define</CODE>- und
einige <CODE>struct</CODE>-Zeilen. Man betrachte den Abschnitt, der mit</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/* c_cflag bit meaning */
#define CBAUD 0000017
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>anfängt. Dieser Abschnitt listet die Bedeutungen der <CODE>fc#</CODE>-
und <CODE>fs#</CODE>-Teile auf. Ihnen wird auffallen, daß die Namen
(nach den Baudraten) mit einer der <CODE>stty</CODE>-Ausgabeleitungen
übereinstimmen. Habe ich nicht gesagt, daß es leicht sein würde?</P>
<P>Achten Sie auf die Einstellungen, die mit einem »<CODE>-</CODE>« in der
<CODE>stty</CODE>-Ausgabe anfangen. Wenn man alle diese Nummern aufsummiert
(sie sind oktal), erhält man die Bits, die man löschen will. Also
ist das die <CODE>fc#</CODE>-Einstellung.
Erinnern Sie sich daran, daß Sie diese Bits direkt nach dem
Löschen setzen werden, also können Sie einfach
<CODE>fc#0177777</CODE> verwenden.</P>
<P>Jetzt macht man das gleiche für die Einstellungen, die kein »<CODE>-</CODE>«
vor sich haben. In dem Beispiel sind die wichtigsten <CODE>CS8</CODE> (0000060),
<CODE>HUPCL</CODE> (0002000) und <CODE>CREAD</CODE> (0000200). Beachten Sie auch
die Flags für die Baudrate.
Zählen Sie alle zusammen und Sie bekommen in
diesem Beispiel 0002275 heraus. Dieses ist der Wert für die
<CODE>fs#</CODE>-Option. </P>
<P>Machen Sie das gleiche mit <CODE>set</CODE> und <CODE>clear</CODE> für den
nächsten Abschnitt der Includedatei,
<CODE>"c_lflag bits"</CODE>.</P>
<H2><A NAME="ss16.2">16.2</A> <A HREF="DE-Drucker-HOWTO.html#toc16.2">Ältere serielle Drucker, die Zeichen verschlucken</A>
</H2>
<P>Jon Luckey hat festgestellt, daß einige ältere serielle Drucker mit
sehr schlechten seriellen Interfaces und kleinen Buffern <EM>wirklich</EM>
Stop meinen, wenn sie das mit ihrer Flußkontrolle sagen. Er fand
heraus, daß sich das Problem lösen läßt, wenn der FIFO-Buffer des
16550-UARTs mit <CODE>setserial</CODE> ausgeschaltet wird. Hierfür gibt
man einfach den UART-Typ 8250 an.</P>
<HR>
<A HREF="DE-Drucker-HOWTO-17.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Drucker-HOWTO-15.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Drucker-HOWTO.html#toc16"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>
|