rfc-1759

Printer MIB

R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog
date1995-03 streamIETF areaapp wgprintmib statusPROPOSED STANDARD pages113 canonicalhttps://www.rfc-editor.org/rfc/rfc1759 doi10.17487/RFC1759
A printer is the physical device that takes media from an input source, produces marks on that media according to some page description or page control language and puts the result in some output destination, possibly with finishing applied. The information needed in the management of the physical printer and the management of a printing job overlap highly and many of the tasks in each management area require the same or similar information. [STANDARDS-TRACK]

obsoleted by

Extracted elements (30)

design-rationale §2.2.13.3

A single Alert Table is used rather than per-group alert tables because a single sub-unit entry can generate more than one simultaneous alert (e.g. paper jams at multiple points in a media path). Attaching extra information to the sub-unit entry would limit reports to one per entry.

snmp

design-rationale §2.2.5

Finishers are explicitly excluded from this MIB version. The sequencing and interaction between output devices and finishers is implementation-specific, and the MIB only records a logical association between the two; no behavioral constraints on ordering are imposed.

snmp

design-rationale §2.3

Many MIB objects are given read-write access to allow management applications to supply resource information (e.g. paper size, tray capacity) on printers that lack sensors. The printer treats the written value as truth and acts on it — this is not a passive memo field. For example, if a wrong paper size is written, the printer images using that size.

snmp

design-rationale §2.2.13.2

The Host MIB status mapping is acknowledged as imperfect: the Standby state (running/other) is indistinguishable from other 'running but not printing' states, and concurrent critical+non-critical alerts cannot both be indicated. The document suggests adding 'standby' to hrDeviceStatus and 'offline'/'notApplicable' to hrPrinterStatus in a future revision.

snmp

design-rationale §2.2.13.4

When the Alert Table is full, entries are deleted in this priority order: (1) oldest non-critical simple alert, (2) oldest non-critical binary alert, (3) oldest critical binary alert. Implementors are encouraged to pre-allocate sufficient storage for the maximum possible simultaneous critical alerts to avoid deleting them.

snmp

interoperability-note §2.2.1

Localization applies only to MIB string objects explicitly marked as localized. All other character strings in the MIB are returned in ASCII. The prtGeneralCurrentLocalization index controls localized descriptions; prtConsoleLocalization separately controls console strings.

snmp

interoperability-note §2.2.13.4

The Alert Index is a monotonically increasing integer; gaps in Alert Table index values indicate that alerts were deleted (due to overflow management). Management applications should treat index gaps as a signal to re-acquire full printer state to detect missed state changes.

snmp

normative-requirement §3.3 MUST

All objects in the Interfaces Group of MIB-II (RFC 1213) shall be implemented.

snmp

normative-requirement §3.1 MUST

All objects in the System Group of MIB-II (RFC 1213) must be implemented for conformance to the Printer MIB.

registry, snmp

normative-requirement §5 MUST

Every implementation of prtGeneralReset must support at least the values 'notResetting' and 'resetToNVRAM'; other reset types are optional.

snmp

normative-requirement §2.3 MUST

If the value of any MIB object persists across power cycles or cold starts, then the prtMarkerLifeCount object must also persist. This counter is expected to last the lifetime of the printer.

snmp

normative-requirement §2.2.13.3 SHOULD

Management applications are expected to poll the printer on a regular basis and read the Alert Table to determine condition changes, regardless of whether traps are received, in order to provide reliable information.

snmp

normative-requirement §3.2 REQUIRED

The System Controller is represented by the Storage and Device Groups of the Host Resources MIB (RFC 1514); these two groups are the only ones required to be implemented.

snmp

normative-requirement §4 MUST NOT

Unicode data transmitted via SNMP (ASN.1/BER) SHALL use Big Endian octet order; the Unicode Byte Order Mark (BOM) SHALL NOT be used in SNMP transmissions.

snmp

normative-requirement §2.2.13.3 MUST

When the severity of an alert is 'critical', the printer sends a trap or event notification to the host indicating that the Alert Table has changed. For non-critical alerts, no trap is sent.

snmp, security

protocol-element §2.2.13.3

The Alert Table (prtAlertTable) contains one entry per active alert, recording severity (critical/non-critical), the affected sub-unit and entry, a detailed location code, an alert code, a textual description, and the training level required to service the alert.

snmp

protocol-element §2.2.10

