Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2001 12:08:39 +0100 (BST)
From:      Jan Grant <Jan.Grant@bristol.ac.uk>
To:        Micke Josefsson <mj@isy.liu.se>
Cc:        =?iso-8859-1?q?Keith=20Spencer?= <bsd2000au@yahoo.com.au>, fbsd <freebsd-questions@FreeBSD.ORG>
Subject:   RE: Is Fbsd a good printer server????
Message-ID:  <Pine.GSO.4.31.0110021159270.8265-100000@mail.ilrt.bris.ac.uk>
In-Reply-To: <XFMail.20011002085845.mj@isy.liu.se>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2 Oct 2001, Micke Josefsson wrote:

>
> On 02-Oct-2001 Keith Spencer wrote:
> > Hi all,
> > My school has issues in its win2k network with
> > printing.
> > We can't easily or cost effectively track user/printer
> > info. Would like to allocate a budget per student and
> > if they go over charge them because they print waaaaay
> > toooo much. Sending us broke!
> > I am thinking of building a freebsd print server that
> > can do this stuff...
> > a) manage/own multiple HP jetdirect printers
> > to which 4050n and 2050n printers are attched
>
>  No problem so far. But printer accounting seems to be difficult. If the
> printouts were in pure ACSII then there is support for accounting, but with
> postscript or PCL there is none as I know of.

Have a look at LPRng; while admitting that printer accounting is
fighting an uphill battle (that you can never win), they do a pretty
good job.


The only real way to get an idea of the number of sheets of paper used
is to query the printer's hardware page counter. You can do this with
postscript in a lot of cases (lprng manages it with pjl too I think).

The alternative for cheaper PCL printers is to use the right MIB and get
page values with snmp. (Most printers won't let you turn off or ACL
this, so you might as well use it. If you control your network you can
ensure your printers are on a different subnet to the workstations they
service, in many cases, so snmp isn't a complete waste of time).

However, often the hardware PC may be unsynchronised with the job
spooling mechanism of the printer; thus, you need
	(a) a method to fetch page counts (postscript / snmp)
	(b) lprng's algorithm for repeatedly using (a) to poll PC
	    after a job has been sent until the value stabilises;
	    alternatively, a printer that can signal EOJ properly.

Then you can simply dump page counts before and after jobs to a log
file, and let perl sort it all out; this works for accounting, but not
pre-emptive accounting where everyone gets to print n hundred pages.

Oh, and you'll also need to figure out how much a page costs. Difficult,
since it depends upon colour (that is, the amount and distribution of
toner on the page) as well as paper costs.

You might as well charge per byte. At least those figures are readily
measurable.

I'd probably recommend cups or lprng for ease-of-use, although you can
crowbar this kind of thing into straight lpr (or lp) if you wish.

jan

-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44(0)117 9287088 Fax +44 (0)117 9287112 RFC822 jan.grant@bris.ac.uk
stty intr ^m


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.31.0110021159270.8265-100000>