Provided by: util-linux_2.12r-4ubuntu6_i386 bug

NAME

       tunelp - set various parameters for the lp device

SYNOPSIS

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

DESCRIPTION

       tunelp  sets  several  parameters  for the /dev/lp? devices, for better
       performance (or for any performance at all, if your printer won’t  work
       without  it...)   Without  parameters,  it  tells whether the device is
       using interrupts, and if so, which one.  With parameters, it  sets  the
       device characteristics accordingly.  The parameters are as follows:

       -i <IRQ>
              specifies  the IRQ to use for the parallel port in question.  If
              this is set to something non-zero, -t and -c have no effect.  If
              your  port  does  not  use  interrupts,  this  option  will make
              printing stop.  The command tunelp -i 0  restores  non-interrupt
              driven (polling) action, and your printer should work again.  If
              your parallel port  does  support  interrupts,  interrupt-driven
              printing  should  be  somewhat  faster  and  efficient, and will
              probably be desirable.

              NOTE: This option will have no effect  with  kernel  2.1.131  or
              later  since  the  irq is handled by the parport driver. You can
              change the parport  irq  for  example  via  /proc/parport/*/irq.
              Read  /usr/src/linux/Documentation/parport.txt  for more details
              on parport.

       -t <TIME>
              is the amount of time in jiffies that the driver  waits  if  the
              printer  doesn’t  take  a  character  for  the  number  of tries
              dictated by the -c parameter.  10 is the default value.  If  you
              want  fastest  possible  printing,  and  don’t care about system
              load, you may set this to 0.  If you don’t care  how  fast  your
              printer  goes,  or  are  printing  text on a slow printer with a
              buffer, then 500 (5 seconds) should be fine, and will  give  you
              very  low system load.  This value generally should be lower for
              printing graphics than text, by a factor  of  approximately  10,
              for best performance.

       -c <CHARS>
              is  the  number  of  times  to  try to output a character to the
              printer before sleeping for -t <TIME>.   It  is  the  number  of
              times  around  a  loop  that  tries  to  send a character to the
              printer.  120 appears to be a good value for  most  printers  in
              polling  mode.   1000  is  the  default,  because there are some
              printers that become jerky otherwise, but you must set  this  to
              ‘1’  to  handle  the  maximal  CPU  efficiency  if you are using
              interrupts. If you have a very fast printer, a value of 10 might
              make  more  sense even if in polling mode.  If you have a really
              old printer, you can increase this further.

              Setting -t <TIME> to 0 is equivalent to setting  -c  <CHARS>  to
              infinity.

       -w <WAIT>
              is  the  number  of  usec  we wait while playing with the strobe
              signal.  While most printers appear to be able to deal  with  an
              extremely  short  strobe,  some  printers  demand  a longer one.
              Increasing this from the default 1 may make it possible to print
              with  those  printers.   This  may  also make it possible to use
              longer cables. It’s also possible to decrease this value to 0 if
              your printer is fast enough or your machine is slow enough.

       -a [on|off]
              This  is  whether to abort on printer error - the default is not
              to.  If you are sitting at your computer, you probably  want  to
              be  able  to see an error and fix it, and have the printer go on
              printing.  On the other hand, if you aren’t,  you  might  rather
              that your printer spooler find out that the printer isn’t ready,
              quit trying, and send you mail about it.  The choice is yours.

       -o [on|off]
              This option is much like -a.  It makes any open() of this device
              check  to  see  that the device is on-line and not reporting any
              out of paper or other errors.  This is the correct  setting  for
              most versions of lpd.

       -C [on|off]
              This  option  adds  extra ("careful") error checking.  When this
              option is on, the printer driver will ensure that the printer is
              on-line  and  not  reporting  any  out  of paper or other errors
              before sending data.  This is particularly useful  for  printers
              that normally appear to accept data when turned off.

              NOTE:  This  option  is  obsolete  because  it’s  the default in
              2.1.131 kernel or later.

       -s     This option returns  the  current  printer  status,  both  as  a
              decimal number from 0..255, and as a list of active flags.  When
              this option is specified, -q off, turning off the display of the
              current IRQ, is implied.

       -T [on|off]
              This  option  is  obsolete.  It  was added in Linux 2.1.131, and
              removed again in Linux  2.3.10.  The  below  is  for  these  old
              kernels only.

              This  option  tells the lp driver to trust or not the IRQ.  This
              option makes sense only if you are  using  interrupts.   If  you
              tell  the  lp  driver to trust the irq, then, when the lp driver
              will get an irq, it will send the next pending character to  the
              printer  unconditionally, even if the printer still claims to be
              BUSY.  This is the only way to sleep on interrupt  (and  so  the
              handle  the  irq  printing efficiently) at least on Epson Stylus
              Color Printers.  The lp  driver  automagically  detects  if  you
              could get improved performance by setting this flag, and in such
              case it will warn you with a kernel message.

              NOTE: Trusting the irq is reported to corrupt  the  printing  on
              some hardware, you must try to know if your printer will work or
              not...

       -r     This option resets the port.  It requires a Linux kernel version
              of 1.1.80 or later.

       -q [on|off]
              This  option  sets  printing  the  display  of  the  current IRQ
              setting.

NOTES

       -o, -C, and -s all require a Linux kernel version of 1.1.76 or later.

       -C requires a Linux version prior to 2.1.131.

       -T requires a Linux version of 2.1.131 or later.

BUGS

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

FILES

       /dev/lp?
       /proc/parport/*/*