Subject: PMP> RE: question about the printer mib

From: "McDonald, Ira" <[email-masked]>
Date: Thu, 21 Feb 2002 13:55:34 -0800

Hi Juergen,

But you are asking for a backwards incompatible change in the module
compliance definitions (which is illegal under SMI rules).

RFC 1759 lists 'prtMarkerGroup' in the MANDATORY-GROUPS clause of
the 'prtMIBCompliance' MODULE-COMPLIANCE macro.
And 'prtMarkerGroup' lists 'prtMarkerLifeCount' as a mandatory
object to implement.

So a printer _cannot_ conform to Printer MIB v1 and not implement
'prtMarkerLifeCount'.

I sympathize with your problem, but you didn't point this problem
out 8 years ago (when Steve Waldbusser wrote the ASN.1 that way).

So for backwards compatiblity, the best we can do is to STRONGLY
RECOMMEND (in the object definition) that the object be persistent
in all printers (across power cycles) and to add your (excellent)
clarification that the two counters are zero-based and _when_
they are initialized to zero.

OK?

Cheers,
- Ira McDonald, co-editor of Printer MIB v2
  High North Inc
  [email-masked]

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]]
Sent: Thursday, February 21, 2002 5:02 AM
To: [email-masked]
Cc: [email-masked]; [email-masked]; [email-masked];
[email-masked]
Subject: Re: question about the printer mib

>>>>> McDonald, Ira writes:

Ira> I agree with you that 'prtMarkerLifeCount' SHOULD be persistent.
Ira> And that's what RFC 1759 (Printer MIB v1) said in the same words
Ira> used in the latest Printer MIB v2 draft, but in section 2.3, not
Ira> in the object definition itself.

I think it MUST be persistent to be useful.

Ira> Back in 1994, the chance that a low-end printer might have
Ira> trouble supporting persistent counters was probably much higher.

So these printers do not implement this object. I prefer to get no
number rather than a wrong number.

Ira> I would suggest that you may actually safely assume that the
Ira> 'prtMarkerLifeCount' _is_ persistent, because I've never heard of
Ira> a modern printer where it is not persistent.

Ira> Should we improve the DESCRIPTION clause of 'prtMarkerLifeCount'
Ira> to explicitly add something like:

Ira>    "Note: This object SHOULD be implemented as a persistent
Ira> object with a reliable value throughout the lifetime of the
Ira> printer."

This thread started because I was not sure (from looking at the object
definition) if these counters are indeed zero-based. Here is a what
would have helped me:

prtMarkerLifeCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of the number of units of measure counted during
	the life of printer using units of measure as specified by
        prtMarkerCounterUnit. This counters starts at zero when the
	printer is manufactured and is persistent throughout the
	lifetime of the printer."
    ::= { prtMarkerEntry 4 }

prtMarkerPowerOnCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of the number of units of measure counted since the
        equipment was most recently powered on using units of measure as
        specified by prtMarkerCounterUnit. This counters starts at zero
	when the printer is powered on."
    ::= { prtMarkerEntry 5 }

This still leaves it to some extend open under which conditions
prtMarkerPowerOnCount is reset to zero when you play around with the
various prtGeneralReset values (but this is not really a problem I
care about at the moment).

If people really care about printers without persistent memory, 
then the right thing to do would IMHO be to say in the compliance
definitions that prtMarkerLifeCount is only required on printers
that have persistent memory.

/js

-- 
Juergen Schoenwaelder      University of Osnabrueck
<[email-masked]>       Dept. of Mathematics and Computer Science
Phone: +49 541 969 2483    Albrechtstr. 28, 49069 Osnabrueck, Germany
Fax:   +49 541 969 2770    <http://www.informatik.uni-osnabrueck.de/>