Adding a Linux CUPS Printer to Windows 8

On my home network, I have an elderly HP Deskjet 932C printer connected to a middle aged Beagleboard running Ubuntu.  This combination has served me well as a print server for many years.  As such, they’ve borne silent witness to a sad little ritual that’s been repeated many times: I add or upgrade a Windows PC, then stomp, wail and curse as I try to remember the settings for convincing that PC to write to the printer.

The latest iteration of that ritual featured more cursing than usual, only partially because it involved Windows 8.  This convinced me to finally write down the steps involved.  That will save me some grief the next time I setup a PC, and will hopefully be of use to others too.

1. The trick is that you need to use a URL as the printer address.  I don’t know if it’s listed elsewhere, but one place you’ll find it is in the CUPS Printer list.  I was inexplicably surprised to find it displayed as a link, rather than displayed in plain text.

2. Open the Windows “Add Printer” dialog.  Every new version of Windows seems to make this a little harder to find than the previous version.  In Windows 8, here’s what I think is the most direct method:

  • Press Windows Key + Q to bring up the Search textbox
  • Type “printer”, then click the Settings bar below
  • Rather than selecting the enticingly named “Add printer” option, select “Advanced printer setup”.

(“Add printer” launches a Metro app, which attempts to find the printer, predictably fails, then offers you no option for finding it on your own.  Incidentally, I actually like Windows 8 overall: it’s Windows 7  + a lot of nice enhancements + a lot of Metro stuff that isn’t that useful on a PC  minus the Start menu.  It all adds up to a significant improvement over Windows 7, even on a desktop PC.)

The “Advanced printer setup” brings you back to the Desktop and familiar ground.  The process from this point on is pretty much identical to Windows 7.

3. The  Add Printer dialog (nee “Advanced printer setup”) attempts to find the printer, predictably fails, but gives you an option: “The printer I want isn’t listed”.  Select that option.

4. Here’s where that printer URL from step 1 comes into play (and where I usually go down the wrong path).  Paste that URL in the “Select a shared printer by name” textbox, then click Next.

5. The next dialog allows you to specify the printer model so that it can install the right drivers.  If you have a well known printer model of recent vintage, it might be listed in this dialog.  Mine isn’t, and hasn’t been since XP days.  At some point HP stopped offering the driver as a download, and instead made the surprisingly useful suggestion of using the “Windows Update” button to automatically locate the driver.  Holy smokes, it actually works!  So, give that a shot, even if your printer isn’t an HP 932C.   Otherwise, you’re left with the old school “Have Disk” option.

6. Ta da!  You’re done.  You might want to change the name, but up to now it’s been my only clue that a URL was involved, so I’m keeping it.

7. As a bonus step, check out the banner of the new Windows 8 “Print Test Page” output.  Those guys got  into the Metro spirit, too.

 I kind of like the fact that the test page no longer puts a dent in my ink supply.  It’s not so great if you’re checking to see that your printer can print more than 1 colour, but that’s Windows 8: one step forward, one aesthetically pleasing step back.

 

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

3 Responses to Adding a Linux CUPS Printer to Windows 8

  1. Joe says:

    This should work for me too, but does not. Installing my printer (Lexmark E232) like this works without problems in Windows 7 (64bit) but doesnot work with Windows 8 Pro (64bit), after selecting the (available) driver it cancels with Error 0x00000006.

    Google doesn’t reveal any helpful answer. I already went through
    http://support.microsoft.com/kb/947236/en-us
    to no avail.

    Any idea?

    • dwatts says:

      No, not any good ideas.

      That error code (0x00000006) apparently indicates that it couldn’t connect to the printer at the specified address. But, if you connected to the CUPS’ browser-based administration system using Windows 8, then clearly Windows 8 can connect to the Linux server. And if you could print to that printer from Windows 7, then clearly you’ve configured sharing of the printer correctly on the Linux side.

      I didn’t run into any security-related issues when switching from Windows 7 to Windows 8. I have a pretty simple security setup, though: just a Workgroup on the Windows side. It’s been so long since I setup the CUPS side that I can’t remember what security settings I changed, if any, but I definitely don’t have any user-specific security settings in CUPS.

      Perhaps the CUPS server logged an error message that will tell you more about what went wrong? On the CUPS’ browser-based system, click the Administration tab, then click “View Error Log” and “View Access Log” buttons.

      HTH,

      Dan.

  2. Terry Coats says:

    Success! Thank you. I’d been trying for 3 days to get Samba printing from Windows 8. No joy. Your method works just great.

    Terry

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>