8:tunelp

From Linux Man Pages

Jump to: navigation, search
      tunelp - set various parameters for the lp device
      

Contents

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  com-
             mand  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  effi-
             cient, 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/Documen-
             tation/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 inter-
             rupts. 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 per-
             formance 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 intro-
      duced 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/*/*

CATEGORY

Personal tools