Problems printing from XP's "Windows Picture and Fax Viewer" application using CUPS driver

Sean Millichamp sean at enertronllc.com
Wed Sep 8 16:36:07 PDT 2004


On Tue, 07 Sep 2004 14:00:19 -0400, Michael Sweet wrote:

> The existing Windows 2000 PostScript driver (PSCRIPT5.DLL, PS5UI.DLL,
> etc.) works with any version of CUPS.  CUPS 1.1.21 adds support for it
> via the cupsaddsmb program, which exports the driver through SAMBA.
> You just need to copy the files from a Win2k system as covered in the
> cupsaddsmb man page.

Ahh, thank you.  That plus the manpage from 1.1.21 cleared things up.

> The new cupsaddsmb also massages the PPD files so that JCL options
> are embedded as CUPS job tickets, among other things.  This allows the
> older Win9x drivers to provide printer accounting and more of the
> CUPS options.

When I originally tried CUPS+Samba with the Adobe drivers.  Lots of (all?
I can't remember) jobs came out with '@PJL' commands prior to the
Postscript and all I ended up with were reams of uninterpreted Postscript
printing out.  I tried the Windows 2K drivers initially by installing the
drivers manually with rpcclient and ended up with the reams of Postscript
again so I tried cupsaddsmb and it worked beautifully.  The cupsaddsmb
from 1.1.21 seems to do a good job of modifying the PPD so that the '@PJL'
stuff doesn't happen, thank you!

I have a Red Hat RPM based system and I try to keep it close
to what was shipped so I didn't want to upgrade my whole CUPS
infrastructure just to obtain a new cupsaddsmb.  What I ended up doing was
modifying the cupsaddsmb from 1.1.21rc2 with a one-line patch which
allowed it to work for me in the CUPS 1.1.17 I had:

--- cupsaddsmb.c        2004-08-23 14:36:50.000000000 -0400
+++ ecupsaddsmb.c       2004-09-08 18:24:08.000000000 -0400
@@ -496,7 +496,7 @@
   * Get the PPD file...
   */
  
-  if ((ppdfile = cupsGetPPD2(http, dest)) == NULL)
+  if ((ppdfile = cupsGetPPD(dest)) == NULL)
   {
     fprintf(stderr, "cupsaddsmb: No PPD file for printer \"%s
\" - skipping!\n",             dest);

Apparently cupsGetPPD2 was introduced in 1.1.21.  I have no idea if that
was "the right thing" but I've tested it and haven't had any problems so
far.

> Ultimately we'll also be providing a download from the CUPS Windows
> driver page which will include the new CUPS driver UI and driver
> components (which extend the existing Windows 2k driver), but they
> are still pre-beta quality.  The existing 1.1.21rc2 cupsaddsmb
> supports Win2k and Win9x drivers, but not the old NT drivers.

I will be looking forward to the new CUPS driver.  But until then I'll
stick with the base Windows 2000 one because it seems to solve all my
immediate problems.

Thank you for all of your help.

Best,
Sean

-- 
 Sean E. Millichamp, Network & Systems Engineer
 Enertron LLC
 (586) 757-1200 x102





More information about the cups mailing list