Troubleshooting
AppleTalk Kernel Module
Netatalk relies on AppleTalk support in the kernel to make use of the DDP layer. The atalkd
daemon will attempt to dynamically load the kernel module if not detected, and error out if all attempts fail. You can still use the DSI layer (TCP/IP) without an AppleTalk kernel module.
At the time of writing, Linux and NetBSD are known to have officially maintained AppleTalk kernel modules. At least Debian Linux (as of Bullseye) comes with the kernel module compiled in by default. There is code for a Solaris kernel module in the Netatalk source tree.
Linux
To check if your kernel has AppleTalk support, first start the atalkd
daemon, then issue this command and inspect the output:
$ lsmod | grep appletalk
If no appletalk
module is detected, you will have to compile support into the kernel.
Solaris
Netatalk distributes code for an AppleTalk module for Solaris / Illumos, located under sys/solaris
. It is presently configured for the SPARC architecture only.
Sharing a modern printer over AppleTalk
Note that for this to work, your printer must be CUPS (Apple AirPrint) compatible. At the time of writing, the majority of modern printers are compatible. You can test this by piping some text to lp. First, list the printers that CUPS can see, then configure the default printer (HP Tango in the following example), finally pipe a stream to lp for printing.
$ lpstat -p -d
printer HP_Tango_333AB4_ is idle. enabled since Fri 07 Jan 2022 06:47:09 PST
system default destination: HP_Tango_333AB4_
$ lpoptions -d HP_Tango_333AB4_
device-uri=ipps://HP%20Tango%20%5B333AB4%5D._ipps._tcp.local/ printer-info='HP Tango [333AB4]' printer-location printer-make-and-model='HP Tango' printer-type=16781324
$ echo "NETATALK IS AWESOME" | lp
request id is HP_Tango_333AB4_-3 (0 file(s))
The next step is to configure papd. Edit /etc/netatalk/papd.conf
and add the following line to the bottom of the file:
cupsautoadd:op=root:
Save, exit, and restart papd.
At this stage, you want to test that the CUPS printer is shared over AppleTalk. This can be done using this command:
$ nbplkup
The output should look something like this:
rascsi3b:ProDOS16 Image 65280.205:3
HP Tango 333AB4 :LaserWriter 65280.205:130
rascsi3b:Apple //e Boot 65280.205:3
rascsi3b:AFPServer 65280.205:131
rascsi3b:TimeLord 65280.205:129
rascsi3b:Apple //gs 65280.205:3
If you see your printer here, the only thing left is to configure the printer on your vintage Mac in the Chooser. This part may vary depending on AppleTalk version, printer drivers on your system, and model and make of printer. The author has tested their HP Tango printer with LaserWriter 7 on System 7.1.1, and LaserWriter 8 on Mac OS 8.6:
- Pick the LaserWriter driver in the Chooser. Your printer should appear in the list of PostScript printers.
- If using LaserWriter 7 or earlier, just selecting the printer should be enough.
- If using LaserWriter 8, click Setup.
- When given the option to pick PPD (printer description file) choose plain LaserWriter from the list.
- Print!
If printing doesn’t immediately work, try experiment with other stock PPD files in the Chooser, or track down 3rd party ones that may be compatible, and see it that makes a difference.
This is a mirror of the Netatalk GitHub Wiki. Please visit the original page if you want to correct an error or contribute new contents.
Last updated 2024-12-09