The Channel Group identifies independent sources of print data, each associated with an underlying interface. A channel can be independently enabled or disabled and carries a current Control Language that specifies which interpreter processes the print data.

snmp

protocol-element §2.2.11

The Interpreter Group (prtInterpreterTable) has one entry per interpreter, covering both Page Description Language (PDL) interpreters and Control Language interpreters. Each entry reports interpreter type, default character sets for input/output, and feedback (ISO two-character language and country codes).

snmp

protocol-element §2.2

The Printer MIB is organized into 13 sub-unit groups: General Printer, Input, Media, Output, Finisher, Marker, Marker Supplies, Marker Colorant, Media Path, Channel, Interpreter, Console, and Alerts. Each sub-unit reports description and status information; only Alerts reports event information.

snmp

protocol-element §5

The prtGeneralTable (OID printmib 5) provides overall printer control and status, indexed by hrDeviceIndex from the Host Resources MIB. It includes configuration change counter, localization selection, reset control, and references to default input/output/marker/media-path sub-units.

snmp

protocol-element §5.2

The prtLocalizationTable identifies each supported natural language, country, and character set. Language is a two-character ISO 639 code (e.g., EN, FR, DE); country is a two-character ISO 3166 code; character set is a CodedCharSet value referencing the IANA Character Set registry.

snmp

registry §4

Character set enumeration values (CodedCharSet) are maintained in the IANA Character Set registry at ftp.isi.edu /in-notes/iana/assignments/character-sets. The MIBenum field in the registry provides the INTEGER enumeration value; the 'cs'-prefixed Alias provides the symbol name. New entries submitted to [email protected].

registry

registry §2.4.1

Three enumeration registration types are defined: type-1 (all values in the Printer MIB RFC, new values require a new RFC), type-2 (initial values in the RFC, additions registered through IANA after working group approval), type-3 (initial values in the RFC, additions registered through IANA without working group review).

registry, snmp

security-consideration §27

Security considerations for the Printer MIB are identified in Section 27. The MIB includes writable objects (e.g., prtGeneralReset, input tray configuration) that could be misused by unauthorized parties to disrupt printer operation, reset the device, or alter reported resource states — standard SNMP community-based or SNMPv2 access controls are the expected mitigation.

security, snmp

state-machine §2.2.13.4

Alert Table management distinguishes binary change events (leading-edge adds an entry; trailing-edge removes it — no overflow possible if enough storage) from simple change events (state changes without a mandatory return, e.g. paper-size change). Simple change events must be aged out when the table is full.

snmp

state-machine §2.2.13.2

Overall printer status is mapped from three Host MIB objects (hrDeviceStatus, hrPrinterStatus, hrPrinterDetectedErrorState) to seven named states: Normal (running/idle/none), Busy (running/printing), Non-Critical Alert Active (warning), Critical Alert Active (down/other), Unavailable (down/other), Moving off-line (warning/offline), Moving on-line (down/warmup), Standby (running/other). Concurrent critical and non-critical alerts collapse to Critical Active.

snmp

wire-format §2.2.13.2.1

hrPrinterDetectedErrorState is an OCTET STRING with error conditions encoded as bits: lowPaper=bit 0, noPaper=bit 1, lowToner=bit 2, noToner=bit 3, doorOpen=bit 4, jammed=bit 5, offline=bit 6, serviceRequested=bit 7. Bits are numbered from the most significant bit of the first byte.

snmp

wire-format §4

Media dimensions are expressed using MediaUnit (tenThousandthsOfInches=3 or micrometers=4) and CapacityUnit (tenThousandthsOfInches=3, micrometers=4, sheets=8, feet=16, meters=17). These are type-1 enumerations requiring an RFC for new values.

snmp

wire-format §2.2.13.2.2

SubUnitStatus is an INTEGER in the range 0..126, formed as the arithmetic sum of five independent bit fields: Availability (0/1/2/3/4/5/6), Non-Critical alert (0 or 8), Critical alert (0 or 16), On-Line intent (0 or 32), and Transitioning (0 or 64). Example: a jammed tray with low paper = 27 (3+16+8).

snmp

wire-format §4

The CodedCharSet textual convention uses INTEGER values divided into three regions: 3-999 for standard character sets (MIBenum from IANA), 1000-1999 for Unicode/ISO 10646 subsets, and 2000+ for vendor-specific sets. The value 'other(1)' is used when the set is not enumerated.

snmp, registry