rfc-3805

Printer MIB v2

R. Bergman, H. Lewis, I. McDonald
date2004-06 streamIETF areaapp wgprintmib statusPROPOSED STANDARD pages171 canonicalhttps://www.rfc-editor.org/rfc/rfc3805 doi10.17487/RFC3805
This document provides definitions of models and manageable objects for printing environments. The objects included in this MIB apply to physical, as well as logical entities within a printing device. This document obsoletes RFC 1759. [STANDARDS-TRACK]

obsoletes

Extracted elements (26)

design-rationale §2.2.13.3

A single Alert Table rather than per-group alert associations was chosen because one sub-unit entry can produce multiple simultaneous alerts (e.g., paper jams in multiple locations along a media path). Associating additional alert information with the source entry would limit it to one alert per entry.

snmp

design-rationale §2.3

Read-write access is granted to objects describing resources that some printers cannot sense (e.g., paper size in a tray). The criterion is that the printer must actually act on the written value — these objects drive printer behavior and are not merely informational annotations.

snmp

design-rationale §2.4

The special Integer32 sentinel values other(-1), unknown(-2), and partial(-3) were introduced to express conditions outside normal numeric ranges (e.g., some supply remaining but amount indeterminate) without requiring separate status objects alongside every numeric measurement.

snmp

interoperability-note §5

IPP channels (chIPP, value 44) use the prtChannelInformation object to carry a mandatory URI keyword (UTF-8, RFC 2396), an optional Auth keyword specifying authentication mechanism (none, requesting-user-name, basic, digest, certificate), and a Security keyword; an IPP Printer shall list all supported IPP URIs, one per channel entry.

snmp, http

interoperability-note §4

RFC 3805 is backward compatible with RFC 1759: a compliant RFC 1759 implementation is also compliant with RFC 3805. The nine new objects added (prtAuxiliarySheetStartupPage, prtGeneralPrinterName, prtGeneralSerialNumber, prtAlertCriticalEvents, prtAlertAllEvents, etc.) appear in optional GROUP rather than MANDATORY-GROUP conformance clauses.

snmp

interoperability-note §2.2.13.4

The Alert Index is a monotonically increasing integer; gaps in table index values signal that entries were deleted. Management applications detecting such gaps should re-acquire full printer state to detect state changes not captured in the trimmed Alert Table.

snmp

interoperability-note §2.4.1

Type 1 textual conventions (defined solely in the Printer MIB) require a new Printer MIB RFC for any additional enumerated values. Type 2 textual conventions (registered in the IANA Printer MIB) allow additions via Designated Expert Review without republishing the Printer MIB.

registry, snmp

normative-requirement §3.3 MUST

All objects in the Interfaces Group of MIB-II SHALL be implemented for all print information interfaces, including non-network interfaces such as serial and parallel ports.

snmp

normative-requirement §3.1 MUST

All objects in the system group of MIB-II SHALL be implemented. The storage and device groups of the Host Resources MIB (RFC 2790) SHALL be implemented to support the printer system controller.

snmp

normative-requirement §2.2.13.4 SHOULD

If a critical binary alert was deleted from the table due to overflow and the alert condition still exists, the alert SHOULD be re-added when space allows, even without a subsequent state transition. This is also recommended for non-critical binary alerts.

snmp

normative-requirement §2.3 MUST

If the value of any MIB object persists across power cycles or cold starts, then prtMarkerLifeCount MUST also persist; its value must be maintained throughout the lifetime of the printer.

snmp

normative-requirement §2.2.1.1 MUST

The agent SHALL return all character strings in coded character sets where code positions 0–127 (decimal) are US-ASCII. Control codes (positions 0–31 and 127) SHALL NOT be used unless specifically required in an object DESCRIPTION clause.

snmp

normative-requirement §2.2.1.1 SHOULD

The agent SHOULD return all character strings in the UTF-8 transform of ISO 10646 to conform with the IETF Policy on Character Sets and Languages (RFC 2277). Localization SHOULD only be performed on objects named 'xxxDescription' or 'prtConsoleDisplayBufferText'.

snmp

normative-requirement §2.2.13.4 SHOULD

When the Alert Table overflows, the agent must delete alerts in priority order: (1) oldest non-critical unary alert, (2) oldest non-critical binary alert, (3) oldest critical binary alert. Implementers are encouraged to provision storage for the maximum number of simultaneous critical alerts.

snmp

protocol-element §2.2

