FAQ for the Printer MIB

FAQ for the Printer MIB
pwg-half.jpg (5409 bytes)

Printer Working Group
Frequently Asked Questions

1) What is the Printer MIB Working Group?
2) What is the Printer MIB?
3) What kind of changes are going into the new version?
4) What other MIBs does the Common Printer MIB require?
5) How do hrDevice and hrStorage interact with prtDevice and prtStorage?
6) What is the definition of "door" and "interlock"?
7) What constitutes a config change"?
8) How does one construct the ProductOID for hrDeviceID?
9) What is the difference between the definition of impressionsPerHour(7) and sheetsPerHour(8)?

Related Documents



1) What is the Printer MIB Working Group?

The Printer MIB Working Group(PMP) is an IETF subgroup or "working group" which is developing the Printer MIB. It is currently involved with advancing the Printer MIB from "proposed standard" to "draft standard", and is working on the next version of the MIB. Click Here to see the working group's charter, courtesy of the IETF home page.

Click Here to see what the group is currently working on.

This working group has representatives from a variety of companies, including but not limited to IBM, HP, Lexmark, Sharp, Xerox, Underscore, DEC, Tektronix, Kyocera, and EFI.

For more information on the IETF please see http://www.ietf.org



2) What is the Printer MIB?

The Printer MIB is the IETF proposed standard RFC1759. The protocol provided therein, provides a standard way for SNMP applications to identify a printer's attributes, and a printer's status.

Click Here to see RFC1759 and Click Here to see the mib version.



3) What kind of changes are going into the new version?

Besides some general cleanup and expanded object definitions, the newest version includes a couple of new variables. They include a printer serial number, a count of the number of critical errors that have been put in the alert table, the administratively assigned printer name, start-up and banner page control objects and manual feed and input tray switching objects.

The new version also includes additional possible values for many of the enumerations found within the specification. RFC1759 specifies that additional enums, called type 2 enums, may be used with RFC1759 compliant implementations after approval by the PMP. There are a number of additional enums that have been approved by the PMP since RFC1759 was published. Those additional enums are published in the latest draft. So if you want to describe the fuser in the supply table, you can use the enumeration for fuser in prtMarkerSuppliesType which has been included in the latest draft but was not in RFC1759, and still be compliant with RFC1759.



4) What other MIBs does the Printer MIB require?

RFC1759 requires the interfaces group of RCF1213 - MIBII, and the device and storage groups of RFC1514 - HostResources MIB.



5) How do hrDevice and hrStorage interact with prtDevice and prtStorage?

Each row in prtDevice will point to an entry in hrDevice where the OID of the row indicates the hrDevice to which the prtDevice row is referring. The value of the object PrtDeviceRefIndex is the printer device with which the hrDevice is associated. Clear as mud, right? Let's use a couple of examples to illustrate the point.

Let's deal with a simple case first. We shall define a single printer a disk, processor, serial port, parallel port and network interface. In this example, the disk device(device id 2) is associate with printer 1. Therefore prtDeviceRefIndex is sub-indexed with .2.1 where the .2 is the disk's device id and the .1 indicates that it is the first of the associations. Now the .1 could really start with any index but .1 is as good a starting point at any. The value of prtDeviceRefIndex is equal to 1 since the hrDeviceIndex of Printer 1 is 1.

Device 
Printer 1  hrDeviceIndex =1 hrDeviceType = hrDevicePrinter  prtDeviceRefIndex.1.1 = 1
Disk  hrDeviceIndex =2 hrDeviceType = hrDeviceDiskStorage  prtDeviceRefIndex.2.1 = 1
Processor  hrDeviceIndex =3 hrDeviceType = hrDeviceProcessor  prtDeviceRefIndex.3.1 = 1
Serial Port  hrDeviceIndex =4 hrDeviceType = hrDeviceSerialPort  prtDeviceRefIndex.4.1 = 1
Parallel Port  hrDeviceIndex =5 hrDeviceType = hrDeviceParallelPort prtDeviceRefIndex.5.1 = 1
Network Interface  hrDeviceIndex =6 hrDeviceType = hrDeviceNetwork prtDeviceRefIndex.6.1 = 1
 
Storage 
RAM  hrStorageIndex = 1 hrStorageType = hrStorageRam  prtStorageRefIndex.1.1 = 1
Disk  hrStorageIndex = 2 hrStorageType = hrStorageFixedDisk  prtStorageRefIndex.2.1 = 1

In the slightly more complicated example, we shall add a second printer to the above case. The first printer shall have access to all of the devices except printer 2, but the second printer only has access to the disk, processor, and network interface. This does mean that the two printers are sharing the processor, disk and network interface. To help clarify the example, printer 1 is device 1 and printer two is device 7.

Look what happened to the entry for disk. The disk is now associated with both Printer 1 and Printer 2 which means that there are two entries in prtDevice for prtDeviceRefIndex.2. Additionally, Printer 1, Serial Port, Parallel Port and Printer 2 only have one entry in prtDevice.

