| |
include("http://www.linux-faqs.com/body.left.inc") ?>

|
|
Name
tunelp — set various parameters for the lp
device
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]](../stylesheet/note.png) |
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]](../stylesheet/note.png) |
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]](../stylesheet/note.png) |
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/*/*
This file Copyright (C) 1992-1997 Michael K. Johnson <johnsonm@redhat.com>
This file Copyright (C) 1998 Andrea Arcangeli <andrea@e-mind.com>
It may be distributed under the terms of the GNU General Public License,
version 2, or any higher version. See section COPYING of the GNU General
Public license for conditions under which this file may be redistributed.
Polished a bit - aeb
|
|
|
include("http://www.linux-faqs.com/body.right.inc") ?>

|
|