Wednesday, July 2, 2008

Windows and Cups

These are some notes I came up with a few years ago, for connecting Windows machines to CUPS printer servers. This may have been on my web site or somewhere at one time, and I just wanted to make it available for reference.

Install the CUPS daemon on the printer server computer.
Configure the printer via the web interface at


This is not covered by this document but the web
interface is fairly straight forward.

On the CUPS printer server

a) On the CUPS printer server
   make some changes to the CUPS config per
   on the CUPS server.

   1) in /etc/cups/mime.convs
      application/octet-stream   application/vnd.cups-raw   0   -

   2) in /etc/cups/mime.types

   3) In /etc/cups/cupsd.conf per
      This is using the suggestions in the Linux Cookbook,
      by Carla Shroder, ORA, p. 247
      and somewhat more restrictive than the suggestions
      by the mini-Howto referenced above, and needed for
      all clients anyway, whatever the OS the clients run:

      LogLevel info

      Port 631


      <Location /printers>
      Order Deny,Allow
      AuthType None
      Deny From All
      Allow From
      Allow From 192.168.1.*
      #    -- or whatever is appropriate for the LAN

At the windows end:

b) get the ethernet cable to it  :-)

c) make sure the Internet Printing Services is installed
   (from Linux Cookbook, by Carla Shroder, ORA p. 249
   This will require the Windows installation CD
   For Windows 95/98 this can be downloaded from
   look for "Internet Print Services", wpnpins.exe

   Windows ME is in the Add-on folder on the installation CD

   Windows NT, go to Control Panel -> Network -> Services tab
   -> Add Microsoft TCP/IP Printing

   Windows 2000/XP go to Network and Dial-up Connections ->
   Advanced Menu -> Optional Networking Components ->
   Other Network File and Print Services

   If it acts squirrely when you try to install the driver,
   it may be because the driver is already installed,
   either by default on OS installation/upgrade or perhaps
   someone else took care of it.

d) go to printer/fax setup on the windows machine,
   add a new printer, select network printer, enter the URL
   for example:

   or if DNS resolution is available to the print server

   and finish up.

   Breakdown of this URL:

         IP address or name of the CUPS printer server
         as needed/appropriate.

         '631' is the port of IPP and http interface to the
         CUPS server on typical CUPS installation

         '/printers/'  the directory the printers appear
         to be in, probably defined by the <Location...>
         statement mentioned above in a.3 .
         This seems to be a typical setting for this printer.

         'theprintername' points it the printer on that server
         a fairly arbitrary name defined in the CUPS configuration
         of the printer (not covered in this article,
         but just handled at the web interface in

         I saw this stuff in a comment at:

d) select the printer model (HP LaserJet 6P in this case)
   and things are ready to rock&roll....

1 comment:

Anonymous said...

Great post Dallas. Good stuff.

Hope to see more howto content like this! Definitely will help increase your search engine rankings.