Subject: [netatalk-admins] Netatalk vs. Hp DeskWriter 560C

From: Paul Sander <[email-masked]>
Date: Sat, 4 Dec 1999 20:29:22 -0800 (PST)

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
[email-masked] | company.

---

From: Hauke Fath <[email-masked]>
Date: Sun, 5 Dec 1999 13:00:26 +0100

>out while pap is running.

pap sucks...

>From the nights that I spent on getting a QMS-PS 410 to work with netatalk
over a HW bridge ISTR that there is an option that lets pap not wait for
the goodbye kiss from the printer:

       -E     Do not wait for EOF from printer after spooling the
              job. Some printers forget to send EOF after receiv-
              ing large jobs.

-- during said nights, I sync'ed the pap man page with reality, so I cannot
tell if this is listed in the original manpage. I really should wrap up my
changes and submit them to asun...

It may definitely be worth while to sprinkle pap.c with printf()s and see
what it's doing. There is even a "-DEBUG" (as in "-D EBUG") switch that
means to trace pap execution.

	hauke

--
"It's never straight up and down"     (DEVO)