長南です。
栗山さん、助太刀ありがとうございます(と、こっちに書くのはおかしいかな)。
問題のプリンタを持っていないとやはりわからないところがあるので、
たいへん助かります。
前のメールがごたごたしていたので、まとめ直しておきます。
わたしが言いたかったのは次の五つです。
1) ccpd が動いていない(今度のメールでは動くようになっていますね)。
2) LBP-1210 の DeviceURI がおかしくなっているようだ(実際そうだった
わけです)
3) 印刷システムが最終的に出力するデバイスファイルを、LBP-1210、IP4100、
両方とも /dev/usb/lp0 に設定しているのではないか。
4) そもそも LBP-1210 と IP4100 は、どっちが /dev/usb/lp0 で、どっちが
/dev/usb/lp1 なのか。
# 自分がどう設定したかではなく、システムにどう認識されて
# いるかです。当然、認識されている通りに設定しなければ
# なりません。
5) 以前印刷できたときと現在との cndrvcups-{common,capt} のバージョンは
同じなのか。
宮脇さんのメールより [vine-users:077209]
>
> > ところで、LBP1210 と iP4100 は、それぞれ何というデバイスファイル
> > として認識されていますか。/dev/usb/lp0 と /dev/usb/lp1 ですか。
> > dmesg の出力か、/var/log/messages を調べれば、わかるんじゃないかしら。
>
> dmesgは、以下の通りです。(少々長いですが、引用します)
> [root@giga root]# dmesg
関係がありそうなのは、このへんかな。
> drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 4 if 0
> alt 0 proto 2 vid 0x04A9 pid 0x1093
> drivers/usb/class/usblp.c: usblp1: USB Bidirectional printer dev 5 if 0
> alt 0 proto 2 vid 0x04A9 pid 0x2617
> usbcore: registered new driver usblp
> drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
> Vendor: VIA-P Model: VT6205-DevB Rev: 2.82
> Type: Direct-Access ANSI SCSI revision: 02
> usb 3-1.3: USB disconnect, address 5
> drivers/usb/class/usblp.c: usblp1: removed
> usb 3-1.3: new full speed USB device using uhci_hcd and address 7
> usb 3-1.3: configuration #1 chosen from 1 choice
> drivers/usb/class/usblp.c: usblp1: USB Bidirectional printer dev 7 if 0
> alt 0 proto 2 vid 0x04A9 pid 0x2617
usblp0 というのは、/dev/usb/lp0 ということなんでしょうか。それとも
/dev/usblp0 ?
栗山さん、お宅では LBP1210 のデバイスファイルはどうなっていますか?
いずれにしろ、LBP1210 が lp0、lp1、どちらとして認識されているか、
demsg ではわかりませんね。どうやって、調べればよいのでしょう。
うちのプリンタはパラレルポートにつないだ HP505J という古いもの
ですが、こんなふうにすると、プレーンテキストを直接印刷できます。
英語のみのプレーンテキストを用意して(たとえば、~/.bashrc)、
~~~~~~~~~~
$ su
# cat plaintext.txt > /dev/lp0
あるいは、
# echo 'Are you ready?' > /dev/lp0
これで印刷できれば、このプリンタのデバイスファイルは間違いなく
/dev/lp0 だとわかるわけです(印刷後、強制排紙をしなければなりません)。
最近の USB プリンタでも
# cat plaintext.txt > /dev/usb/lp0
で印刷できるんでしょうか。
> LBP1210 と iP4100のデバイスファイルは、以下のようになっています。
> # Printer configuration file for CUPS v1.1.23
> # Written by cupsd on 2007年07月10日 00時55分28秒
> <Printer LBP1210>
> Info LBP1210
> DeviceURI
> hal:///org/freedesktop/Hal/devices/usb_device_4a9_2617_0139RNOd_if0_printer_noserial
この DeviceURI は明らかにおかしい。
> </Printer>
> <DefaultPrinter PIXUSIP4100>
> Info
> Location
> DeviceURI ccp:/var/ccpd/fifo1
こちらがデフォルト・プリンタなんですね。この DeviceURI もおかしい
と思います。IP4100 は ccpd を使わないでしょう。IP4100 のマニュアルどおり
に設定すれば(guidepixusip4100-2.50-2.tar.gz)、canon_usb:/dev/usb/lp0 に
なるのではないでしょうか(lp1 かもしれませんが)。
> hal:///org/freedesktop/Hal/devices/usb_device_4a9_2617_0139RNOd_if0_
> printer_noserial
> の部分がおかしいような気がしますが、
> これは、栗山さんの[vine-users:070479] Canon LBP-1210導入報告に従って設定
> した時、こうなったのですが、ここは DeviceURI ccp:/var/ccpd/fifo0 となる
> べきなんでしょうね。この場合、手動で /etc/cups/printers.conf を書き換え
> てもいいのでしょうか?
いや、GUI の設定ツールでいろいろ調べているうちに、おかしくなって
しまったんじゃないでしょうか。手で printers.conf を書き換えても
かまわないと、わたしは思います。でも、栗山さんがおっしゃっているように、
「もう一度 iP4100 も含めて完全削除し,lpadmin からやり直して」みた
ほうが、間違いがないでしょう。
# とにかく、プリンタは一つだけ接続して、設定、印刷を試してみるべきです。
> この「Canon Printer Daemon Port#1」が、私の接続ポートの表示では、
> 「Canon Priter Daemon Port#1」となっていることを発見しました。
> すなわち、PrinterがPriterとなっており、nがぬけています。もしかして、これ
> がプリンタポートが混乱して印刷できない原因かも、と思ったのですが、これは
> canonプリンタドライバのバグのでしょうか?
あっ、ほんとだ。わたしが試しにインストールした cndrvcups-{common,
capt} は 1.50-1 ですが、それでも「Priter」でした。どこかに typo が
あるのでしょうが、大事なのは printers.conf の DeviceURI ですから、
問題ないんじゃないでしょうか。
# 現在最新の cndrvcups は 1.50-1 のようです(1.30-1 をもらってこようと
# したのですが、どこにあるかわからなかった)。しかし、これまでに
# 1.30-1 で印刷に成功した経験があるのならば、わたしとしては 1.50-1 に
# アップグレードすることはお勧めしません。マニュアルの「必要なソフト
# ウェア」にこんなことが書いてあるからです。
#
# 本プリンタドライバはCAPTフィルタを使用するため、システム環境に応じた
# 共通API(Glue Code)対応Ghostscriptが必要です。以下のWebサイトで
# お使いのOSの共通API(GlueCode)対応状況を確認し、必要に応じて
# Ghostscriptをアップデートインストールしてください。
#
# Vine の Ghostscript は対応しているのかもしれませんが、問題を無用に
# 複雑にしたくないからです。
--
長南洋一