In Panther, I suddenly lost the ability to print to my school printers over lpr/lpd. We traced the problem: Apple had changed the port from which the print job was sent from a low-numbered "trusted" port to a high-numbered one. The print server would reject this port (error #32; data file refused) as insecure. The solution is as follows. After creating your printer, do this:
% cd /etc/cups
% sudo emacs printers.conf
There will be a line that looks something like this:
lpd://server.domain/printqname
where
server.domain is the computer the printer queue is on, and
printqname is the name of the printer queue. You must change this line to look like this:
lpd://server.domain/printqname?reserve=on
Save the changes and quit the editor. This will enable the correct port behaviour. Then you need to restart cupsd. in a shell, do this:
% ps -auwx | grep cupsd
root 348 1.1 0.1 29016 1372 ?? Ss Thu03PM 0:26.90 /usr/sbin/cupsd
markian 5144 0.0 0.0 8860 8 std R+ 2:17PM 0:00.00 grep cupsd
% sudo kill -HUP 348
Note that
348 is the
cupsd (cups daemon) process id (in this example). You should now be able to successfully print. Special thanks to Carol Smith at the University of Alberta for being invaluable in solving this problem.