Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Printing to an AppleTalk printer via Samba Network
I have a network of Macintoshes running OS X and a PC running Windows XP. I wanted to enable the PC to print to a LaserWriter that only talks AppleTalk. There is commercial software that enables you to do this, but here's how to do it for free. In brief, the missing piece of the puzzle was figuring how to make OS X print to an AppleTalk printer from the command line. For those of you who want to figure the rest out for yourself, the relevant UNIX commands are at_cho_prn and atprint.

If you'd like the step-by-step instructions, read the rest of the article.

First install Samba X on your OS X machine. You can get it here . There is a Samba web administration tool with documentation on your local machine at http://localhost:901. There is also a comprehensive discussion of using Samba to share files here on macosxhints. Make sure your Samba server is working by setting up a share and checking that you can access it from your PC.

Next, return to your OS X machine and execute the command at_cho_prn as root to find and set up the AppleTalk printers attached to your network. Test this by trying the command
cat | atprint
on some Postscript file.

Then use the Samba web administration tool to set up a printer. The only option you need to change from the default settings is the print command, available in advanced view. This should be set to
cat %s | atprint
Finally, go to your PC and set up the printer. How this works depends on the system you are using, I guess. I was using Windows XP and asked the wizard to find all network printers. It found the Samba printer I had set up, and asked me to choose the driver from a list. I chose the closest one I could find from the list of Apple drivers.

Of course, I don't know in what generality this works. My printer is a LaserWriter 4/600 PS, hooked into the Ethernet hub using a Farallon Ethermac Iprint adaptor. The mac is running OS 10.1 and the PC is a Dell laptop running Windows XP.

[Editor's note: I don't have an AppleTalk-only printer available to test this with, and my current Ethernet print setup is working fine ... and since printers and I don't usually get along very well, I'm not going to change anything! ;-) But this looks like a fairly simple task.]
  • Currently 3.00 / 5
  You rated: 5 / 5 (3 votes cast)

Printing to an AppleTalk printer via Samba | 5 comments | Create New Account
Click here to return to the 'Printing to an AppleTalk printer via Samba' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Windows-2000 can print to AppleTalk printers already...
Authored by: rsundahl on Jan 22, '02 02:05:20PM

After upgrading to DAVE 3.1 and banging my head on permission/owner bugs and Windows domain authentication requirements, I decided that I would try Virtual-PC 5.0 and run W2K Server to establish a domain for my Windows users (my son and sometimes his friends.) This worked fine, but deep overkill for access to a couple printers and some Mac file servers.

I knew that NT 4.0 Advanced Server and W2K Server could see AppleTalk resources, but I didn't want to run W2K Server, just for Mac support, so I went to try to steal the Macintosh file and print services extensions from W2K Server to see if they would run on W2K workstation when I discovered that "AppleTalk" was already an available, but optional protocol in both W2K products. Once installed, you can create a "Local" AppleTalk printer port, and use it in a "Local" printer. It works like this:

On a W2K machine (and maybe similarly in WXP, I don't know)...
1) Select "Start>Settings>Network and Dial-Up Connections"
2) Open the properties of "Local Area Connection" or whatever you named your connection.
2) Select "Install>Protocols>Add->AppleTalk Protocol" and finish.
3) Select "Start>Settings>Printers"
4) Select "Add Printer>Next"
5) Select "Local Printer(don't "Automatically detect my plug and play printer")>Next
6) Select "Create New Port>AppleTalk Printing Devices>Next"
7) Navigate to and select your on-line AppleTalk printer and press "OK"
8) You probably don't want to "Capture this AppleTalk device?" since this PC is probably a guest on a Mac network, but you could.
9) Choose a driver, etc.

The rest is basic Windows printer setup. I recommend going through ALL of the settings and seeing if they are appropriate to your application. In particular, Windows does not go out to the printer to detect optional printer components like extra memory or optional feeders, etc., at least as far as I can tell. Additionally, it is useful to switch from "ASCII" to "BCP" or "TBCP" in the "Device Settings", since the Windows default of "ASCII" is much slower than it typically needs to be.

I don't know if this was obvious to everyone already, but since I already mounted the learning curve, here it is. Also, I don't know about it's applicability to XP, but I imagine that there is a similar "optional protocol" somewhere in there too since I believe that XP is derived from NT and W2K.

In defense of Microsoft, (and this can be difficult for me,) they have supported mixed Win/Mac/Other networks since at least NT 3.5 quite well, and although there are good reasons to have done so, it certainly wasn't a given, especially with AppleTalk and NetWare, given their ability to crush anything NIH. Truth is, I spent all that time on DAVE and VPC, because I didn't give 'em enough credit to bother checking out their support for the Mac in the first place. ('nuf said)


[ Reply to This | # ]
Windows-2000 can print to AppleTalk printers already...
Authored by: DOshow on May 12, '03 06:15:49PM

How are we physically attaching these printers to the PCs? Appletalk has a mini-den connector that adapts to a R11 cord and what is used on the PC side?

[ Reply to This | # ]
Windows-2000 can print to AppleTalk printers already...
Authored by: scott_s on Jun 22, '03 03:22:31AM


I found I needed to set the output protocol to binary (instead of ASCII) in the print driver to make this work. Now I can print directly from my ethernet connected Win2k machine to my EtherTalk connected HP 5MP (via Farallon ethernet - localtalk bridge).

Printers[select your printer]>Properties>Device Settings>Output Protocol>Binary


[ Reply to This | # ]
What driver?
Authored by: Reddog on Jan 23, '02 05:02:46AM

This is a great tip! As it happens, I also have a 4/600 model Laserwriter & I'd love to know exactly what driver he uses in W2K.


[ Reply to This | # ]
Printing to an AppleTalk printer via Samba
Authored by: phoopee3 on Mar 22, '07 01:10:35PM

When i get to step 6, nothing happens after i hit next. it just sits there for a few seconds and then the box kind of refreshes. really weird, and really annoying.

When you do things right, people won't be sure you've done anything at all.

[ Reply to This | # ]