プリンタで苦戦中(後日談)

プリンタで苦戦中(予告編)を書いておきながら,その後,途絶えていた。

結論から言うと,プリンタを入れ替えることになり,無線LAN対応の独立したプリンタ(直接LANにつながる)を購入したことで,実験は中止となってしまった。

それまでの状況がどうだったかというと…。
○一応,クライアントのWinXPマシンから印刷できるようにはなった。
・メーカー(Canon)の提供するLinux用ドライバ+バックエンド処理を導入
・WinXPから接続するプロトコルは,IPPで,接続先もURLで指定
・一部機能は使えない(プリンタの情報取得など)
・WinXPで共有していた時のクライアント数の制限は解消され,便利になった
○しかし,使っていると,印刷できなくなる時がある
・CUPSやCanonが提供するバックエンド処理のサービス(CCPD)が通信中のまま
となり,処理をうけつけなくなっている
・似たような状態でも異なる原因による複数のパターンがありそう
・いずれも,WinXPマシンとの通信が原因のように見える
・CCPDやCUPSを再起動すると正常化する場合もあるが,ひどい時は,Linuxを
再起動しないとダメだった
○だましだまし使ってみていたが,管理者(自分)が不在の時には,他の人は不具合を
解消できないので,不評だった…。

あれこれ試行錯誤していたのだが,上記の印刷できなくなる不具合は,根本的な解決ができないままだった。

そもそも,CanonはCAPTという独自の処理で通信を行い,印刷処理を早くしているようである。しかし,それは,標準の規格外のものなので,例えば,WinXP SP2 以降では,Windowsのファイアウォールで通信が妨げられてしまい,ドライバとともに提供される設定ツールでCAPTの使用するポートを開放しないと,印刷が極端に遅くなったり,印刷できなかったりするという,ちょっと厄介なもののようである。もちろん,セキュリティソフトのファイアウォールでも遮断されないようにする必要がある。

で,Linux上では,CUPSがIPPでデータを受け取り(よってSambaではプリンタ共有の設定は不要?),それをCCPDに渡して処理しているようなのだが,そのどこかで処理が進まなくなってしまう。通信エラーを無限にリトライしているような感じである。Linux上でrootで該当するプロセスをkillしても,psでみると死んでいない…。

というわけで,ほとんど参考にならないかと思いますが,Canon のプリンタをLinuxにつないで共有し,クライアントのWindowsマシンから印刷したいという方は,ぜひ,頑張ってみてください。