Windows 2003 print services for unix causing CUPS "lpd_command returning 1"
- by Stephen P. Schaefer
We have several Windows 2003 servers with print services for Unix on them, and which allow Linux machines running CUPS to use printers defined to CUPS with the URI lpd://printer_server/printer_queue_name - they work.
An attempt to provide different printers on a different Windows 2003 server with print services for Unix newly enabled causes CUPS to behave like this: a newly defined printer will be in state "Idle". An attempt to print causes CUPS to change the printer state to "Disabled". In /var/log/cups/error_log, the relevant messages appear to be
D [01/Dec/2012:06:14:18 -0800] [Job 16] lpd_command 02 hp775cm_ps
D [01/Dec/2012:06:14:18 -0800] [Job 16] Sending command string (16 bytes)...
D [01/Dec/2012:06:14:18 -0800] [Job 16] Reading command status...
D [01/Dec/2012:06:14:18 -0800] [Job 16] lpd_command returning 1
E [01/Dec/2012:06:14:18 -0800] PID 18786 stopped with status 1!
Since my Linux boxes can print to other printers via other Windows 2003 print spoolers, I'm wondering what obscure Windows component could be causing this. I don't think it is Windows firewall, since nmap sees the lpd port (515) open on the server. telnet to the server at port 515 declares
Connected to server.internal.example.com (10.22.33.44).
Escape character is '^]'
Connection closed by foreign host.
Windows clients successfully print to the CIFS/SMB share of the hp755cm_ps printer. What other reasons are there for Windows to refuse an lpd request?