Printing from WinXP to OSX

After hours of banging on it, I finally figured out how to enable printing via SMB from a Windows XP machine to a Mac OSX machine.

You’d think that with a Mac it’d be a point-and-click deal.

Think again. “Think different.”

Refer to William White’s guide for a detailed list.

The steps, in my particular case, are as follows:

  1. Download and install the Gimp-Print drivers. This step is pretty straightforward, although you may need to install the ESP Ghostscript drivers too.

  2. Add a print queue that uses the Gimp-Print drivers. Note that here, you’ll see your existing printer. You’re adding a new print queue for that existing USB printer, not another printer. Follow the directions listed in the guide and you’ll have no problems. I prefer naming the printer something simple, like “printer”.

  3. Configure Samba. This is the part that was the worst for me. I recommend following option D in the guide, with some modifications. I tried using this file many times, but my XP machine was not able to see the USB printer. I finally changed the line “browseable = no” to “browseable = yes”. This is probably a security risk if you aren’t behind a firewall.

Remember to restart smbd and nmbd after any change to your smb.conf file. The commands are “sudo killall -HUP nmbd” and “sudo killall -HUP smbd“.

Also be sure to follow the tests as listed in steps 3.4 and 3.5 in the guide. If your Windows XP machine doesn’t list the two print queues when you run “net view \macservername” from the command prompt, you’ve done something wrong and it absolutely won’t work.

  1. Configure CUPS. I wanted to use the Windows XP driver for my printer, so I modified the files /etc/cups/mime.type and /etc/cups/mime.conv file as listed in this Apple KnowledgeBase article.

  2. Add the printer in Windows. This is fairly straightforward: Control Panel, Printers and Faxes, Add Printer, select Connect to This Printer, and type in \macservername\what_you_named_your_print_queue . If you’ve enabled raw printing, pick out the correct driver from the list.

  3. Try to print something. If it doesn’t, don’t ask me why. Retry your steps and verify those tests listed in the guide.

  4. A big gotcha, according to some sources, is that you will have to kill and restart smbd every time you boot. Per the guide, “Samba Printer sharing, although configured, is only enabled when the CUPS daemon is up and running. Mac OSX starts up cupsd only after smbd.”

I’ll do some investigation later to find out how to modify the OSX services startup sequence.