[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [LPRng] Remote Printer and if filters



"Michael E. Touloumtzis" wrote:

> On Fri, Jan 29, 1999 at 04:58:58PM -0500, Chuck Stickelman wrote:
> >
> > Here's what I'd guess to be a simple one.
> You are correct.  But problems always look simpler _after_ they are
> solved ;-).
>

Good news.  It's a little harder than I initially realized.

>
> > I've recently purchased a print server from Lantronix (LPS1-T) and I'm
> > able to print to is using a
> > fairly simple /etc/printcap entry:
> >
> > lps|Lantronix Print Server LPS1:\
> >         :rm=lps_260923:\
> >         :rp=lps_260923_pcl:\
> >         :sd=/var/spool/lpd/lps_prt:\
> >
> > However, when I try to use an input filter (a.k.a. magicfilter) it isn't
> > working.  I've got magicfilter
> > working on the same printer (HP LaserJet 5L) when attached to the
> > Parallel port, so I know it's
> > not magicfilter it'self.  I seem to remmeber that lpd doesn't use
> > filters and remote printers at the
> > same time...is that still correct?
> Yes.  See 'man printcap':
>         "rm     str     NULL    machine name for remote printer
>                                 (filters not run)"
>
> > Do I need to set-up two queses - one with the "if=" statement and one
> > with the "rp=" and "rm=" statements?
> Yes.
>
> > Is this what the LPRng documentation calls "Bounce Queues"?
> Yes.
>
> > When I read the stuff in /usr/doc/lprng I got a little confused.
> Me too!
>
> > It talks about Bounce Queues but then says that
> > both queses need to list the computer and printer...makes me think that
> > they are talking about something different altogether...
> Now you're comfusing me even more ;-).  I'm glad I didn't read this
> before trying to set up my printcap!
>

Here's the part in printcap(5) that had me stumped:

Bounce  queues  are  designed to allow users to have their
       files preprocessed by a set of filters before  being  sent
       to  the  final destination.  If a queue is being used as a
       bounce queue, then the lp printcap entry must  be  set  to
       the  name  of  the printer on the server, and the bq entry
       must be the destination after filtering.  This will  cause
       all  jobs  to  be  sent  to  the bounce queue, rather than
       directly  to  the   final   destination.    For   example,
       pr:lp=pr@host:bq=destpr@desthost.

Though after taking a break from it and reading the responces to my post, I
*think* I understand.
Here's the new printcap entry:

lp|HP Laserjet5L:\
        :lp=lp@localhost:\
        :bq=lps_260923_pcl@lps_260923:\
        :sd=/var/spool/lpd/hplj5l:\
        :sh:\
        :pw#80:\
        :pl#60:\
        :px#1440:\
        :mx#0:\
        :if=/etc/magicfilter/ljjet4l-filter:\
        :af=/var/log/lp-acct:\
        :lf=/var/log/lp-errs:



>
> > I was thinking that the first queue (the one with the "if=" statement)
> > could point to /dev/null, and that the second queue had to point to the
> > remote computer/printer...though I can't remember how
> > the two would be connected... What did I miss that day in Printing 101?
>
> I think an example is worth a thousand descriptions.  See "Running an
> if for remote printers" in /usr/doc/HOWTO/Printing-HOWTO.gz.
>

Ok, read it.  *AND* I even understand.  However, being a purist, I'd rather
not be editing the
stock filters in /etc/magicfilter.  As soon as someone else does some
administration or we change
printers it's going to be more of a hassle than I want.

I'd *really* like to solve this in /etc/printcap - people (including me a
year from now) will look there first...not to mention it should work from
there using the "bq=" statement.


>
> Also, here is my printcap entry.  The filter is not using magicfilter,
> but that doesn't really matter.  This shows the basic plumbing of the
> bounce queue idea.  Note that you print (in this example) to "lp", not to
> the queue to which the bounce occurs (uswswdpt).  As in the HOWTO example,
> my filter does an explicit "lpr -Puswswdpt" (thus doing the "bounce").
>
> lp:\
>         :lp=/dev/null:\
>         :sd=/var/spool/lpd/ljet-if:\
>         :if=/var/spool/lpd/ljet-if/input_filter:\
>         :mx#0:\
>         :sf:\
>         :sh:
> uswswdpt:\
>         :lp=/dev/null:\
>         :sd=/var/spool/lpd/ljet:\
>         :rm=uswswdpt:rp=text:\
>         :mx#0:\
>         :sh:
>
> - MikeT
>
> --
> Michael E. Touloumtzis         mailto:toumi01@cai.com
> Ingres Product Development
> Computer Associates International

When I send a job to the printer w/ the above printcap entry I get this error
message:

chuck@Bertha: lpr ~chuck/lpr-test
connection to 'localhost' failed - Connection refused
job 'cfA427practical.richnet.net' transfer to lp@localhost failed

So is this now an issue with /etc/lpd.conf and /etc/lpd.perms?  What's
missing?

Does anyone have a working remote printer using the "bq=" statement in
/etc/printcap?
I have tried replacing the references to localhost with practical.richnet.net
but only the hostname changes in the error message...

Thanks again.
Chuck


--
Chuck Stickelman, Owner                 E-Mail:
Practical Network Design                Voice:  +1-419-529-3841
9 Chambers Road                         FAX:    +1-419-529-3625
Mansfield, OH 44906-1301 USA




Reply to: