1tunelp(8)                  Linux Programmer's Manual                 tunelp(8)
2
3
4

NAME

6       tunelp - set various parameters for the lp device
7

SYNOPSIS

9       tunelp  <device>  [-i  <IRQ>  | -t <TIME> | -c <CHARS> | -w <WAIT> | -a
10       [on|off] | -o [on|off] | -C [on|off] | -r | -s |  -q  [on|off]  |  -  T
11       [on|off] ]
12

DESCRIPTION

14       tunelp  sets  several  parameters  for the /dev/lp? devices, for better
15       performance (or for any performance at all, if your printer won't  work
16       without  it...)   Without  parameters,  it  tells whether the device is
17       using interrupts, and if so, which one.  With parameters, it  sets  the
18       device characteristics accordingly.  The parameters are as follows:
19
20
21       -i <IRQ>
22              specifies  the IRQ to use for the parallel port in question.  If
23              this is set to something non-zero, -t and -c have no effect.  If
24              your  port does not use interrupts, this option will make print‐
25              ing stop.  The command tunelp -i 0 restores non-interrupt driven
26              (polling)  action,  and your printer should work again.  If your
27              parallel port does support interrupts, interrupt-driven printing
28              should  be  somewhat  faster and efficient, and will probably be
29              desirable.
30
31              NOTE: This option will have no effect  with  kernel  2.1.131  or
32              later  since  the  irq is handled by the parport driver. You can
33              change the parport  irq  for  example  via  /proc/parport/*/irq.
34              Read  /usr/src/linux/Documentation/parport.txt  for more details
35              on parport.
36
37
38       -t <TIME>
39              is the amount of time in jiffies that the driver  waits  if  the
40              printer  doesn't  take  a character for the number of tries dic‐
41              tated by the -c parameter.  10 is the  default  value.   If  you
42              want  fastest  possible  printing,  and  don't care about system
43              load, you may set this to 0.  If you don't care  how  fast  your
44              printer goes, or are printing text on a slow printer with a buf‐
45              fer, then 500 (5 seconds) should be fine, and will give you very
46              low  system  load.   This  value  generally  should be lower for
47              printing graphics than text, by a factor  of  approximately  10,
48              for best performance.
49
50
51       -c <CHARS>
52              is  the  number  of  times  to  try to output a character to the
53              printer before sleeping for -t <TIME>.   It  is  the  number  of
54              times  around  a  loop  that  tries  to  send a character to the
55              printer.  120 appears to be a good value for  most  printers  in
56              polling  mode.   1000  is  the  default,  because there are some
57              printers that become jerky otherwise, but you must set  this  to
58              `1' to handle the maximal CPU efficiency if you are using inter‐
59              rupts. If you have a very fast printer, a value of 10 might make
60              more  sense  even  if in polling mode.  If you have a really old
61              printer, you can increase this further.
62
63              Setting -t <TIME> to 0 is equivalent to setting  -c  <CHARS>  to
64              infinity.
65
66
67       -w <WAIT>
68              is the number of usec we wait while playing with the strobe sig‐
69              nal.  While most printers appear to be  able  to  deal  with  an
70              extremely  short  strobe,  some  printers  demand  a longer one.
71              Increasing this from the default 1 may make it possible to print
72              with  those  printers.   This  may  also make it possible to use
73              longer cables. It's also possible to decrease this value to 0 if
74              your printer is fast enough or your machine is slow enough.
75
76
77       -a [on|off]
78              This  is  whether to abort on printer error - the default is not
79              to.  If you are sitting at your computer, you probably  want  to
80              be  able  to see an error and fix it, and have the printer go on
81              printing.  On the other hand, if you aren't,  you  might  rather
82              that your printer spooler find out that the printer isn't ready,
83              quit trying, and send you mail about it.  The choice is yours.
84
85
86       -o [on|off]
87              This option is much like -a.  It makes any open() of this device
88              check  to  see  that the device is on-line and not reporting any
89              out of paper or other errors.  This is the correct  setting  for
90              most versions of lpd.
91
92
93       -C [on|off]
94              This  option  adds  extra ("careful") error checking.  When this
95              option is on, the printer driver will ensure that the printer is
96              on-line  and  not  reporting  any  out  of paper or other errors
97              before sending data.  This is particularly useful  for  printers
98              that normally appear to accept data when turned off.
99
100              NOTE:  This  option  is  obsolete  because  it's  the default in
101              2.1.131 kernel or later.
102
103
104       -s     This option returns the current printer status, both as a  deci‐
105              mal  number  from  0..255,  and as a list of active flags.  When
106              this option is specified, -q off, turning off the display of the
107              current IRQ, is implied.
108
109
110       -T [on|off]
111              This  option  is  obsolete.  It  was added in Linux 2.1.131, and
112              removed again in Linux 2.3.10. The below is for these  old  ker‐
113              nels only.
114
115              This  option  tells the lp driver to trust or not the IRQ.  This
116              option makes sense only if you are  using  interrupts.   If  you
117              tell  the  lp  driver to trust the irq, then, when the lp driver
118              will get an irq, it will send the next pending character to  the
119              printer  unconditionally, even if the printer still claims to be
120              BUSY.  This is the only way to sleep on interrupt  (and  so  the
121              handle  the  irq  printing efficiently) at least on Epson Stylus
122              Color Printers.  The lp  driver  automagically  detects  if  you
123              could get improved performance by setting this flag, and in such
124              case it will warn you with a kernel message.
125
126              NOTE: Trusting the irq is reported to corrupt  the  printing  on
127              some hardware, you must try to know if your printer will work or
128              not...
129
130
131       -r     This option resets the port.  It requires a Linux kernel version
132              of 1.1.80 or later.
133
134
135       -q [on|off]
136              This  option  sets  printing the display of the current IRQ set‐
137              ting.
138
139
140

NOTES

142       -o, -C, and -s all require a Linux kernel version of 1.1.76 or later.
143
144       -C requires a Linux version prior to 2.1.131.
145
146       -T requires a Linux version of 2.1.131 or later.
147
148

BUGS

150       By some unfortunate coincidence the ioctl LPSTRICT of  2.0.36  has  the
151       same  number  as the ioctl LPTRUSTIRQ introduced in 2.1.131. So, use of
152       the -T option on a 2.0.36 kernel with an tunelp compiled under  2.1.131
153       or later may have unexpected effects.
154
155

FILES

157       /dev/lp?
158       /proc/parport/*/*
159
160
161
162tunelp                            7 May 1999                         tunelp(8)
Impressum