| .\" Copyright (C) 1992-1997 Michael K. Johnson <johnsonm@redhat.com> |
| .\" 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. |
| .\" |
| .TH TUNELP 8 "October 2011" "util-linux" "System Administration" |
| .SH NAME |
| tunelp \- set various parameters for the lp device |
| .SH SYNOPSIS |
| .B tunelp |
| [options] |
| .I device |
| .SH DESCRIPTION |
| \fBtunelp\fP sets several parameters for the /dev/lp\fI?\fP 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. |
| .SH OPTIONS |
| .TP |
| \fB\-i\fR, \fB\-\-irq\fR \fIargument\fR |
| 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 |
| .B 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. |
| .IP |
| 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 |
| .IR /proc/parport/*/irq . |
| Read |
| .I /usr/src/linux/Documentation/parport.txt |
| for more details on parport. |
| .TP |
| \fB\-t\fR, \fB\-\-time\fR \fImilliseconds\fR |
| 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. |
| .TP |
| \fB\-c\fR, \fB\-\-chars\fR \fIcharacters\fR |
| is the number of times to try to output a character to the printer before |
| sleeping for \-t \fITIME\fP. 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 \fImust\fP 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 \fIreally\fP old printer, you can increase this further. |
| .IP |
| Setting \-t \fITIME\fP to 0 is equivalent to setting \-c \fICHARS\fP to |
| infinity. |
| .TP |
| \fB\-w\fR, \fB\-\-wait\fR \fImilliseconds\fR |
| 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. |
| .TP |
| \fB\-a\fR, \fB\-\-abort\fR \fI<on|off>\fR |
| 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. |
| .TP |
| \fB\-o\fR, \fB\-\-check\-status\fR \fI<on|off>\fR |
| This option is much like \-a. It makes any |
| .BR open (2) |
| 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. |
| .TP |
| \fB\-C\fR, \fB\-\-careful\fR \fI<on|off>\fR |
| 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. |
| .IP |
| NOTE: This option is obsolete because it's the default in 2.1.131 kernel or |
| later. |
| .TP |
| \fB\-s\fR, \fB\-\-status\fR |
| 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. |
| .TP |
| \fB\-T\fR, \fB\-\-trust\-irq\fR \fI<on|off>\fR |
| 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. |
| .IP |
| 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. |
| .IP |
| 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... |
| .TP |
| \fB\-r\fR, \fB\-\-reset\fR |
| This option resets the port. It requires a Linux kernel version of 1.1.80 or |
| later. |
| .TP |
| \fB\-q\fR, \fB\-\-print\-irq\fR \fI<on|off>\fR |
| This option sets printing the display of the current IRQ setting. |
| .SH NOTES |
| .BR \-o , |
| .BR \-C , |
| and |
| .B \-s |
| all require a Linux kernel version of 1.1.76 or later. |
| .PP |
| .B \-C |
| requires a Linux version prior to 2.1.131. |
| .PP |
| .B \-T |
| requires a Linux version of 2.1.131 or later. |
| .SH 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. |
| .SH FILES |
| .I /dev/lp? |
| .br |
| .I /proc/parport/*/* |
| .SH AVAILABILITY |
| The tunelp command is part of the util-linux package and is available from |
| .UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ |
| Linux Kernel Archive |
| .UE . |