What SNMP Printer MIB objects should be carried forward? - responses from Ira McDonald on 20060823 - see footnotes identified in square brackets SNMP Object Name A B C Comments & Notes prtGeneral 0 prtGeneralTable 0 prtGeneralEntry 0 prtGeneralConfigChanges 1 Device event trigger [1] prtGeneralCurrentLocalization 1 Already mapped [2] prtGeneralReset 1 Bad command object [4] prtGeneralCurrentOperator 1 prtGeneralServicePerson 1 NMS trouble tickets [10] prtInputDefaultIndex 1 Defaults/Chaining [11] prtOutputDefaultIndex 1 Defaults/Chaining [11] prtMarkerDefaultIndex 1 Defaults/Chaining [11] prtMediaPathDefaultIndex 1 Defaults/Chaining [11] prtConsoleLocalization 1 Should be mapped [3] prtConsoleNumberOfDisplayLines 1 prtConsoleNumberOfDisplayChars 1 prtConsoleDisable 1 Bad command object [4] prtAuxiliarySheetStartupPage 1 Desirable [5] prtAuxiliarySheetBannerPage 1 Desirable [5] prtGeneralPrinterName 1 Desirable [5] prtGeneralSerialNumber 1 Important [5] prtAlertCriticalEvents 1 Important [5] prtAlertAllEvents 1 Important [5] prtCover 0 prtCoverTable 0 prtCoverEntry 0 prtCoverIndex 1 Indices are Keys [6] prtCoverDescription 1 Description object [7] prtCoverStatus 1 Status object [8] prtLocalization 0 prtLocalizationTable 0 prtLocalizationEntry 0 prtLocalizationIndex 1 prtLocalizationLanguage 1 Already mapped [2] prtLocalizationCountry 1 Already mapped [2] prtLocalizationCharacterSet 1 Already mapped [2] prtStorageRefTable 0 prtStorageRefEntry 0 prtStorageRefSeqNumber 1 prtStorageRefIndex 1 prtDeviceRefTable 0 prtDeviceRefEntry 0 prtDeviceRefSeqNumber 1 prtDeviceRefIndex 1 prtInput 0 prtInputTable 0 prtInputEntry 0 prtInputIndex 1 Indices are Keys [6] prtInputType 1 Types [16] prtInputDimUnit 1 Units are needed [12] prtInputMediaDimFeedDirDeclared 1 Dimensions/Limits [14] prtInputMediaDimXFeedDirDeclared 1 Dimensions/Limits [14] prtInputMediaDimFeedDirChosen 1 prtInputMediaDimXFeedDirChosen 1 prtInputCapacityUnit 1 Units are needed [12] prtInputMaxCapacity 1 Status object [8] prtInputCurrentLevel 1 Status object [8] prtInputStatus 1 Status object [8] prtInputMediaName 1 Names are Keys [13] prtInputName 1 Names are Keys [13] prtInputVendorName 1 prtInputModel 1 Model object [9] prtInputVersion 1 Description object [7] prtInputSerialNumber 1 prtInputDescription 1 Description object [7] prtInputSecurity 1 Bad command object [4] prtInputMediaWeight 1 prtInputMediaType 1 Types [16] prtInputMediaColor 1 Description object [7] prtInputMediaFormParts 1 prtInputMediaLoadTimeout 1 prtInputNextIndex 1 Defaults/Chaining [11] prtOutput 0 prtOutputTable 0 prtOutputEntry 0 prtOutputIndex 1 Indices are Keys [6] prtOutputType 1 Types [16] prtOutputCapacityUnit 1 Units are needed [12] prtOutputMaxCapacity 1 Status object [8] prtOutputRemainingCapacity 1 Status object [8] prtOutputStatus 1 Status object [8] prtOutputName 1 Names are Keys [13] prtOutputVendorName 1 prtOutputModel 1 Model object [9] prtOutputVersion 1 Description object [7] prtOutputSerialNumber 1 prtOutputDescription 1 Description object [7] prtOutputSecurity 1 Bad command object [4] prtOutputDimUnit 1 Units are needed [12] prtOutputMaxDimFeedDir 1 Dimensions/Limits [14] prtOutputMaxDimXFeedDir 1 Dimensions/Limits [14] prtOutputMinDimFeedDir 1 Dimensions/Limits [14] prtOutputMinDimXFeedDir 1 Dimensions/Limits [14] prtOutputStackingOrder 1 Order/Orientation [15] prtOutputPageDeliveryOrientation 1 Order/Orientation [15] prtOutputBursting 1 prtOutputDecollating 1 prtOutputPageCollated 1 prtOutputOffsetStacking 1 prtMarker 0 prtMarkerTable 0 prtMarkerEntry 0 prtMarkerIndex 1 Indices are Keys [6] prtMarkerMarkTech 1 prtMarkerCounterUnit 1 Units are needed [12] prtMarkerLifeCount 1 Status object [8] prtMarkerPowerOnCount 1 Status object [8] prtMarkerProcessColorants prtMarkerSpotColorants 1 prtMarkerAddressabilityUnit 1 Units are needed [12] prtMarkerAddressabilityFeedDir 1 Dimensions/Limits [14] prtMarkerAddressabilityXFeedDir 1 Dimensions/Limits [14] prtMarkerNorthMargin 1 prtMarkerSouthMargin 1 prtMarkerWestMargin 1 prtMarkerEastMargin 1 prtMarkerStatus 1 Status object [8] prtMarkerSupplies 0 prtMarkerSuppliesTable 0 prtMarkerSuppliesEntry 0 prtMarkerSuppliesIndex 1 Indices are Keys [6] prtMarkerSuppliesMarkerIndex 1 Indices are Keys [6] prtMarkerSuppliesMarkerIndex 1 Indices are Keys [6] prtMarkerSuppliesClass 1 Types [16] prtMarkerSuppliesType 1 Types [16] prtMarkerSuppliesDescription 1 Description object [7] prtMarkerSuppliesSupplyUnit 1 Units are needed [12] prtMarkerSuppliesMaxCapacity 1 Status object [8] prtMarkerSuppliesLevel 1 Status object [8] prtMarkerColorant 0 prtMarkerColorantTable 0 prtMarkerColorantEntry 0 prtMarkerColorantIndex 1 Indices are Keys [6] prtMarkerColorantMarkerIndex 1 Indices are Keys [6] prtMarkerColorantRole 1 Types [16] prtMarkerColorantValue 1 Description object [7] prtMarkerColorantTonality 1 Dimensions/Limits [14] prtMediaPath 0 prtMediaPathTable 0 prtMediaPathEntry 0 prtMediaPathIndex 1 Indices are Keys [6] prtMediaPathMaxSpeedPrintUnit 1 Units are needed [12] prtMediaPathMediaSizeUnit 1 Units are needed [12] prtMediaPathMaxSpeed 1 Dimensions/Limits [14] prtMediaPathMaxMediaFeedDir 1 Dimensions/Limits [14] prtMediaPathMaxMediaXFeedDir 1 Dimensions/Limits [14] prtMediaPathMinMediaFeedDir 1 Dimensions/Limits [14] prtMediaPathMinMediaXFeedDir 1 Dimensions/Limits [14] prtMediaPathType 1 Types [16] prtMediaPathDescription 1 Description object [7] prtMediaPathStatus 1 Status object [8] prtChannel 0 prtChannelTable 0 prtChannelEntry 0 prtChannelIndex 1 Indices are Keys [6] prtChannelType 1 Types [16] prtChannelProtocolVersion 1 Description object [7] prtChannelCurrentJobCntlLangIndex 1 Status object [8] prtChannelDefaultPageDescLangIndex 1 Defaults/Chaining [11] prtChannelState 1 Status object [8] prtChannelIfIndex 1 Indices are Keys [6] prtChannelStatus 1 Status object [8] prtChannelInformation 1 Description object [7] prtInterpreter 0 prtInterpreterTable 0 prtInterpreterEntry 0 prtInterpreterIndex 1 Indices are Keys [6] prtInterpreterLangFamily 1 Description object [7] prtInterpreterLangLevel 1 Description object [7] prtInterpreterLangVersion 1 Description object [7] prtInterpreterDescription 1 Description object [7] prtInterpreterVersion 1 Description object [7] prtInterpreterDefaultOrientation 1 Defaults/Chaining [11] prtInterpreterFeedAddressability 1 Dimensions/Limits [14] prtInterpreterXFeedAddressability 1 Dimensions/Limits [14] prtInterpreterDefaultCharSetIn 1 Defaults/Chaining [11] prtInterpreterDefaultCharSetOut 1 Defaults/Chaining [11] prtInterpreterTwoWay 1 Description object [7] prtConsoleDisplayBuffer 0 prtConsoleDisplayBufferTable 0 prtConsoleDisplayBufferEntry 0 prtConsoleDisplayBufferIndex 1 Indices are Keys [6] prtConsoleDisplayBufferText 1 Status object [8] prtConsoleLights 0 prtConsoleLightTable 0 prtConsoleLightEntry 0 prtConsoleLightIndex 1 Indices are Keys [6] prtConsoleOnTime 1 Dimensions/Limits [14] prtConsoleOffTime 1 Dimensions/Limits [14] prtConsoleColor 1 Description object [7] prtConsoleDescription 1 Description object [7] prtAlert 0 prtAlertTable 0 prtAlertEntry 0 prtAlertIndex 1 Indices are Keys [6] prtAlertSeverityLevel 1 Status object [8] prtAlertTrainingLevel 1 Status object [8] prtAlertGroup 1 Description object [7] prtAlertGroupIndex 1 Indices are Keys [6] prtAlertLocation 1 Status object [8] prtAlertCode 1 Status object [8] prtAlertDescription 1 Description object [7] prtAlertTime 1 Status object [8] printerV1Alert 0 printerV2AlertPrefix 0 printerV2Alert 0 Notes: [1] WIMS Events.xsd defines REQUIRED 'DeviceConfigChanged' and IPP Notifications (RFC 3995) defines OPTIONAL 'PrinterConfigChanged'. Printer MIB v2 'PrtAlertCodeTC' defines 'configurationChange' trap _triggered_ by the change in 'prtGeneralConfigChanges' - this is NOT just "left over from SNMP polling" - a special mapping may be needed to restrict CIM property to other CIM-visible properties. [2] 'prtGeneralCurrentLocalization' already mapped to 'CurrentCharset' and 'CurrentNaturalLanguage' - no work for Phase 2. [3] WIMS Subunits.xsd defines REQUIRED 'ConsoleNaturalLanguage' for the 'Console' subunit (charset is fixed at UTF-8 for WIMS/PWG SM). [4] 'prtGeneralReset', 'prtConsoleDisable', 'prtInputSecurity', and 'prtOutputSecurity' are bad read-write command objects! 'prtConsoleDisable' is especially dangerous (it can remotely lock the local device console - a terrible "feature"). [5] With strong industry concensus all of these new general objects were added to Printer MIB v2 - they SHOULD NOT be left out of CIM. [6] Index objects in the Printer MIB are _keys_ and REQUIRED in WIMS Subunits.xsd - implicit ordering (in an array) will fail because indices in Printer MIB tables are NOT required to be contiguous and frequenting have 'holes' in practice. Rick's comment on 'prtCoverIndex' confuses events and status (can be rolled) with device capabilities (lists of specific configuration). The lists of all basic subunits (Covers, Input, etc.) SHOULD be included in CIM. [7] Description objects are REQUIRED and localized in the Printer MIB. Descriptions of all basic subunits (Covers, Input, etc.) SHOULD be included in CIM. [8] Status objects are REQUIRED in Printer MIB and WIMS Subunits.xsd. [9] Model objects are desirable in CIM. Ricks' comment that they're implied by 'sysDescr' and 'hrDeviceDescr' is incorrect - third parties manufacture stackers, bins, etc. for many laser printers. [10] Existing NMS plug-ins write "trouble tickets" using the value of 'prtGeneralServicePerson' - this is useful remotely. [11] Defaults (e.g., 'prtInputDefaultIndex') and input tray chaining (i.e., 'prtInputNextIndex') are important configuration elements. [12] Units (e.g., 'prtInputDimUnit') are needed (unless the DMTF CIM mapping forces conversion to a fixed unit for the element). [13] Name objects in the Printer MIB are alternate keys and RECOMMENDED in WIMS 'Subunits.xsd' - WIMS allows searching by id, name, or URI. [14] Dimensions and limits (e.g., 'prtInputMediaDimFeedDirDeclared') are important configuration elements. [15] 'prtOutputStackingOrder' and 'prtOutputPageDeliveryOrientation' are not as obsolete as Rick's note implies - Fuji Xerox currently makes some face-up and some face-down printer engines. [16] Type objects (e.g., 'prtInputType' and 'prtMarkerMarkTech') are important machine-readable descriptive elements.