|
次のページ
前のページ
目次へ
16. lpd の下でのシリアルプリンタ16.1 printcap の設定/etc/printcap には 5 つの設定項目があり、これを設定することに
よって、プリンタが接続されているシリアルポートの設定を全て制御すること
ができます。
printcap
のオンラインマニュアルを読んで、br#, fc#,
xc#, fs#, xs# の意味を覚えておいてください。
この属性のうち最後の 4 つは、ポートの使い方の設定を示すフラグ設定です。
br# は単なるボーのレートであり、例えば ` stty の設定を printcap のフラグ設定に書き直すのはとても簡単です。書き直す必 要があるならば、とりあえず stty のオンラインマニュアルを見るといいでしょ う。
stty を使ってプリンタポートを設定し、ファイルを cat コマンドで流し込め ば正しく印刷できるようにしましょう。筆者のプリンタポートの設定では、 `stty -a' の出力は以下のようになります -
この設定とシステムの起動時に初期化される設定との違いは、
-clocal , -crtscts , ixon だけです。シリアルポートの設定
は、プリンタがどのようにフロー制御を行っているのかによって変わってくる
ことがあります。
実際のところ、stty コマンドの使い方はちょっと珍しいものです。stty は
stty の標準入力に接続されている端末を操作するので、与えられた
シリアルポートの操作は、先の例のように `
stty の設定がうまくできたら(`cat file > /dev/ttyS2' (筆者の場合)でファイルをプリンタに送れるようになります)、次は /usr/src/linux/include/asm-i386/termbits.h ファイルを見てください。 このファイルにはたくさんの #define といくつかの構造体が書かれています (このファイルをプリンタに cat コマンドで送り(ちゃんと動きますか?)、こ れを下書き用紙にするとよいでしょう)。以下の部分から始まるセクションを 見つけてください。
このセクションには fc# ビットと fs# ビットの意味が列
挙されています。読者の皆さんも、ボーのレートの後にあるそれぞれの名前が
stty コマンドの出力行のどれかと一致することに気づかれることでしょう。
これは簡単だろうっていいませんでしたっけ?
stty コマンドの出力では、これらの設定それぞれの前に「-」が付く点に注意
してください。これらの数(8 進値です)を全て足してみてください。これは
クリアしようとしているビットを表すので、その結果は fc# の
ケーバビリティとなります。もちろん、クリアを行った後に直接ビット値を設
定することもできるので、単に `
今度は、stty コマンドの出力において頭に「-」が付いていない設定(同じ
セクションにあるもの)についても同じことを行ってください。本文の例で重
要なのは CS8 (0000060), HUPCL (0002000), CREAD (0000200) です。
ボーレート(筆者の場合は 0000015)を表すフラグも覚えておきましょう。これ
らを全部足し合わせてください。本文の例ではこの値は 0002275 になります。
これが fs# の機能です(本文の例では
`
このインクルードファイルの次のセクションである「c_lflag ビット」につい
ても、設定とクリアを同じように行ってください。筆者は何も設定しておらず、
`
16.2 文字落ちする古いシリアルプリンタJon Luckey さんの指摘によると、シリアルインタフェースが安物でバッファ
も小さいシリアルプリンタには、フロー制御の際に本当に止まってしま
うものもあるそうです。
この文字落ちの問題を回避するために彼が見つけた方法は、
次のページ 前のページ 目次へ |
[ |