Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Setting HP print options in Solaris 10?

Status
Not open for further replies.

ToMaC82

Technical User
Jan 23, 2008
83
US
My company is currently upgrading from Solaris 9 to Solaris 10. Our current Solaris 9 installation uses HP Jetadmin. We pass some very specific options at the queue level (-o landscape -o fp14 -o vsi5.4 -o tm5) to our printers using the net_ljx000 driver to achieve the output we need. Here is a typical queue configuration from a Sol 9 environment:

Banner: on
Content types: simple
Device: /dev/gboerp2
Interface: /usr/lib/lp/model/hpnpl/net_ljx000
Printer type: unknown
Modules:
Options: -o landscape -o fp14 -o tray2 -o lm2 -o vsi5.4 -o tm5 -o sbv

Since jetadmin is not supported in Sol10, and we wish to use containers, we need to find another solution. These options are not supported in Solaris 10 using the standard .ppd files as far as we can tell.

We compiled CUPS on a Solaris 10 machine and came to the conclusion that even though it's superior, it still does not allow these options to be set at the queue level. This wasn’t much of a surprise due to the use of the same .ppd files.

We've also started to look into creating our own, or at least modifying the .ppd files for these printers. We were successfull in setting things like toner density, input slot. Both of which are defined in the .ppd file which makes us think that things like landscape, and font pitch should also be possible here. Print filters are another thing we glanced at. But just like editing the .ppd files, we're not sure if this is the correct avenue to pursue.

We're looking for someone with some experience on this topic. Maybe someone who has written or modified .ppd files or print filters

I have included the configuration file below so you can see what the typical printer is set up from our Sol 10 envronment:

Banner: off
Content types: simple
Device: /dev/null
Interface: /usr/lib/lp/model/netstandard_foomatic
Printer type: unknown
Modules:
Options: TonerDensity=1,InputSlot=Upper,dest=bnd4250,protocol=bsd
PPD: /usr/lib/lp/model/ppd/system/foomatic/HP/HP-LaserJet_4100-hpijs.ppd.gz
 
I have no experience of CUPS under Solaris, but have used it quite a lot under Linux, a while ago.

At the time the HP .PPD files included with CUPS were pretty basic, a lowest-common-denominator version, and many of the non-HP printers were not catered for at all. But frequently you could download more specific PPDs from the printer vendors' sites. Often you had to get it a roundabout way, by downloading MacOS drivers, or downloading and installing Windows drivers and then searching C:\WINDOWS and subdirs for PPD files, or by downloading Adobe-specific driver packages, etc. Few vendors at the time listed them separately as PPD files, hopefully that has since improved.

Anyway once you have the best ones for your printer they should cater for all of that printer's features. Changing the values in the PPD file specific to each printer queue is, I believe, a good approach. If you have trouble identifying them manually you may get some clues through the CUPS web administration interface for that printer, which should list all of the options in the PPD file in a human-friendly format. I used to do that for the initial configuration of a new breed of printer, and then use sed later on to make the same edits to the PPD files for the creation of subsequent queues (or copy and edit the "master" PPD file in /usr/share/lib/cups or wherever and use the new version when creating new queues).

Annihilannic.
 
I have looked over the .ppd files many times. Looks like all the command line options are defined by the "*FoomaticRIPOptionSetting" setting. This doesn't really help me, it just shows me what can be set. Does anyone have and resources on editing .ppd files? Or maybe a query of the printer to see what commands are recognized? I have scoured the internet for months and have little to show for it. Weird something so simple and basic hasn't had more oversight.
 
Which PPD file(s) are you using and where did you get them? Which printer models, exactly, are you printing to?

Annihilannic.
 
Sorry, I should have reread your original post. I presume /usr/lib/lp/model/ppd/system/foomatic/HP/HP-LaserJet_4100-hpijs.ppd.gz was the one supplied with CUPS? And is it a 4100 you are printing to?

Annihilannic.
 
It's a 4250tn, I've tried all of the HP-Laserjet_4200-* drivers.
 
Have you tried the hp-laserjet_4250-pcl3.ppd.gz that's available in the tarball downloadable from here:


In your original post you said:

ToMaC82 said:
it still does not allow these options to be set at the queue level. This wasn't much of a surprise due to the use of the same .ppd files.

Are you aware that when you create a print queue the "model" PPD file is copied to /etc/cups/ppd/<queuename>.ppd? So that should allow you to make queue-specific modifications.

Also I think there are some transient job- or queue-related options that you can set via the lpoptions command which may or may not be included in the PPD, I can't recall the details - worth investigating though.

Annihilannic.
 
Annihilannic, thanks for the reply. I looked at the .ppd's held within that tar.gz. Looks like it's pretty much the same as the ones supplied with Solaris, the same old options apply. Paper Type, Size, Print Quality, Margins.
I am aware that the .ppd's get copied over to /etc/lp/ppd when the queue is created. lpoptions is a command specific to cups which just sets those defined .ppd options.
 
Hmm... in that case I think your options are to either call HP for some support, or dig out the PCL codes for the features you require and either include them in the print job or hack them into the PPD or filters yourself.

Annihilannic.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top