One of the lesser-known changes in Snow Leopard is the removal of the old AppleTalk networking protocol, which Apple has deprecated for years. But even though most networking devices stopped supporting AppleTalk long ago, largely due to improvements in other areas, one area where AppleTalk has long been used is in printers.
Not new printers, of course. But many older printers - the workhorses of the 1990s - are still humming along fine. Although it's become more difficult to find replacement toner cartridges, and they're quite expensive when you do need to buy them, if the printer works well and does what you need (and if you don't print a lot), it's hard to justify junking it.
That was the case for my beloved LaserWriter Pro 630, which I've used since 1994, but which I wasn't able to print to once I upgraded to Snow Leopard. After quite some effort, I was able to bring it back online and use it via Snow Leopard. Although people with other old Apple printers may not be able to follow my path exactly, I hope my basic approach will help point in the right direction.
Oddly, Apple claims that Snow Leopard includes the necessary software to print to the LaserWriter Pro 630, but the company doesn't say how to work around the removal of the AppleTalk support necessary to communicate with the printer.
Back to Basics -- I started by considering what makes up a LaserWriter Pro 630. It has a Canon EX print engine, a hardware PostScript Level 2 interpreter and a print server that can use only EtherTalk as a means of transport. (EtherTalk is AppleTalk over Ethernet, and is the weak link in this scenario.)
The LaserWriter Pro 630 predates the graphical Web browser, so Web configuration and the Internet Printing Protocol (IPP) clearly weren't options, and even TCP as transport layer wasn't going to be available. So it was clear that I had to forget about the printer's Ethernet port and the communication capabilities behind it. But then how could my Mac talk to the PostScript interpreter and the print engine?
Since these older printers had to work with computers other than Macs (and because they were often based on hardware used by other cross-platform printer manufacturers), they often had other communication ports as well. This particular printer has four possibilities beyond Ethernet:
- LocalTalk port (RS-422): This network port would seem to be a possibility, with the addition of an Ethernet-to-LocalTalk bridge from a manufacturer like Asante (look for the Asante FriendlyNet Ethernet to LocalTalk Bridge; for more discussion, see the old and likely obsolete article "Printer Sharing and Print Spooling in Mac OS X," 2003-03-31). They're not made any more, but if you have one around, it could be worth trying. However, there are two problems with using the LocalTalk port. First, since it hails from the same era as the printer's Ethernet port, it likely won't work with Snow Leopard's modern networking and printing technologies, and second, with a throughput of only 230.4 Kbps, it might be awfully slow.
- Centronics-style parallel port. Parallel ports used to be commonplace for connecting printers to PCs. It was almost unthinkable that anyone would ever use this port to print from a Mac, but what if I could find a parallel print server that would plug into the printer and which I could connect to via Ethernet?
- Serial port (RS-232): Serial ports were less commonly used than parallel ports for printing, but if I couldn't find a parallel port print server, perhaps I could get a serial print server that would meet the same needs, if at a slower speed than the parallel port.
- SCSI port. Although it's a communication interface, SCSI on printers was used almost entirely for connecting a hard disk that would store downloadable fonts or commonly used background art.
Do Parallel Ports Ever Meet? I first looked for "parallel print server" on eBay and bought a widely used but now discontinued D-Link DP-301+. Beware of this model, which sounds good when you read about it online. It, like all of these small parallel print servers, has a severe design flaw. It lacks an external reset button, so once configured (as most used units would be), you can't reset it without using its built-in Web interface. In this case, it is not only difficult to find the device's IP address, but it remains inaccessible unless you have the proper password. Unfortunately, the seller didn't know the password, since a former friend of his had configured it, and I was happy to return it.
After some more searching, I bought a new Netgear Mini Print Server PS101 parallel print server. It is also quite common, even smaller than the D-Link unit, and from a company I like. It was a bit more expensive, but easier to set up. If there was a password on the device, you would need a Windows machine (or possibly VMware Fusion or Parallels Desktop) to run the Windows software that's required for resetting, but at least there is such an option.
The Netgear PS101 gets its IP address via DHCP, so you can figure it out by scanning for devices on your LAN using the Angry IP Scanner utility (scan once before you plug in the PS101, and once afterwards, and look for the new device). With an AirPort base station, you can also use the DHCP Clients tab in AirPort Utility (Advanced > Logs and Statistics > DHCP Clients) to monitor a new client being added. Once you've found the PS101, you can connect to its Web interface via a browser. There's not much to configure in the Web interface; just finding the IP address is the key.
Once I had the IP address of the print server, I was ready to go... or so I thought. I opened the Print & Fax preference pane on my Mac and started to add a new printer. But what exactly to enter? Selecting the IP button was fairly obvious, but which protocol is right? The default LPD? The modern IPP? The proprietary but widely supported Jetdirect? I could tell from a port scan in Network Utility that the Netgear print server used port 515 and 9100, and a quick Google search showed that 515 was used for LPD and 9100 was used for Jetdirect.
I added a printer for both of these protocols, but to no avail. Both printer connections showed up with a green light in the Print & Fax preference pane's printer list, but with LPD, printing a page timed out after more than a minute. Jetdirect was slightly more promising, printing a lot of garbage, indicating that at least there was communication taking place.
Initially, I thought the problem might be PostScript 3 code being sent to a PostScript 2 printer, but that turned out not to be the issue. I had overlooked one last thing to configure on the printer - how to tell it to communicate properly with the parallel port. Time to read the manual. As if I still had that around after 15 years...
Luckily, Apple provides manuals for older products online. I found and downloaded the manual for my LaserWriter Pro 630, but it was entirely in Courier, with no styles or graphics. Lest you think I'm complaining about aesthetics, the problem was that the information I needed was in a table in Appendix C (page 60), and it took me nearly an hour to figure out how to interpret the mass of monospaced text. (Line numbers are missing, but each setting corresponds to four lines, each of which describes one communication method, so I looked at the Parallel line for each setting.)
On the left rear top of the LaserWriter Pro 630, above all the connectors, there is a tiny wheel that offers 10 settings. Unfortunately, the LaserWriter Utility application is not available any longer under Mac OS X. With it, I could have enabled a setting that would print a configuration page when the printer turned on, and that page would have displayed the current communication settings.
But reading the table in Appendix C gave the clues I needed. The wheel was set to 0 to start with, which corresponded to a "Normal" connection and "PostScript" as the Control Protocol Mode. I knew those values didn't work via the parallel port, which also eliminated settings 2, 4, 5, 6, and 7. Settings 1 and 3 used "Raw" as the connection and "HP PCL 4" as the Control Protocol Mode, whereas setting 9 used "BSP" as the connection and "PostScript" as the Control Protocol Mode.
Since I knew I wanted the printer to interpret PostScript and not HP's PCL (Printer Command Language), I chose setting 9 even though I have no idea what connection type "BSP" involves, and printed a test page. It worked! My LaserWriter Pro 630 had returned to the land of the living without being savaged by Snow Leopard!
It gets better. Because my FritzBox Wi-Fi gateway doesn't route AppleTalk between the Wi-Fi and Ethernet segments of my network, I previously couldn't print from my MacBook unless I plugged the MacBook into my Ethernet network. Because this new setup doesn't use AppleTalk, I can now print wirelessly from my MacBook, sans Ethernet cable.
Extrapolating to Other Printers -- Although I'm pretty sure this approach will work fine for those with a LaserWriter Pro 630, other old Apple printers may lack a parallel port or may have an entirely different method of changing the parallel port's connection mode.
But if your printer has a parallel port and perusal of the original manual implies that you can tweak the connection settings with a hardware switch (rather than the LaserWriter Utility), give the Netgear PS101 print server a try. There are also plenty of other parallel and even serial print servers, some with Wi-Fi, that might work.
I do wish Apple would give more hints about how to continue using a theoretically supported Apple printer under Snow Leopard. Suggestions for Ethernet-to-parallel/serial print servers and an explanation of what Normal, Raw, and BSP mean with respect to connection types would be welcome.
Unless - I won't say "until" - they do, however, I hope my attempt here at explaining how I brought my LaserWriter Pro 630 back into service under Snow Leopard will help others keep their perfectly functional old printers humming along.
[Christian Voelker works as a network admin in an advertising agency in Hamburg, Germany, and specializes in archival solutions based on DuraSpace and DSpace. His long term pet project is a local history archive for citizens of Hamburg.]