Subject: Netatalk vs. Hp DeskWriter 560C
To: None <netatalk-admins@umich.edu, netbsd-help@netbsd.org, port-mac68k@netbsd.org>
From: Paul Sander <paul@wakawaka.com>
List: netbsd-help
Date: 12/04/1999 20:29:22
Hi folks,

I just installed Netatalk on NetBSD, and I'm having trouble printing to an
HP DeskWriter 560C printer.  NetBSD is v1.4 running on a Mac Quadra 840AV.
Netatalk is 19990130 with all patches, as downloaded by the NetBSD package
system.  I'm using the Quadra's built-in Ethernet port (interface mc0).
The printer has a LocalTalk interface and is connected to my network via a
Sonic Systems MicroPrint bridge, and it has been working fine with MacOS
(with driver upgrades) from System 7.1 to 8.6.

I'm using pap to write a text file to the printer.  I've written a short
Perl script to convert the Unix newline characters to CR-LF pairs, and
forcing a FF at the end.  I'm enclosing the script below.

The problem I'm having is that after the file finishes printing, the
connection to the printer appears to remain open.  I must interrupt pap to
regain control of my shell.  The printer remains locked (after killing pap),
and I am unable to print another file from either the NetBSD box or a regular
Mac.  According to the HP PrintMonitor program on the Mac, the printer is
busy printing.

The connection eventually times out a few minutes after pap is killed, and
the printer becomes available again.  The connection does not seem to time
out while pap is running.

The specific command I'm using is this:

	pr .cshrc | ./zz | pap -p "DeskWriter 560C:DeskWriter"

where "./zz" is the Perl script below.

This problem does not occur when using an ImageWriter II that is connected
to my network in an identical way.  The pap program exits immediately
and the printer becomes available for additional work.

This problem also does not occur when printing a file using Apple A/UX
and its atprint command.

Does anyone have any theories as to what might be causing this, and how
to fix it?

Many thanks in advance,

Paul
-----

The Perl script follows.

#!/usr/local/bin/perl

while ( $line = <STDIN> )
{
        chop $line;
        print $line,"\r\n";
}
print "\f";
# End
--
Paul M. Sander    | Every day is a weekend when you work for a startup
paul@wakawaka.com | company.