web-dev-qa-db-ja.com

CUPSレポート「印刷データを書き込めません:パイプが壊れています」

注: 同様の質問 は数年前に投稿されました。それでも、長い答えによって提供されたデバッグ手順は役に立ちませんでした。そして最後に投稿された、おそらくそれに対する解決策は非常に直感的ではありません。さあ、もう一度質問を投稿してください。

私のプリンターはsocket://ip.of.printer:9100を介して接続されています。プリンタのモデルはLaserJetP4015nです。私のコンピューターはArchLinuxを実行しています。カップ関連モジュールのバージョンは次のとおりです。

cups-2.0.4-1-x86_64
cups-filters-1.0.71-1
cups-pk-helper-0.2.5-1
libcups-2.0.4-1
python-pycups-1.9.73-1

私のコンピューターの印刷システムは以前は正常に機能していました。しかし、今日、ドキュメントを印刷しようとすると、プリンターが応答しません。すべてのカップ関連パッケージをコンピューターにある最も古いバージョンにダウングレードしても効果はありません。プリンタドライバを再インストールすることもありません。

デバッグ時に、# nc -vz ip.of.printer 9100は通常の接続を返し、

...[ip.of.printer] 9100 (hp-pdl-datastr) open

/var/log/cups/error_logを確認すると、関連するメッセージのみが

E [22/Aug/2015:01:15:33 +0800] [Job 35] Unable to write print data: Broken pipe

そして、tcpdumpのプリンター関連の結果は以下のように投稿されます(ローカルホスト名はSaturnSaturn.57142との接続のため、HP LaserJet P4015をトレースしました):

00:42:12.748387 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.2.1.3.1
00:42:12.753755 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(45)  25.3.2.1.3.1="HP LaserJet P4015"
00:42:12.753904 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.12.1.1.4
00:42:12.758850 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(34)  43.12.1.1.4.1.1="black"
00:42:12.758900 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.12.1.1.4.1.1
00:42:12.763940 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.5.1.1=8
00:42:12.764116 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:12.771071 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00
00:42:12.771123 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(29)  43.10.2.1.4.1.1
00:42:12.775906 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.10.2.1.4.1.1=51928

00:42:12.838656 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.11.1.1.9
00:42:12.843572 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(31)  43.11.1.1.9.1.1=9120
00:42:12.843675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.1
00:42:12.848515 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.11.1.1.9.1.2=173092
00:42:12.848630 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.2
00:42:12.854099 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.2.1.1=1
00:42:12.854138 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:12.861080 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00


00:42:13.261306 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.11.1.1.9
00:42:13.266306 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(31)  43.11.1.1.9.1.1=9120
00:42:13.266332 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.1
00:42:13.271211 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.11.1.1.9.1.2=173092
00:42:13.271254 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.2
00:42:13.276577 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.2.1.1=1
00:42:13.276675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:13.283540 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00
00:42:13.283623 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(29)  43.10.2.1.4.1.1
00:42:13.288444 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.10.2.1.4.1.1=51928

問題を解決する方法について何かアイデアはありますか?

1
Chong

時々、ハードウェアの問題は確かに-単にハードウェアの問題です...私の場合、私たちの学校は印刷ジョブの編成方法を変えたことがわかりました。彼らは、おそらくファイアウォールポリシーによって、直接印刷をブロックしました。そして、SAMBAプロトコルを使用して中央サーバーを介してすべての印刷ジョブをリダイレクトします。したがって、オフィスのプリンターにpingを実行できますが、印刷データをプリンターに送信できません。この問題は、ITスタッフに連絡し、変更に応じてコンピューターを再構成した後、最終的に解決されました。

同様の問題が発生し、自分で原因を特定できない場合。あなたはおそらくあなたの会社/組織のITスタッフに連絡するべきです。たぶん彼らはあなたに通知せずに単にいくつかの設定を変更しました。


@ColeBusbyのおかげで、問題の原因が実際にポート9100を介してプリンターに直接接続することに対する企業/組織の制限によって引き起こされているかどうかを確認する1つの方法は、

telnet [ip.of.the.printer] 9100

あなたのターミナルで。出力が

Trying 172.21.48.223...
Connected to 172.21.48.223.
Escape character is '^]'.

そしてすぐに、外部ホストによって閉じられた接続が続きます。

次に、プリンタに正常にアクセスしたにもかかわらず、プリンタが9100ポートを介したアクセスを拒否したことは明らかです。これが発生した場合は、ITスタッフに、ポリシーが変更されているかどうか、および新しい印刷システムを使用するように構成する方法を通知せずに確認するように依頼してください。

1
Chong

新しいネットワークが導入された後、上記のすべての症状が発生しました。ポート9100が開いていて、telnet経由で接続できることを確認した後、プリンタードライバーを「HP」から「GenericPDF」に変更しました。パイプの破損エラーはなくなり、正常に印刷できました。

(RHEL 7、プリンターはRicohブランドであり、HP構成は既存であり、以前のネットワークで機能していました)

0
Andy