I just don't understand Unix printing, I guess. We had it working on Solaris 10 using the old standby lp printing system. Solaris 11 now uses CUPS, and I can't find a reference anywhere that is helpful.
On the old/current Solaris 10 system, we have: $ lpstat -t scheduler is running no system default destination system for cowsvpprmom: 192.168.59.113 (as lpd:// 192.168.59.113/printers/GENERAL_ENTRY#Solaris) system for cowsvdprmom: 172.17.176.58 (as lpd:// 172.17.176.58/printers/GENERAL_ENTRY#Solaris) cowsvpprmom accepting requests since Fri Jan 08 12:09:10 2016 cowsvdprmom accepting requests since Fri Jan 08 12:09:10 2016 printer cowsvpprmom disabled since Fri Jan 08 12:09:11 2016. available. printer cowsvdprmom disabled since Fri Jan 08 12:09:11 2016. available.
On the new Solaris 11 system (zone) I tried: # lpadmin -p cowsvdprmom -E -v lpd://cowsvdprmom/printers/GENERAL_ENTRY # lpadmin -p cowsvpprmom -E -v lpd://cowsvpprmom/printers/GENERAL_ENTRY
...which doesn't seem to work, because I couldn't print anything (the lpr command works, but then the print queue gets disabled) and this shows up in the CUPS error log:
D [13/Jan/2016:11:18:20 +0600] [Job 3] Connecting to printer... D [13/Jan/2016:11:18:20 +0600] [Job 3] STATE: -connecting-to-device D [13/Jan/2016:11:18:20 +0600] [Job 3] Connected to printer... D [13/Jan/2016:11:18:20 +0600] [Job 3] Connected to 192.168.59.113:515 (IPv4) (local port 1015)... D [13/Jan/2016:11:18:20 +0600] [Job 3] lpd_command 02 printers/GENERAL_ENTRY D [13/Jan/2016:11:18:20 +0600] [Job 3] Sending command string (24 bytes)... D [13/Jan/2016:11:18:20 +0600] [Job 3] Reading command status... D [13/Jan/2016:11:18:20 +0600] [Job 3] lpd_command returning 1 D [13/Jan/2016:11:18:20 +0600] [Job 3] Backend returned status 1 (failed) D [13/Jan/2016:11:18:20 +0600] [Job 3] Printer stopped due to backend errors; please consult the error_log file for details. D [13/Jan/2016:11:18:20 +0600] [Job 3] End of messages D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state=5(stopped) D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state-message="/usr/lib/cups/backend/lpd failed" D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state-reasons=paused
Have I just got the queue name wrong or something? Or should I be doing something completely different in defining the queue/printer?
Thanks for any help you can provide! Kevin
On 2016-01-13 Kevin McGregor wrote:
I just don't understand Unix printing, I guess. We had it working on
Join the club. I don't think anyone understands CUPS. It's Apple's fault, they made the thing and I don't think Apple understands (in the slightest) the *NIX philosophy.
system for cowsvpprmom: 192.168.59.113 (as lpd:// 192.168.59.113/printers/GENERAL_ENTRY#Solaris)
On the new Solaris 11 system (zone) I tried: # lpadmin -p cowsvdprmom -E -v lpd://cowsvdprmom/printers/GENERAL_ENTRY # lpadmin -p cowsvpprmom -E -v lpd://cowsvpprmom/printers/GENERAL_ENTRY
I hate to say it, but with cups it's best to work with the GUI, web browse to localhost:631, add your printer that way. Then, after, if you're interested in the details, see what it did in /etc/cups so you can grok the actual conf changes.
Even then you might have trouble guessing the actual printer id string (i.e. lpd://cowsvdprmom/printers/GENERAL_ENTRY may not be what cups wants to see).
lpd_command returning 1 D [13/Jan/2016:11:18:20 +0600] [Job 3] Backend returned status 1 (failed) D [13/Jan/2016:11:18:20 +0600] [Job 3] Printer stopped due to backend errors; please consult the error_log file for details. D [13/Jan/2016:11:18:20 +0600] [Job 3] End of messages D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state=5(stopped) D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state-message="/usr/lib/cups/backend/lpd failed" D [13/Jan/2016:11:18:20 +0600] [Job 3] printer-state-reasons=paused
Start with the first error log cmd that shows a non-zero return. So that's lpd_command. Start your googling on that basis. Luckily, your problem should be generic across OS's so you don't have to hunt for Solaris specifics.
There's a whole chain of filters/progs that have to work for something to print out of cups. My hunch would be ensure you have all the relevant packages installed. If Solaris gives you foomatic*, install every last one of them. If your printer is hp, install the hp* ones too. Often some filter/driver/ppd is missing somewhere in the chain and all you get is a cryptic error message. Also make sure you have every cups* package installed (i.e. all the subpackages if any). Also try playing with the printer ID string ("lpd:..."), perhaps try a different connection option, like ipp, just try everything until it works, and look at what strings other people use on the net. It's all hit and miss, but it always ends up working eventually.
RTFM doesn't help much in this situation, as the docs really are just a FM, with emphasis on the F, for cups.