Bug 25635 - lpr -# didn't work on network printer
Summary: lpr -# didn't work on network printer
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 4.2-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: Garance A Drosehn
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-03-09 16:50 UTC by Wei-Kai Wu
Modified: 2002-04-29 01:21 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wei-Kai Wu 2001-03-09 16:50:01 UTC
lpr -#2 -Php4050 test.ps
the above command will print only one copy of test.ps

the lpr -# only works with printers which connect by lpt

Fix: 

Modify the lpd source?
How-To-Repeat: 
It is trivial.
Comment 1 Peter Pentchev 2001-03-09 16:56:28 UTC
Hmm.. could this be somehow related to PR bin/25544?
( http://www.FreeBSD.org/cgi-bin/query-pr.cgi?pr=25544 )
Maybe the lpr source should be combed for more such problems?

G'luck,
Peter

-- 
If I were you, who would be reading this sentence?

On Fri, Mar 09, 2001 at 08:21:42PM +0800, Wei-Kai Wu wrote:
> 
> >Number:         25635
> >Category:       misc
> >Synopsis:       lpr -# didn't work on network printer
> >Originator:     Wei-Kai Wu
> >Release:        FreeBSD 4.2-STABLE i386
> >Organization:
> Kavalan
> >Environment:
> 
> OS:FreeBSD 4.2
> Printer: HP 4050 with network printer device
> 
> >Description:
> 
> lpr -#2 -Php4050 test.ps
> the above command will print only one copy of test.ps
> 
> the lpr -# only works with printers which connect by lpt
Comment 2 Garrett A. Wollman 2001-03-09 17:17:06 UTC
<<On Fri, 9 Mar 2001 20:21:42 +0800 (CST), Wei-Kai Wu <wkwu@ccbsd1.csie.nctu.edu.tw> said:

> Printer: HP 4050 with network printer device

The `-#' option requires support from the remote print spooler to
operate.  Are you certain that this printer (I assume you're using an
HP JetDirect or similar product) supports such a feature?  Many
network print servers do not, in order to reduce the amount of memory
required.

-GAWollman
Comment 3 wkwu 2001-03-10 03:58:12 UTC
We do not have JetAdmin binaries for FreeBSD.
I have contacted with HP, but they told me that Jetadmin only support for
Solaris, HPUX and Linux. Because we have to do accounting, without JetAdmin,
I don't know how to get the message from printer such as how many pages have
been printed.
Any solution? or anybody can help me get the JetAdmin binaries?

Still, lpr -# problem has no idea.

----- Original Message -----
From: "Garrett Wollman" <wollman@khavrinen.lcs.mit.edu>
To: <wkwu@ccbsd1.csie.nctu.edu.tw>
Cc: <FreeBSD-gnats-submit@FreeBSD.ORG>
Sent: Saturday, March 10, 2001 1:17 AM
Subject: misc/25635: lpr -# problem


> <<On Fri, 9 Mar 2001 20:21:42 +0800 (CST), Wei-Kai Wu
<wkwu@ccbsd1.csie.nctu.edu.tw> said:
> > Printer: HP 4050 with network printer device
> The `-#' option requires support from the remote print spooler to
> operate.  Are you certain that this printer (I assume you're using an
> HP JetDirect or similar product) supports such a feature?  Many
> network print servers do not, in order to reduce the amount of memory
> required.
Comment 4 Garance A Drosehn 2001-03-13 02:24:34 UTC
Peter Pentchev <roam@orbitel.bg> wrote:
>   Hmm.. could this be somehow related to PR bin/25544?

The problem with multiple copies can not be related to
the PR about lprm not working right.

Wei-Kai Wu <wkwu@ccbsd1.csie.nctu.edu.tw> wrote:
>   lpr -#2 -Php4050 test.ps
>   the above command will print only one copy of test.ps

What does your printcap entry look like?  Do you, for
instance, do anything with a filter (if=blah) on this
print queue?

Garrett Wollman <wollman@khavrinen.lcs.mit.edu> wrote:
>  The `-#' option requires support from the remote print
>  spooler to operate.  Are you certain that this printer
>  supports such a feature?  Many network print servers do
>  not, in order to reduce the amount of memory required.

I don't know about an HP 4050, but I did just try this on
an HP 5000 series.  If you send a plain-text job via lpd
protocols, then you will only get a single copy.  I also
tested by pointing the exact same queue at a freebsd box,
and the control file sent by the print server was correct.
Ie, the control file does request the same number of copies
that the user originally requested.

My guess is that the HP printer ignores most of the lines
in a control file.

I only tried this with 'rp=lp', I don't know how it would
behave for other queues that an HP might understand.

Still, I suppose 'lpd' could fix this, by having an option
to say "if the user requested multiple copies, then send
each datafile to the remote host multiple times".  Not
the most exciting option, but it is probably doable.  I
will try to remember this issue, but I don't have any
immediate plans to implement such an option.

-- 
Garance Alistair Drosehn            =   gad@eclipse.acs.rpi.edu
Senior Systems Programmer           or  gad@freebsd.org
Rensselaer Polytechnic Institute    or  drosih@rpi.edu
Comment 5 Wei-Kai Wu 2001-03-13 05:31:35 UTC
On Mon, Mar 12, 2001 at 09:24:34PM -0500, Garance A Drosihn wrote:
> What does your printcap entry look like?  Do you, for
> instance, do anything with a filter (if=blah) on this
> print queue?

I think our filter did nothing about multiple copies.

> protocols, then you will only get a single copy.  I also
> tested by pointing the exact same queue at a freebsd box,
> and the control file sent by the print server was correct.
> Ie, the control file does request the same number of copies
> that the user originally requested.

I check the control file, it just create as n lines as you specify -#n:

fdfA339server
fdfA339server

You mean this?

> Still, I suppose 'lpd' could fix this, by having an option
> to say "if the user requested multiple copies, then send
> each datafile to the remote host multiple times".  Not
> the most exciting option, but it is probably doable.  I
> will try to remember this issue, but I don't have any
> immediate plans to implement such an option.

I have a dirty solution (modify the lpr.c):

fdfA339server
UdfA339server
Nhosts
fdfA339server
UdfA339server
Nhosts

But it only works when you print by lpr on server.
If I print by exact the same lpr on client (rm=server),
it will failed sending jobs to server.

-- 
 °ê¥ß¥æ³q¤j¾Ç¸ê°T¤uµ{¬ã¨s©Ò Wei-Kai Wu
 E-mail: wkwu@csie.nctu.edu.tw  Lab: 03-5712121-54743 (EC119)
Comment 6 Garance A Drosehn 2001-03-19 19:44:39 UTC
At 1:31 PM +0800 3/13/01, Wei-Kai Wu wrote:
>?On Mon, Mar 12, 2001 at 09:24:34PM -0500, Garance A Drosihn wrote:
>>  What does your printcap entry look like?  Do you, for
>>  instance, do anything with a filter (if=blah) on this
>>  print queue?
>
>I think our filter did nothing about multiple copies.

I'll continue this discussion on the freebsd-print mailing
list, instead of in the PR database (via freebsd-gnats)...

-- 
Garance Alistair Drosehn            =   gad@eclipse.acs.rpi.edu
Senior Systems Programmer           or  gad@freebsd.org
Rensselaer Polytechnic Institute    or  drosih@rpi.edu
Comment 7 Garance A Drosehn freebsd_committer freebsd_triage 2001-05-25 00:42:30 UTC
Responsible Changed
From-To: freebsd-bugs->gad

I have been looking into this.
Comment 8 Garance A Drosehn freebsd_committer freebsd_triage 2002-04-03 04:44:53 UTC
I thought I would add an update to this PR.  I am almost ready with a 
change to add 'rc' as a new option for printcap files, aka 
'remote.resend_copies'.  If you have a printer which seems to ignore the 
normal multiple-copy handling, you can include this option and lpd will 
send the entire file the right number of times to that printer.

I have a simple version of this update already, but I need to improve 
that so it will work better when the queue is also using input or output 
filters.  I hope to have the improved update installed in current in a 
week or so, and will have it in stable a week later.

---
Garance Alistair Drosehn     =      gad@gilead.acs.rpi.edu
Senior Systems Programmer           or     gad@FreeBSD.org
Rensselaer Polytechnic Institute;           Troy NY    USA
Comment 9 Garance A Drosehn freebsd_committer freebsd_triage 2002-04-29 01:18:43 UTC
State Changed
From-To: open->closed

The new option of 'rc' aka 'remote.resend_copies' can be used to address 
this behavior of some network printers.  The 'rc' option is now available 
in both freebsd-current and freebsd-stable ... in time for 4.6-release.