Network Printing Protocols in Mac OS 9

Mac OS 9 represented the bridge between legacy Classic Mac networking and the modern Internet Protocol (IP) era. Printing in this operating system relied on a mix of Apple’s proprietary protocols and standard TCP/IP-based solutions, managed primarily through the LaserWriter 8 driver and configured via the Desktop Printer Utility. This article outlines the primary network protocols used to send print jobs to network printers and print servers in Mac OS 9.

AppleTalk and Printer Access Protocol (PAP)

For the majority of Mac OS 9 users, AppleTalk remained the default and most user-friendly networking architecture for printing. AppleTalk handled device discovery and connection automatically through the Chooser or Desktop Printer Utility.

  • Printer Access Protocol (PAP): This was the core protocol within the AppleTalk protocol suite responsible for establishing and maintaining connections between Macintosh clients and PostScript print devices. PAP provided reliable, bidirectional, stream-oriented communication, allowing the Mac to send print jobs and receive status messages (such as paper jams or toner levels) back from the printer.
  • Physical Layers: AppleTalk printing via PAP functioned across multiple physical network layers supported by Mac OS 9, most commonly EtherTalk (AppleTalk over Ethernet) and LocalTalk (via serial ports), as well as TokenTalk for Token Ring environments.

Line Printer Daemon (LPR) over TCP/IP

As cross-platform enterprise environments shifted away from AppleTalk toward pure TCP/IP infrastructure, Apple introduced native IP printing capabilities into the LaserWriter driver framework.

  • LPD/LPR (RFC 1179): LaserWriter 8 (specifically versions 8.5.1 through 8.7 included with Mac OS 9) supported the standard Line Printer Daemon/Line Printer Remote protocol over TCP/IP. Users configured LPR printing by launching the Desktop Printer Utility, selecting "Printer (LPR)", and entering the printer’s static IP address along with a specific queue name (often raw, lp, or PASSTHRU). This allowed Mac OS 9 systems to communicate directly with standard Unix, Windows, and hardware print servers without requiring AppleTalk routing.

AppSocket / RAW (Port 9100) via Third Parties

While LaserWriter 8 natively used LPR for IP connections, raw TCP socket printing (commonly associated with HP JetDirect cards over TCP port 9100) was also utilized in mixed networks. While Mac OS 9 did not provide a native generic raw socket driver in its base installation, enterprise network printer installers (such as proprietary software suites from HP, Lexmark, or Xerox) installed custom printer descriptions and network delivery extensions that communicated directly over port 9100 to stream PostScript data.

Windows Shared Printing (SMB/CIFS)

Mac OS 9 did not include native support for the Server Message Block (SMB) protocol. To print to shared printers hosted on Windows NT, Windows 2000, or Samba servers, users relied on third-party networking extensions. The most common solution was Thursby Software’s DAVE, which integrated NetBIOS and SMB support into the Mac OS 9 network stack, allowing the Chooser and Desktop Printer Utility to map and send jobs to remote Windows shared print queues.