Till,
I'm planning to update all Ricoh PPD files (1393 of them) to include "*1284DeviceID". This is part of the effort to make them work with PackageKit.
What should I do to make you able to generate/tag PPD package? I'll put in <ieee1284> tag in each printer.xml file?
Will the PPD package not depending on LSB? How do I specify that the package has dependency on foomatic-rip? There's no fedora package for foomatic-rip?
Which part in the driver.xml file will become package description? <Comment>? <ShortDescription>?
Tim,
If printer does not support 1284DeviceID mib, do you think you can flex s-c-p a bit so it could "generate" deviceID based on make-and-model IPP attribute? I really like to see this part to be enhanced in RHEL6 and Fedora.
Thanks George
-----Original Message----- From: George Liu Sent: Tuesday, May 04, 2010 5:26 PM To: Tim Waugh Cc: system-config-printer-devel@lists.fedorahosted.org; Till Kamppeter; Bin Li Subject: RE: Tagging PPD package with DeviceID.
Tim,
I installed Fedora 13 Beta and tried out System-Config-Printer. It's able to find the Ricoh network printers, but unable to find a PPD file.
"lpinfo --include-schemes=dnssd,snmp -l -v" found the following printers. None of the printers support 1284DeviceID MIB. * One with Bonjour support, (I guess CUPS retrieves device-id using Bonjour), * Another without Bonjour support, and CUPS found it using SNMP.
"Search for a printer driver to download" does not return any drivers.
------------------------------------------------------------------------ ------------- Device: uri = dnssd://RICOH%20Aficio%20MP%20C3500._pdl-datastream._tcp.local/ class = network info = RICOH Aficio MP C3500 make-and-model = RICOH RICOH Aficio MP C3500 device-id = MFG:RICOH;MDL:Aficio MP C3500 location =
Device: uri = socket://172.30.4.243 class = network info = RICOH Aficio MP 2550 make-and-model = RICOH Aficio MP 2550 device-id = location =
------------------------------------------------------------------------ -------------
I then tried to build pycups and system-config-printer (Thanks for the instruction).
I run the build version, and it gave me some log messages.
Got PPDs No ID match for device socket://172.30.4.243:9100: <manufacturer>RICOH</manufacturer> <model>Aficio MP 2550</model> <description>RICOH Aficio MP 2550</description> <commandset></commandset> Using textonly.ppd (status: 3) Will fetch ppd? 0
Got PPDs No ID match for device socket://172.30.4.173:9100: <manufacturer>RICOH</manufacturer> <model>Aficio MP C3500</model> <description>RICOH Aficio MP C3500</description> <commandset></commandset> Using textonly.ppd (status: 3) Will fetch ppd? 0
<manufacturer> and <model> tag for both printers are correct. There's no <deviceid> tag for either of them. Is it right?
Thanks George
-----Original Message----- From: Tim Waugh [mailto:twaugh@redhat.com] Sent: Fri 4/30/2010 3:30 AM To: George Liu Cc: system-config-printer-devel@lists.fedorahosted.org; Till Kamppeter; Bin Li Subject: Re: Tagging PPD package with DeviceID.
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. */