Provided by: util-linux_2.20.1-5.1ubuntu20.9_amd64 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/*/*

AVAILABILITY

       The    tunelp     command    is    part    of    the   util-linux   package   and   is   available   from
       ftp://ftp.kernel.org/pub/linux/utils/util-linux/.

util-linux                                          May 1999                                           TUNELP(8)