Under the heading of "Why didn't I do this before?"

J and I have a Lexmark Optra S 1855 with mucho extra memory and a duplexer, got it from EBay in late 2003 when we needed to print out her OT honours thesis. It used to be the case that you could get a Solaris package of utilities and drivers for it from lexmark.com, but sadly the only ones available from lexmark.com these days are for their non-EOL'd printers.

I emailed Lexmark printer support asking whether I could get a copy of the old package, but the response was less than satisfactory:

Thank you for contacting Lexmark Email support. I apologize for the delay
in response.

In reply to your email, this printer Optra S 1855 is supported on Unix AIX
system. However,there are no specific x86 drivers available on Lexmark website.
The available drivers are print-drivers-aix5-sysv.pkg.Z and drivers-aix.pkg.Z.
You need to install these drivers. Alternatively, you can install a system
generic driver.

... after a request which specifically asked for the Solaris package.

So for the last few builds I've been printing to file as postscript, then dumping the .ps direct to port 9100 on the printer's IP.... slack, I know.

Since it's the slack time of the year I figured I'd have a go at seeing whether I could get the printer setup in my non-global zone using the lp family of commands. Not pretty, and in fact, rather painful to get anywhere. Following the instructions on docs.sun.com gave me this:

-bash-3.2# lpadmin -p fishdbl -v /dev/null -m netstandard
-bash-3.2# lpadmin -p fishdbl -o protocol=tcp -v /dev/null
-bash-3.2# lpadmin -p fishdbl -T PS -v /dev/null
-bash-3.2# lpadmin -p fishdbl -I postscript -v /dev/null
-bash-3.2# lpadmin -p fishdbl -s prfish
-bash-3.2# lpstat -t
scheduler is running
no system default destination
-bash-3.2# lpadmin -d fishdbl
fishdbl: undefined printer

And yes, "prfish" is the name of the printer on the network.

Stopping and re-starting print/server didn't help either, so I went looking for help. The gnome-ish stuff for OpenSolaris all talked about autodiscovery, which is great except that it requires hal to work, and we don't find hal in a non-global zone. Then I found the Presto project, which lead to Printing community and that mentioned CUPS.

By now I was just totally over it all, and I wanted it to just work, dagnabbit! so I enabled CUPS in the non-global zone, configured my printer queues there, and then ran these commands in the global zone:

# lpset -a printer-uri-supported=lpd://prserv/printers/fishdbl fishdbl
# lpset -a printer-uri-supported=lpd://prserv/printers/fishsgl fishsgl

.... and it was all good!

Well, except for the annoying banner page, but the comments on Dan Anderson's post mentioned that you need to add -o job-sheets=none to the invocation for cupsd and that problem goes away. A quick edit of /var/svc/manifest/application/cups.xml (look for cups-lpd), then a re-import and restart of the cups services, and I'm now really happy.

Of course, I should hassle Norm for a slightly better solution than just hacking the manifest, but I'll do that later.


Aaahhh printing under Solaris! What a nightmare!

I've literally lost MONTHS trying to get an hp LaserJet 2500L, which supported PS, to work. I could never get that printer to print correctly under Solaris (OS X and Windows printed just fine to him).

Eventually, after having lost months and thousands of sheets of paper, and four toners, I gave up, sold the printer, and bought us a Lexmark 550dn.

Why did I buy Lexmark? Because it was the only printer manufacturer to explicitly support Solaris 10 on the i86pc platform! The software didn't come on the CD though (only for SPARC), but I managed to find and download it from the Lexmark site for the i86pc.

Their software even uses System V packages, unfortunately, their packages are interactive, showing lack of experience in Solaris packaging, and most of the software is written in Java (UGH!)

Printing finally worked correctly!

But the basic question remains:

how is it, that the most advanced operating system on the planet, still, after 30 years of engineering, isn't capable of "JustWorking(SM)" when it comes to printing?

Posted by UX-admin on December 30, 2008 at 11:19 AM EST #

Couldn't you have used the 'lpoptions' command to save the banner setting rather than editing an XML file? Seems like a complex way to solve the problem... dunno.

Posted by Dave Pickens on December 30, 2008 at 05:18 PM EST #

Dave - I thought I could do that, but no - according to Dan's blog (see above) cupsd actually ignores the jobsheets=none option unless you forcibly start the daemon with that option.

Posted by James McPherson on December 31, 2008 at 12:30 AM EST #

Ugh... that's terrible... nothing like having the option there and having to "hard code" it somewhere. :(

Posted by Dave Pickens on December 31, 2008 at 10:33 PM EST #

Post a Comment:
Comments are closed for this entry.

I work at Oracle in the Solaris group. The opinions expressed here are entirely my own, and neither Oracle nor any other party necessarily agrees with them.


« June 2016