How to Use Netatalk:
1. make sure you have support for Appletalk in your kernel.
If you do not know what I am talking about, get hold
of a UNIX wizard or RTFM the netalk web site:
http://sourceforge.net/projects/netatalk
http://www.umich.edu/~rsug/netatalk
2. get the latest version of the netatalk distribution.
compile.
3. check to see if they have fixed up the problems with
the pap.c program. If not, then:
fetch ftp://ftp.lprng.com/pub/LPRng/UNIX/netatalk/pap.c
cp pap.c bin/pap/pap.c
gmake (you need to use GNU make)
4. install.
5. start up atalkd, and use nbplkup to get the names of the
printers. Example:
h110: {39} % nbplkup
PET:SNMP Agent 65281.4:8
PET:LaserWriter 65281.4:157
PET:LaserJet 2200 65281.4:158
LaserJet 4:HP Zoner Responder 65281.128:159
LaserJet 4:SNMP Agent 65281.128:8
LaserJet 4:LaserWriter 65281.128:157
LaserJet 4:LaserJet 4 65281.128:157
RICOH Aficio 220:LaserWriter 65281.129:128
6. Now you can use the following printcap or one
modified to be suitable for your local environment:
lp:
:lp=| $- /usr/local/bin/pap -p "domain\:printer"
:filter=/usr/.../ifhp
:sd=/var/spool/lpd/%P
Example:
lp:
:lp=| $- /usr/local/bin/pap -p "PET\:LaserJet 2200"
:filter=/usr/libexec/filters/ifhp
:sd=/var/spool/lpd/%P
Note that the \: may not work for all versions of LPRng,
in which case use:
:lp=| $- /usr/local/bin/pap -p "domain\072printer"
Example:
:lp=| $- /usr/local/bin/pap -p "PET\072LaserJet 2200"
Do 'checkpc -f' and 'lpc reread' to enable the printcap.
Try doing:
echo hi |lpr -Plp
And see what comes out of the printer.
You might want to add:
lp:
:lp=| $- /usr/local/bin/pap -p "domain\:printer"
:filter=/usr/.../ifhp
:ifhp=debug=4 <--- enable debugging
:sd=/var/spool/lpd/%P
And use 'lpq -L' to see details about status.
7. When I tested this with a HP LaserJet 2200, much to
my surprise the printer came back with status information...
on the reverse 'data' channel... and the ifhp filter worked
out of the box. This was also true for the HPLaserJet4,
as well as several other printers that used interal JetDirect
cards, NOT external JetDirect.
8. You may discover that this does not work, and your
printing terminates with a 'unknown command ' error.
This is a good indication that the printer does not like
^D or ^T being sent to it VIA Appletalk.
Try the following:
lp:
:lp=| $- /usr/local/bin/pap -p "domain\:printer"
:ifhp=model=ps,ps_eoj@,ps_ctrl_t@,debug=4
This will now probably print PostScript files that do not
have ^D or ^T's at the start/end in them. It also appears to print
PostScript files with binary images.
9. After you get it working, you can remove the 'debug=4'
statement. This will probably work.
10. If you need to get pagecounts, then you will have to poll for
them. Try:
lp:
:lp=| $- /usr/local/bin/pap -p "domain\:printer"
:ifhp=model=ps,ps_eoj@,ps_ctrl_t@,pagecount_poll_end=5,pagecount_poll_start=1
This will poll for pagecounts at the start and end of the job.
The pagecount_poll_start does it once at the start,
while the pagecount_poll_end=5 requires the page count to be stable
for 5 attempts. Note that this will fail miserably if the printer
is turned off line or is turned off... Sigh...
-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------