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/.