On Mon, 20 Oct 2003 22:28:30 +0200 (CEST)
Henrik Edlund <[EMAIL PROTECTED]> wrote:
> So the major thing with PJL is that the commands are not supported or do
> basically not work as specified? Going into PJL insanities, could you give
> more details on these? USTATUS being PostScript right? What else would you
> get if not status? Comparing these two options, is PJL more support/a
> better choice then PostScript, or would you say that you have to try with
> both options depending on printer?
>
> I have a pretty good idea of the success ratio of using SNMP and that you
> cannot trust that a printer supports (meaning returns intelligent values)
> even though the manufacturerar says so. (Canon being a bad one here and
> Xerox a good one.)
>
> What is the success ratio of PJL/PS? Beinh behind IFHP you should have
> some idea on the success people have had with it?
The motivation behind our use of SNMP at this site:
- Xerox Phaser 5400 printers that do strange things
- faster end-of-job processing
At least, until the patch for the LJ4100's came out, page counts were
not reported accurately (many zero-page jobs that were not zero-pages).
To get around this problem before the patch, one had to poll the printer
repeatedly at multiple-second intervals. We did 3 queries with 20 sec.
intervals to make sure the job was done. That's potentially one full
minute between jobs where the printer is idle. Not so good for fast
printers servicing busy queues.
The Xerox Phaser 5400 borders on the insanities realm. It uses a
form of the Xerox/Tektronix "appsocket" protocol with a few quirks.
Some unusual behavior we found when working with this printer:
- query printer for page count at start of job (return A pages)
- print job (N pages long)
- close socket connection
- reopen socket connection
- query printer for status, wait for end-of-job
- printer finishes
- printer reports only A pages have been printed, not A+N pages
Turns out you can not have ANY TCP connections open to this beast when
the job finishes, or the page counter will not update. !#$#$
Solution: query the printer for status via SNMP; no TCP connection is
held open, and one can reliably see if the printer is still printing
or not. And the pagecount you get via SNMP gets updated as expected,
since no TCP connections are being held open.
Turns out this also fixes a problem with the Color LaserJet 4500's
brain-dead PJL implementation. You can ask that @#$# printer if it's
done with the current job or not until you are blue in the face...it
will not answer you until the job is done.
This leads to some interesting situations:
- printer takes several minutes to warm up and calibrate
once it's gone into power-save mode
- paper jams may go unnoticed for a while, or may run out
of paper, but it will NOT tell ifhp that is the case
(no answer until the job is done, and the job is not done...)
- LPRng has a timeout where, if the job is not done, it's time
to TRY AGAIN.
- but the previous attempt is in printer memory, so once the
paper-out or jam is fixed, it will finish the job, then
print your attempt N+1 after that (not uncommon to get 2-3
copies of a job when this happens).
I don't have any experience with the Canon printer line, so I can't
speak to any "insanities" from that company...
--
============================================================================
John Perkins | University of Wisconsin-Madison
Associate Researcher | Department of Computer Science
[EMAIL PROTECTED] | 1210 W. Dayton St.
608-262-0438/608-262-9997 FAX | Madison, WI 53706-1685
============================================================================
-----------------------------------------------------------------------------
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.
-----------------------------------------------------------------------------