名前

tunelp - lp デバイスへのパラメータの設定

書式

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 は、よりよいパフォーマンスを得るために(あるいは そのままでは動作しないプリンターを動作させるために)、 /dev/lp ? デバイスに各種パラメータを設定する。引数無 しで起動すると、デバイスが使用している割り込み番号などを出力する。 引数を指定すると、その引数に従ってデバイスの特性を設定する。 引数には、次のものが指定できる。
 
-i <IRQ>
このオプションは、パラレルポートが使用する IRQ を指定する。 IRQ に 0 以外の値を指定すると、-z および -c オプションは無効になる。 ポートが IRQ を使用しない場合にこのオプションを指定すると、プリン トされなくなる。 この場合に tunelp -i 0 とすると、再び割り込み無しの制御(ポーリング)を行うように設定され、プリンタ が再度動作するようになる。一般に、パラレルポートが割り込みをサポートし ている場合、割り込みを使った方が印刷動作は早く、効率良く、好ま しい結果となる。 カーネル 2.1.131 以降では IRQ は parport ドライバで扱われることになったため、 このオプションは無効となった。 parport に関する詳細は /usr/src/linux/Documentation/parport.txt を参照すること。
-t <TIME>
プリンタが文字を受け取れなかったとき、 プリンタドライバーは -c オプションで指定した回数までデータを再送するが、 それでも送信が成功しないと、ドライバはこのオプションで指定した時間だけ待つ。 時間は jiffy 単位で指定する。デフォルトでは、この値は 10 である。できる限り早く印刷したい場合、システムの負荷を気にしないなら、 この値を 0 にしても構わない。プリンタへの印字速度を気にしないなら、 500 (5 秒)というのは妥当な値で、システムの負荷をとても低く押えるこ とができる。グラフィクスの印刷をするときには、 テキスト印字のときに比べ、より小さな値 (およそ 10 分の 1 ぐらい) にすると最大の性能が得られるだろう。
-c <CHARS>
このオプションは、-t <TIME> で指定した時間待つ前に、 何回プリンターに出力を試みるかを指定する。 数字は、プリンターにデータを送る試行回数を示す。 ポーリングモードのプリンタには、120 程度が適当だろう。 デフォルトでは 1000 である (こうしないと動きがぎくしゃくするプリンターがあるため)。 割り込みを使う場合は、 CPU の能力を最大限に生かすためには この値を `1' に しなければならない。 とても高速なプリンターを持っているなら、 ポーリングモードで使う場合でも 10 で大丈夫だろう。 本当に古いプリンターの場合、この値をずっと増やす必要がある。 -t <TIME> を 0 にすることは、 -c <CHARS> を無限大にするのと 同じ意味となる。
-w <WAIT>
このオプションは、storobe シグナルを扱う時のウェイトを マイクロ秒単位で指定する。 ほとんどのプリンタは非常に短いタイミングでも良いようだが、 プリンターによっては長いタイミングを必要とすることもある。 このため、デフォルトの 1 から徐々に増加させながら、そのプリンター で印刷できるタイミングを求めることになる。このようなタイミングの調 整をすると、長いケーブルでも使えるようになる。 また、もしプリンターが十分早く、コンピューターが十分遅い場合は、 値を 0 にすることも可能である。
-a [on|off]
このオプションは、プリンターのエラー時にアボートするかどうかを指定する。 デフォルトではアボートしない。コンピュータの前に座っているなら、 エラーをみてそれを直し、プリンターに引続き出力させることを望むだろう。 一方、コンピュータから離れているときには、 プリンターがレディ状態でないことをプリンタースプーラが検出すると、 すぐに終了してそのことをメールで知らせてくれるほうが良いこともある。 好きな方を選択すること。
-o [on|off]
このオプションは、-a に良く似ている。デバイスを open() する時に、デバイスがオンライン状態で、 紙切れなどのエラーが通知されないかをチェックする。 これは、ほとんどのバージョンの lpd に対して正しい設定である。
-C [on|off]
このオプションは、特別な ("注意深い") エラーチェックを追加する。 このオプションを on にすると、プリンタードライバーはプリンターが オンライン状態かどうか確認し、紙切れなどのエラーを通知してこない ことを確認してからデータを送信する。 この機能は、オフライン状態でもデータを受け付けるように 見えるプリンタを使っている場合には、特に有効である。 注意: 2.1.131 以降のカーネルではこれがデフォルトとなったため、 このオプションは古いものである。
-s
このオプションは、現在のプリンターのステータスを返す。ステータスは、 0 から 255 までの 10 進数と、有効なフラグのリストである。このオプション が指定されると、-q off (現在の IRQ を表示しない) も指定されたものとし て処理される。
-T [on|off]
このオプションは古いものである。これは Linux 2.1.131 で追加され、 Linux 2.3.10 で削除された。 以下の説明はこれらの古いカーネルのためのものである。 このオプションは lp ドライバに IRQ を信頼させるかどうかを指定する。 このオプションは割り込みを使う時にのみ意味がある。 lp ドライバに IRQ を信頼させると、 lp ドライバが IRQ を得た時、 たとえプリンターがまだ BUSY だとしていても、 送信待ちキャラクタを無条件にプリンターに送信する。 これは、少なくとも Epson Stylus Color Printers を使っている場合に 割り込みをスリープさせる(そして IRQ 印刷を効率的に行なう) 唯一の方法である。 lp ドライバはこのオプションを設定することによって性能が向上するかどうかを 自動的に検出し、向上する場合はカーネルメッセージで警告する。 注意: IRQ を信頼させることによって印刷がおかしくなるハードウェアもあるという 報告もある。自分のプリンターで正しく動作するかどうかを必ず実験すること。
-r
このオプションは、ポートをリセットする。このオプションを使用するには、 Linux の カーネルのバージョンが、1.1.80 以降である必要がある。
-q [on|off]
現在の IRQ の設定を表示するかどうかを設定する。

注意

-o 、-C および -s オプションを使用するには、Linux のカーネルのバージョ ンが、1.1.76 以降である必要がある。
 
-C オプションを使用するためには Linux バージョンが 2.1.131 より前である必要がある。
 
-T オプションを使用するためには Linux バージョンが 2.1.131 以降である必要がある。
 

バグ

不幸な偶然により、2.0.36 での ioctl LPSTRICT は 2.1.131 で導入された ioctl LPTRUSTIRQ と同じ番号である。 従って、 2.1.131 以降でコンパイルされた tunelp を使って、 2.0.36 カーネル上で -T オプションを使うと、予測できない結果となるだろう。
 

ファイル

/dev/lp?
 
/proc/parport/*/*