CUPS on Solaris 10 (and Express); Notes on NetGear Print Server PS101.

There are many articles found on the internet which attempt to assist with installing and configuring the CUPS printing system under Solaris.

CUPS has been available as an unofficial ‘companion utility’ since Solaris 9, which has foomatic drivers native – so, I find this article to be the most useful.

There are a few differences between Solaris 9 and Solaris 10. Solaris 9 still relies upon ‘init scripts’ for many tools and utilities, whereas with Soalris 10, Sun has opted, in their wisdom, to implement smf, which basically makes specific tasks a bit more archaic to configure (at first).

As a purely technical note, which has no specific use in this article – SMF also controls the kernel runlevels; so ‘single’ mode is now controlled via SMF rather than init.

Anyway, back to the little article:

Where the article suggests to stop the LP service:

# /etc/init.d/lp.stop
  1. mv /etc/rc2.d/S801p /etc/rc2.d/s801p

This is now controlled by SMF. Note that I am also disabling Solaris’ bizarre IPP system built upon Apache, in order to use CUPS’ internal IPP system:

#svcadm disable application/print/ipp-listener #svcadm disable application/print/server #svcadm disable application/print/rfc1179

Note that CUPS by default does probe your local subnet, and will note (as well as add) any printers already configured via IPP.

This is the end of my little ‘addition’. I assume you know how to navigate CUPS’ tools, and manage your printers.

Here’s one other purely-informational tip: The NetGear PS101 print server will begrudgingly support LPD printing. After configuration, change the ‘hostname’ for the PS101 when you configure your WINS workgroup. This, combined with the port number (Parallel 1), will become your print queue.

So, if you set the IP address to 10.0.0.20, and the hostname to “HELLOPS101”, you would print to (Pardon the URI syntax; it’s easier for CUPS users) lpd://10.0.0.20/HELLOPS101_P1. The P1 is appended as there is only one parallel port with the PS101, and the underscore is obviously just an informational terminator between the host name and port addressed.