Printing from Mac OS X to a Windows Vista shared printer

If you ever needed to print from a Mac OS X computer to a printer shared on a Windows Vista workstation you most likely entered a world of pain and frustration. For most people, except perhaps some masochistic types, this is definitely not what printing should be about. Especially not on a "user-friendly" Mac anyway…

Printing from my MacBook to my old, trustworthy HP LaserJet 1100 had always been easy. I simply hooked up the printer to my no-name Windows XP box, shared it and used Samba to print to it from my Mac. A real breeze…

For some insane reason, I then decided to upgrade my Windows box to Vista. Well, to put it bluntly, all hell broke loose… Instead of getting a nice printout from the printer I was now getting some rude printer errors on my Mac such as:

  • Unable to connect to SAMBA host, will retry in 60 seconds
  • Connection failed with error NT_STATUS_UNSUCCESSFUL

I searched the net and then searched again but nothing worked. I had to find a way. So I decided to ditch Samba printing and look for an alternative. The working alternative came in the form of the LPD protocol. Here’s how to make it work:

First, you need to setup the Windows Vista machine that is hooked up to the printer :

  1. Go to "Control Panels" and then click on the control panel named "Windows Programs and Features".
  2. Click on "Turn Windows Features on or off".
  3. Under the "Printing Services" section, enable the LPD protocol.
  4. Share your printer in the usual fashion (do not put any spaces or odd characters in the share name).

Secondly, you need to set up a new printer on your Mac :

  1. From the Applications/Utilities folder, open the "Printer Setup Utility".
  2. Hold down the "Option" (a.k.a. "alt") key and click the "More Printers" button located at the bottom.
  3. Select "Advanced" from the top drop-down menu.
  4. Select "LPD/LPR Host or Printer" from the "Device" menu.
  5. Type in the address of the printer in the form lpd://username:password@workgroup/my_pc/my_printer

Username, password and workgroup are optional. You can use either the computer name or its IP address. The printer name should match the "share name" as defined in Vista. For most people it will be something like:

    lpd://my_pc/LaserJet

Hope this helps !

Comments

  1. Hi there,

    After trying in multiple ways, I came to the conclusion that it just doesn’t work for me.

    Could you show me an alternative to “lpd://username:password@workgroup/my_pc/my_printer” for a Windows XP pc without a password?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.