A printer is modeled as 13 sub-unit types: General Printer, Inputs, Media, Outputs, Finishers, Markers, Media Paths, System Controller (Host Resources MIB), Interfaces (MIB-II), Print Job Delivery Channels, Interpreters, Console, and Alerts. Sub-units may be logical processes rather than physical mechanisms.

snmp

protocol-element §2.2.13.4

Alerts are classified as binary change events (paired leading/trailing edge, e.g., paper jam) or unary change events (e.g., configuration change). Only leading-edge binary events create table entries; the trailing edge removes them. Unary events create entries with no natural removal trigger.

snmp

protocol-element §2.2.13.3

The Alert Table records all currently active alerts, each with severity (critical/non-critical), the affected Group and entry index, a more detailed location, an alert code, description, and the level of operator training needed to service the condition.

snmp

protocol-element §2.2.11

The Interpreter sub-unit handles conversion of PDL or Control Language descriptions into marked images. The Interpreter Table has one entry per interpreter; prtInterpreterDefaultCharSetIn and prtInterpreterDefaultCharSetOut specify default coded character sets for that interpreter.

snmp

protocol-element §2.2.10

The Print Job Delivery Channel sub-unit identifies each independent source of print data by its electronic path and service protocol. It can be independently enabled or disabled, carries a current Control Language, and has a default interpreter used when none is explicitly specified.

snmp

registry §5

PrtChannelTypeTC enumerates 45 channel types. Legacy deprecated values include chPort9100(11), chDCERemoteProcCall(22), chONCRemoteProcCall(23), chOLE(24), chDLLAPI(29), chVxDAPI(30). Current types include chPortTCP(37), chBidirPortTCP(38), chIPP(44), and chSMTP(45, new in RFC 3805).

registry, snmp

registry §5

PrtCoverStatusTC enumerates cover/interlock states: other(1), coverOpen(3), coverClosed(4), interlockOpen(5), interlockClosed(6). PrtGeneralResetTC enumerates reset modes: notResetting(3), powerCycleReset(4, cold start), resetToNVRAM(5, warm start), resetToFactoryDefaults(6).

registry, snmp

registry §5

The IANA Printer MIB module is assigned OID mib-2 109 (LAST-UPDATED 2004-06-02) and defines printing-related TEXTUAL-CONVENTIONs for use in Printer MIB (RFC 3805), Finisher MIB (RFC 3806), and other MIBs. Additions require RFC publication or Designated Expert Review per RFC 2434.

registry, snmp

security-consideration §9

The Printer MIB exposes read-write objects that directly affect device behavior, including prtGeneralReset (power cycle, factory defaults), channel enable/disable controls, and media configuration. Implementations must apply SNMPv3 access control (RFC 3410) to prevent unauthorized modification; unauthenticated or unencrypted SNMP access to these objects creates denial-of-service and configuration-tampering risks.

security, snmp

state-machine §2.2.13.2

Overall printer status is reported via the Host Resources MIB triple (hrDeviceStatus, hrPrinterStatus, hrPrinterDetectedErrorState): Idle=(running,idle,none); Busy/Active=(running,printing,—); Non-Critical Alert=(warning,idle or printing,lowPaper/lowToner/serviceRequested); Critical Alert=(down,other,jammed/noPaper/noToner/coverOpen); Unavailable=(down,other,—); Off-line=(down,other,offline); Moving on-line=(down,warmup,—); Standby=(running,other,—).

snmp

wire-format §2.2.13.2.1

hrPrinterDetectedErrorState is an OCTET STRING (SIZE 0..128) with bit-encoded error flags: bit 0=lowPaper, 1=noPaper, 2=lowToner, 3=noToner, 4=doorOpen, 5=jammed, 6=offline, 7=serviceRequested, 8=inputTrayMissing, 9=outputTrayMissing, 10=markerSupplyMissing, 11=outputNearFull, 12=outputFull, 13=inputTrayEmpty, 14=overduePreventMaint. Bit 0 is the MSB of byte 1.

snmp

wire-format §2.2.13.2.2

PrtSubUnitStatusTC is an Integer32 formed as the additive sum of five independent status dimensions: Availability (0/1/2/3/4/5/6), Non-Critical alert flag (0 or 8), Critical alert flag (0 or 16), On-Line flag (0 or 32), and Transitioning flag (0 or 64). For example, a jammed tray also low on paper yields 3+16+8=27.

snmp