The Blog

Dec 28, 2007

Unable to Find Shared Leopard Printer from Tiger 

by Maxim Porges @ 8:05 PM | Link | Feedback (4)

I recently bought a new HP Photosmart C4200 printer (free after rebate with the MacBook I got Jessica for Xmas). The software on the CD that came with the printer had the version 8 package, which is not compatible with Leopard. After downloading the latest drivers and software from HP and installing them (version 9.7), all was well.

Previously, we have always shared USB printers through my Airport Extreme base station. However, since this printer also has a scanner and copier, I can't get to these features if it's connected to the Airport Express. Instead, I would need to connect the printer directly to my Quicksilver G4 tower upstairs via a local USB port, and share it via Bonjour. So, I shared the printer through "Print & Fax" under System Preferences, and enabled Printer Sharing under "Sharing".

I went downstairs to get my old MacBook Pro laptop running Tiger, and tried to access the shared printer. No love. Wouldn't show up in Bonjour as it usually would. Jessica was sitting next to me, so I tried browsing the shared printer in Leopard. Worked instantly as it usually would in that special Apple way. I took my laptop back upstairs, and spent about an hour figuring out how to get the new printer connected to my old MacBook Pro.

The Solution
For whatever reason, I could only see the printer on my MBP if it was connected to the Airport Extreme. As soon as I connected it to my old G4 tower, it would not show up in Printer Setup Utility. To see how the printer was configured, I launched Safari on Jessica's MB and accessed CUPS via the web interface (http://localhost:631 on any Mac running OS X - use your administrator login and password if you are prompted for them at any time).

The web interface is different for OS X 10.4 and 10.5 since the version of CUPS on Leopard is updated, but they work basically the same way. You can get a list of printers and see exactly how they are configured in CUPS. I launched CUPS on both my MBP and Jessica's MB side-by-side, and browsed to the new printer on Jessica's MB. I then created a new printer on my MBP by clicking the button at the bottom of the printer list for "Add Printer", and set it up identically to Jessica's configuration (I accessed the configuration for the printer on her MB by clicking "Modify Printer" and just leaving all the settings as they were).

Once I had finished setting up the identical settings on my MBP using CUPS, the printer popped up in Printer Setup Utility. The only thing that was different was that CUPS did not show the latest HP drivers (which I had installed on my MBP, and had come with Leopard on Jessica's MB since it's only a week old). I went in to the Printer Setup Utility's entry under the Printer List for the new printer, and selected the appropriate drivers. After that, I printed a test page, and all was well with the world.

The key in setting it all up seems to be related to the URL for my printer, which my MBP could not seem to figure out automatically. Jessica's MB had this as follows (yes, there is a dot at the end with nothing after it):

mdns://HP%20Photosmart%20C4200%20series%20%40%20zaphod._ipp._tcp.local.

"HP%20Photosmart%20C4200%20series" is URL encoded format for "HP Photosmart C4200 series", "zaphod" is the name of my Quicksilver tower the printer is connected to, and "._ipp._tcp.local." must be used by Bonjour or CUPS to identify the location of the printer specific to zaphod.

WTF?
So, why couldn't OS X configure this printer automatically? I don't know. This is the first time I've had issues with setting up a printer on OS X; usually it is stupid easy. It seems like I'm the only person with this issue, since all the stuff I found on the Internet was with people unable to share legacy Tiger printers with Leopard, which is the opposite of the problem I was having.

The only thing I can think of is that once I installed the latest HP drivers, CUPS did not have them, which leads me to believe that maybe restarting my computer would have enabled CUPS to refresh, find the latest drivers, and auto-configure the new printer for me. I'm not sure at this point.

Hopefully if anybody else is having this same issue, this blog post will give them a few places to start to resolve their issue. Note that another useful utility I used for figuring out this problem was Console, which has an entry for the CUPS logs under /var/log/ => cups => access.log (and error.log). You can see HTTP posts to CUPS taking place here as well as error messages written to both log files.

Please post here if you are having similar issues, or know what my problem was and can point me in the right direction.