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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Serial Printers</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.71 ">
<link rel="HOME" title=" LPRng-HOWTO" href="index.htm">
<link rel="UP" title="Printer Communication and Protocols "
href="printercomm.htm">
<link rel="PREVIOUS" title="Parallel Port Printers" href=
"x5209.htm">
<link rel="NEXT" title="Printcap Database " href=
"printcapref.htm">
</head>
<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
"#0000FF" vlink="#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<th colspan="3" align="center">LPRng-HOWTO: 1 Apr 2002
(For LPRng-3.8.10)</th>
</tr>
<tr>
<td width="10%" align="left" valign="bottom"><a href=
"x5209.htm" accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom">Chapter
11. Printer Communication and Protocols</td>
<td width="10%" align="right" valign="bottom"><a href=
"printcapref.htm" accesskey="N">Next</a></td>
</tr>
</table>
<hr align="LEFT" width="100%">
</div>
<div class="SECT1">
<h1 class="SECT1"><a name="SECSERIAL">11.12. Serial
Printers</a></h1>
<p>If your printer is attached by a serial line, then you may
need to set the serial line characteristics before sending
the job to the printer. Here are a set of guidelines to
following when attaching a serial port printer to a serial
line.</p>
<p>1. Check to make sure that the line is not enabled for
login. Logins are usually managed by the <b class=
"APPLICATION">getty</b> (BSD) or <b class=
"APPLICATION">ttymon</b> (Solaris, SystemV). Check your
system documentation and make sure that these daemons are not
managing the serial line.</p>
<p>2. Check the permissions and ownership of the serial line.
For the most easy testing, set the permissions to 0666
(everybody can open for reading and writing). After you have
made sure that you can send jobs to the printer, you might
want to change the ownership of the serial line to the <b
class="APPLICATION">lpd</b> server and change the permissions
to 0600.</p>
<p>3. Make sure that you can print a test file on the printer
via the serial port. This may require setting the line
characteristics and then sending a file to the printer. You
should try to use 8 bit, no parity, with hardware flow
control and no special character interpretation, and
definitely no LF to CR/LF translation. The problem is that
different versions of UNIX systems have different sets of
stty(1) commands to do this. The following simple test script
can help in this.</p>
<div class="INFORMALEXAMPLE">
<a name="AEN5267"></a>
<pre class="SCREEN">
#!/bin/sh
# 9600, no echo, no CR
FLAGS= 9600 -raw -parenb cs8 crtscts
DEV= /dev/tty01
(stty $FLAGS; stty 1>&2; cat $1 ) <$DEV >$DEV
</pre>
</div>
<br>
<br>
<p>This shows using stty to set the flags, then to print the
current settings, and then using cat a file to the output. If
you attach a dumb terminal to the serial port, you can even
use this script to ensure that input from the device is
echoed to the output with the correct speed, parity, etc.</p>
<p>Experience has shown that serially connected printers are
the least reliable and lowest speed. Where possible, it is
strongly recommended that they be attached to a <i class=
"EMPHASIS">network print box</i> which will provide a Socket
API interface and handle the low level network to serial port
protocol conversions.</p>
</div>
<div class="NAVFOOTER">
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href=
"x5209.htm" accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href=
"index.htm" accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href=
"printcapref.htm" accesskey="N">Next</a></td>
</tr>
<tr>
<td width="33%" align="left" valign="top">Parallel Port
Printers</td>
<td width="34%" align="center" valign="top"><a href=
"printercomm.htm" accesskey="U">Up</a></td>
<td width="33%" align="right" valign="top">Printcap
Database</td>
</tr>
</table>
</div>
</body>
</html>
|