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.