Provided by: util-linux_2.27.1-6ubuntu3_amd64 bug


       tunelp - set various parameters for the lp device


       tunelp [options] device


       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.


       -i, --irq argument
              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 milliseconds
              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 characters
              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 milliseconds
              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, --abort <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, --check-status <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, --careful <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, --status
              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, --trust-irq <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, --reset
              This option resets the port.  It requires a  Linux  kernel  version  of  1.1.80  or

       -q, --print-irq <on|off>
              This option sets printing the display of the current IRQ setting.


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


       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.




       The  tunelp   command is part of the util-linux package and is available from Linux Kernel
       Archive ⟨⟩.