On Thu, 2010-04-29 at 16:22 -0700, George Liu wrote:
Although Port Monitor MIB has been 4-5 years old, it has not been adopted by all printer manufactures. Most Ricoh devices do not support it. Combined with the seven brands we have, Ricoh has 23.1% copier market share in the US in 2009. http://www.ricoh-usa.com/about/press/releases.asp?id=620 I believe Ricoh has similar market share in Europe and Japan as well.
But all these printers do actually have IEEE 1284 Device IDs, don't they? They surely just use other means for providing them. Perhaps there is a different SNMP OID that must be used to query them?
There is precedent in the CUPS SNMP backend for using OIDs outside the Printer MIB, so I expect this is something that could be worked around in CUPS.
Then, the next question become how do s-c-p matches a device to a PPD file. Can you elaborate on this session?
If it's a network printer, we use the Device ID that CUPS gives us: to choose a network printer, we ask CUPS for a list of devices from schemes 'dnssd' and 'snmp', and each of those backends reports Device IDs for the network devices they discover, when possible.
We basically do the equivalent of this inside system-config-printer: lpinfo --include-schemes=dnssd,snmp -l -v
Of course we don't actually run that command, instead it is done with an IPP request (via the CupsPkHelper D-Bus mechanism when possible). But the effect is the same: cupsd receives the IPP request, asks its backends to look for devices, and reports the results back.
The snmp backend tries several different OIDs, including the relevant ones from the Printer MIB, to determine the IEEE 1284 Device ID of each printer it gets a response from.
Tim. */