Mac OS X, Windows XP and IPP

Posted on Dec 5, 2003

Until recently, printing from my laptop involved disconnecting a USB cable from a PC and plugging it the Powerbook. This was mostly fine, except that usually I didn't bother to plug it back into the PC when finished. This resulted in family support calls: "Dad, the printer isn't working."

Having read that both Mac OS X and Windows XP support the Internet Printing Protocol (IPP), it seemed reasonable to leave the printer connected to the PC and printer over the network from the Mac. What follows are a few notes for anyone else who tries to do this.

Things you need to do:

  1. Install IIS on your Windows XP system. You can do this by:
    • open the control panel,
    • select Classic View,
    • start Add or Remove Programs,
    • ensure that the tickbox for Internet Information Service is selected.
    You'll need your Windows XP CD at this point and it seems to be necessary to reboot to have it all work.
  2. Disable password protection of the web pages:
    • go back to the control panel,
    • open Administrative Tools then Computer Management,
    • opening the treeview as you go, select Services and Applications, Internet Information Service, Web Sites, Default Web Site
    • within Default Web Site, right click on Printers and choose Properties,
    • one of the tabs in the resulting dialog box is titled Directory Security. Select that tab and choose to Edit... the Anonymous access and authentication control.
    • when the Authentication Methods dialog box appears, enable anonymous access at the top of the pane by enabling the tickbox at the top.
    • hit Okay twice whilst working backwards, then exit Computer Management.
  3. Over on the Mac, add a new printer, selecting IP Printing as the method. Choose the right model, etc. Where you can type in the remote address of the print server I used the IP address, but that's to do with the Cisco VPN software and SWAN access - you should be okay with the DNS name if preferred. The queue name doesn't seem to matter.
  4. Still on the Mac, open the page http://127.0.0.1:631, which is the CUPS web server.
  5. Choose Manage Printers, find the printer just added.
  6. Select Modify Printer on the printer. Follow through the screens until you are asked for the device of the printer. Internet Printing Protocol (ipp) will be selected. Change this to Internet Printing Protocol (http). Continue onward...
  7. The Device URI will say something like ipp://fishfood/officejet, where fishfood is the name of the remote machine and officejet is the printer. This needs to be changed to http://fishfood:80/printers/officejet/.printer.
  8. Complete the CUPS printer modification sequence.
  9. Cross your fingers and try to print something from the Mac.

It is somewhat worrying that it's necessary to turn off authentication on the Windows XP machine, but I couldn't find a way around this. I imagine that this means someone can print to your printer if they can get packets to the machine.

Overall, this works for me, let me know if you have any other suggestions or improvements.

Update: improved the Windows XP side of the instructions a little.