Note: Similar question has been posted years ago. Yet the debugging procudure provided by the long answer didn't help. And the last posted, supposedly the solution for it is very unintuitive. So here I am, post the question again.
My printer is connected through socket://ip.of.printer:9100
. The model of printer is LaserJet P4015n. My computer is running Arch Linux. The version of cup related modules are:
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
The printing system of my computer used to be working fine. Yet today when I try to print a document, the printer do not respond. Downgrading all cup related packages to earliest version I have on my computer doesn't help. Neither does reinstalling the printer driver.
When debugging, # nc -vz ip.of.printer 9100
returning normal connection,
...[ip.of.printer] 9100 (hp-pdl-datastr) open
Checking /var/log/cups/error_log
, only related message was
E [22/Aug/2015:01:15:33 +0800] [Job 35] Unable to write print data: Broken pipe
And printer related result of tcpdump
is posted as below(localhost name is Saturn
, I traced Saturn.57142
due to it's the connection with 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
Any idea on how to solve the issue?
telnet [ip] 9100
and try performing something like the display change command to see if it would still allow connections that way?