Man Linux: Main Page and Category List


       tunelp - set various parameters for the lp device


       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}]


       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

       -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

       -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


       -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-ng  package  and  is
       available from