I wondered how exactly to do what you suggested as “print directly to the IP address”, so I did some Google search below.
Let me state again that it is a network printer directly connected to a Windows Server (not shared to client PC yet since we’re at testing stage, so I think it is not related to RPC/SMB ports)
I’ve found some ways to troubleshoot network printing issues. Please correct me if there’s something else we should do.
1) [Do a lowest-level test print] I’d like a method (maybe command) to print directly to the printer by IP rather than first setting it up. Something like “dir > IP_192.168.0.123” would go to printer directly at the lowest possible level to eliminate any other causes.
Then I found that it can’t be done without first sharing the printer (that means passing though RPC/SMB, not lowest-level):
a) Remapping printer to LPTx by “net use LPTx \\host\share” and printing with “copy abc.ps LPTx /b”.
b) print /d:IP_192.168.1.123 c:\abc.txt (no response, unless again first sharing it – print /d:\\192.168.1.133\Canon1 c:\temp.txt)
Later I found some more ways that works without sharing:
i) ‘Enable printer pooling’ for both LPTx and IP_192.168.1.123 ports. Then printing to LPTx by the copy command would go to the IP port.
ii) LPR command seem to do it the lowest level as the name suggests?
LPR -S 192.168.1.133 -P “Canon MP988” -o c:\abc.ps
iii) Or, simply setting up the printer by Standard TCP/IP and do a “Print Test Page” in the printer properties would be low level enough?
(by ‘works’ I mean it gives response, errors are still there tho)
2) [Firewall issue] If the driver’s fine, maybe the communication between Windows and the network printer is blocked. I was looking for the listening port for TCP/IP network printers to telnet/netcat to. It should be 515 (network printer should use LPD/LPR implementation), yet I’m confused HP JetDirect and others seem to use 9100 or others as listening port (informed by a web page below).
http://members.cruzio.com/~jeffl/sco/lp/printservers.htm
PS: I wish to have a way to reproduce this problem and test it at home but could not… there’s no such thing as virtual IP printer. I only found a Virtual Printer at best.
3) [Confirm driver is working by examining the raw output] First print to file using “Keep printed documents” or “FILE:” port with the Canon driver, then use PCLReader / PostScript viewer (GSView) to view the raw printout to check if it is the driver that makes bad printouts that causes the error.
However, during the test of both programs using another working Canon printer, both PCLReader and PS viewer (GSView) can’t decode the file but show weid codes. I went on and checked a .pcl file printed by a HP printer. It works tho. What could be the issue here? Isn’t the Canon using either PCL or PS?