Device 
Printer 1  hrDeviceIndex =1 hrDeviceType = hrDevicePrinter  prtDeviceRefIndex.1.1 = 1
Disk  hrDeviceIndex =2 hrDeviceType = hrDeviceDiskStorage  prtDeviceRefIndex.2.1 = 1
prtDeviceRefIndex.2.2 = 7
Processor  hrDeviceIndex =3 hrDeviceType = hrDeviceProcessor  prtDeviceRefIndex.3.1 = 1
prtDeviceRefIndex.3.2 = 7
Serial Port  hrDeviceIndex =4 hrDeviceType = hrDeviceSerialPort  prtDeviceRefIndex.4.1 = 1
Parallel Port  hrDeviceIndex =5 hrDeviceType = hrDeviceParallelPort prtDeviceRefIndex.5.1 = 1
Network Interface  hrDeviceIndex =6 hrDeviceType = hrDeviceNetwork prtDeviceRefIndex.6.1 = 1
prtDeviceRefIndex.6.2 = 7
Printer 2  hrDeviceIndex =7 hrDeviceType = hrDevicePrinter prtDeviceRefIndex.7.1 = 7
 
Storage 
RAM  hrStorageIndex = 1 hrStorageType = hrStorageRam  prtStorageRefIndex.1.1 = 1
prtStorageRefIndex.1.2 = 7
Disk  hrStorageIndex = 2 hrStorageType = hrStorageFixedDisk  prtStorageRefIndex.2.1 = 1
prtStorageRefIndex.2.2 = 7



6) What is the definition of "door" and "interlock"?

A "door" is a physical cover that opens and closes and protects the physical contents of a device.

An "interlock" is a switch or sensor used to stop operation of a device when a necessary component for the proper operation of the device is missing.

It is safe to say that doors are interlocks but not all interlocks are doors.



7) What constitutes a config change?

The following is a list of some of the things that should cause the config change counter to be incremented:

Row Added To Or Removed From:
prtStorageRefTable prtDeviceRefTable prtInputTable prtOutputTable
prtMarkerTable prtMarkerSuppliesTable prtMarkerColorantTable prtMediaPathTable
prtChannelTable prtInterpreterTable prtConsoleDisplayBufferTable prtConsoleLightTable

Any Change To The Following Variables In The prtGeneral Group:
prtGeneralInputDefaultIndex prtGeneralOutputDefaultIndex prtGeneralMarkerDefaultIndex
prtGeneralMediaPathDefaultIndex prtGeneralCurrentLocalization

Any Change To The Following Variables In The prtInput Group:
prtInputMediaDimFeedDirChosen prtInputMediaDimXFeedDirChosen prtInputMaxCapacity prtInputMediaName
prtInputName prtInputSecurity prtInputMediaWeight prtInputMediaType
prtInputMediaColor prtInputMediaFormParts prtInputMediaLoadTimeout prtInputNextIndex

Any Change To The Following Variables In The prtOutput Group:
prtOutputMaxCapacity prtOutputName prtOutputSecurity prtOutputMaxDimFeedDir
prtOutputMaxDimXFeedDir prtOutputMinDimFeedDir prtOutputMinDimXFeedDir prtOutputStackingOrder
prtOutputPageDeliveryOrientation prtOutputBursting prtOutputDecollating prtOutputPageCollated
prtOutputOffsetStacking

Any Change To The Following Variables In The prtMarker Group:
prtMarkerSuppliesMaxCapacity

Any Change To The Following Variables In The prtChannel Group:
prtChannelCurrentJobCntlLangIndex prtChannelDefaultPageDescLangIndex prtChannelState prtChannelIfIndex

Any Change To The Following Variables In The prtInterpreter Group:
prtInterpreterDefaultOrientation prtInterpreterDefaultCharSetIn prtInterpreterDefaultCharSetOut

Any Change To The Following Variables In The prtConsole Group:
prtConsoleLocalization



8) How does one construct the ProductOID for hrDeviceID?

hrDeviceID is a EOM specific product id and is defined as an object identifier. The "ProductOID" is constructed from the Vendor's number that was assigned by IANA plus a produt specific code. For example, IANA assigned EFI the number 2136, so the vendor number is 1.3.6.1.4.1.2136, and a product may be 1.3.6.1.4.1.2136.2 where the 2 identifies the product.

Full instructions for obtaining a Vendor number can be found at ftp://ftp.isi.edu/in-notes/iana/assignments/introduction



9) What is the difference between the definition of impressionsPerHour(7) and sheetsPerHour(8)?

A duplexed page will have two impression on one sheet of paper.



Related Documents
 

http://www.bookcase.com/library/rfc/rfc-index-17xx.html - this will get you to RFC 1759.
http://www.simple-times.org/pub/simple-times/html/Printer-MIB.html - this will get you to the mib version RFC 1759.
http://www.bookcase.com/library/rfc/rfc-index-15xx.html - on this page is the Host Resources MIB, RFC 1514.
http://www.simple-times.org/pub/simple-times/html/HOST-RESOURCES-MIB.html - this will get you to the mib version RFC 1514.



In early February 1997, 6 printer venders each brought a printer to sunny California, put the printers on a network and performed a series of operations on each of the printers. Each manufacturer walked the printer MIB and the host resources MIB. Each manufacturer also created a series of printer conditions and during each condition read part of the host resources MIB and part of the printer MIB in order to record the current state of the printer. This process is referred to as the "interoperability test" or "interop test" for short. The following two documents are the compilation of the results of those tests.

mibwalk.PDF This is the MIB walk of the of the six printers.
alert.PDF This is the printer condition test.



This FAQ is maintained by Gail Songer, gsonger@netreon.com. Please feel free to send me any suggestions, comments or questions.