File: secserial.htm

package info (click to toggle)
lprng 3.8.10-1.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 13,076 kB
  • ctags: 4,348
  • sloc: ansic: 35,394; sh: 10,756; perl: 2,210; makefile: 1,046
file content (133 lines) | stat: -rw-r--r-- 5,001 bytes parent folder | download
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&gt;&amp;2; cat $1 ) &lt;$DEV &gt;$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>