- Package:
- foomatic-db-engine
- Source:
- foomatic-db-engine
- Description:
- OpenPrinting printer support - programs
- Submitter:
- Yann Dirson
- Date:
- 2012-12-04 22:30:03 UTC
- Severity:
- normal
There are apparently 3 CUPS drivers in Debian for the Pixma iP3000: gutenprint.5.2://bjc-PIXMA-iP3000/expert foomatic:Canon-PIXMA-iP3000-gutenprint-ijs.5.2.ppd foomatic:Canon-PIXMA-iP3000-gutenprint-ijs-simplified.5.2.ppd If I try to use one of the latter two in CUPS, I get the following errors when selecting them from the Web UI (here copied from cups/error_log): E [02/Dec/2012:16:10:17 +0100] [CGI] Could not determine driver name for Canon-PIXMA-iP3000-gutenprint-ijs.5.2.ppd! E [02/Dec/2012:16:10:17 +0100] copy_model: empty PPD file E [02/Dec/2012:16:10:17 +0100] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/Canon_iP3000_gutenprint_ijs) from localhost E [02/Dec/2012:16:10:23 +0100] [CGI] Could not determine driver name for Canon-PIXMA-iP3000-gutenprint-ijs-simplified.5.2.ppd! E [02/Dec/2012:16:10:23 +0100] copy_model: empty PPD file E [02/Dec/2012:16:10:23 +0100] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/Canon_iP3000_gutenprint_ijs) from localhost The problem seems to come from /usr/lib/cups/driver/foomatic itself - whereas ".../foomatic cat <drv>" works with drivers that specify a last field with many info (MFG, etc), there seems to be a problem with those that only show DRV there, which seem to be all those shown by "/usr/lib/cups/driver/foomatic list | grep -v MFG" # /usr/lib/cups/driver/foomatic list | grep -i ip3000 "foomatic:Canon-PIXMA-iP3000-gutenprint-ijs.5.2.ppd" en "Canon" "Canon PIXMA-iP3000 Foomatic/gutenprint-ijs.5.2" "DRV:Dgutenprint-ijs.5.2,M0,TF;" "foomatic:Canon-PIXMA-iP3000-gutenprint-ijs-simplified.5.2.ppd" en "Canon" "Canon PIXMA-iP3000 Foomatic/gutenprint-ijs-simplified.5.2" "DRV:Dgutenprint-ijs-simplified.5.2,M0,TF;" # /usr/lib/cups/driver/foomatic cat "foomatic:Canon-PIXMA-iP3000-gutenprint-ijs.5.2.ppd" ERROR: Could not determine driver name for Canon-PIXMA-iP3000-gutenprint-ijs.5.2.ppd! # /usr/lib/cups/driver/foomatic cat "foomatic:Canon-PIXMA-iP3000-gutenprint-ijs-simplified.5.2.ppd" ERROR: Could not determine driver name for Canon-PIXMA-iP3000-gutenprint-ijs-simplified.5.2.ppd! # /usr/lib/cups/driver/foomatic cat "foomatic:Epson-PictureMate_260-gutenprint-ijs.5.2.ppd"|head -1 ERROR: Could not determine driver name for Epson-PictureMate_260-gutenprint-ijs.5.2.ppd! # /usr/lib/cups/driver/foomatic cat "foomatic:Epson-Stylus_T20-gutenprint-ijs.5.2.ppd"|head -1 ERROR: Could not determine driver name for Epson-Stylus_T20-gutenprint-ijs.5.2.ppd! ...
I have no idea why CUPS is using foomatic drivers here. The native CUPS driver is preferred. Do you have the ijsgutenprint package installed? I'm afraid I can't help with the specifics of the foomatic issue itself since I'm not a foomatic expert. [Given the pain they cause, it might be best to remove the gutenprint foomatic packages entirely for jessie.] Regards, Roger
It was a test I wanted to do, to check if the foomatic one would support features not found in the gutenprint one (notably head cleaning) yes Well, I can't tell if there are printers for which they are useful. But there are definitely things that could be improved, like making sure drivers for a single printer sort close enough in the list :)
It's exactly the same driver, just using the foomatic/ijsgutenprint/ijs/gs workflow instead of the native CUPS driver. It's really only useful for people using non-CUPS spoolers like LPRng. It would be much less effort for the other spoolers to just support using CUPS filters! The foomatic stuff for gutenprint appears to break reasonably often--at least, that's the impression I get from the bug reports. I thought that it was ordered by manufacturer/model, with the driver in parentheses following (at least in the web UI). Regards, Roger
Ah ok.
[somewhat off-topic wrt to the bug subject] Maybe there could be some
way to make this more obvious at first sight - I mean even if the
foomatic-based chain gets removed from CUPS, if it stays for other
spoolers maybe some wordings could be improved to make it clear they
are not completely different (eg. so people not entirely satisfied
with the cups driver don't go configuring lprng to check whether the
foomatic driver is any better).
Maybe what's missing would be something like identifying in driver
package descriptions what protocol is used to talk to those drivers,
maybe what other packages ship the same drivers for a different
protocol (if such a situation exists), and identifying protocol
adapters as such ? I admit I'm a bit lost between foomatic-db (which
advertises working with CUPS, but if I understand you well should
usually not be chosen for this use case), openprinting-ppds (which
tells when you don't need the package but not when you need it), and
printer-driver-* (not all of which tell they target CUPS). Ugh :)
There are different separators (spaces fro gutenprint vs. hyphens for
foomatic ones), which cause them to be grouped separately.
ie. "Canon PIXMA iP3000 - CUPS+Gutenprint v5.2.9"
"Canon PIXMA iP3100 - CUPS+Gutenprint v5.2.9"
...
"Canon PIXMA MX ..."
...
then only after many more lines:
...
"Canon PIXMA-iP3000 Foomatic/gutenprint-ijs.5.2"