[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#868360: cups-filters-core-drivers: driverless sets bizarre 600x2 resolution



On Sun 16 Jul 2017 at 14:38:44 +0000, brian m. carlson wrote:

> On Sun, Jul 16, 2017 at 12:34:05AM +0100, Brian Potkin wrote:
> > On Sat 15 Jul 2017 at 19:40:04 +0000, brian m. carlson wrote:
> > > * Validate data.  Nobody is going to print a two-pixel raster image, and
> > >   cups should not accept it as a valid (and in this case, the only
> > >   valid) option.
> > 
> > cups and cupsfilters have both accepted and fixed past bugs in their
> > implementation of driverless printing. In some cases cups has made
> > allowances for deficiencies in a manufacturer's implementaion of IPP
> > Everywhere. But where does it end?
> > 
> > Assuming this is a firmware bug, doesn't the vendor (who after all is
> > using a well defined standard) have the reponsibility, especially if
> > the issue is drawn to their attention by an affected user? If AirPrint
> > was involved you could well imagine they would jump to it.
> 
> I have put in a support request with them.  However, I have no way to
> prove that this actually affects AirPrint, as I don't have any modern
> Apple devices.  I'm pretty sure my alternative is going to be returning
> the printer.
> 
> I will say that cups is clearly accepting invalid data.  How can a
> printer have a resolution of 600 dpi and only accept 600x2 raster
> images?  If the printer returned 600x-1 resolution, would cups accept
> that as well?

It would interesting to know Brother's response.
 
> > > * Use the printer resolution instead of the PWG resolution when
> > >   generating raster images.  At the very least, these should be
> > >   resolution options for configuration in addition to the PWG
> > >   resolution.
> > 
> > Surely the printer resolution is what is returned by an IPP query?
> > Either that, or it is in a supplied PPD.
> 
> The printer resolution is indeed returned in an IPP query, as you'll see
> in the data provided.  However, cups only accepts the PWG raster format
> resolution and ignores the printer resolution.  If the driverless
> printing option provided all three resolution options (600 dpi, 600x2400
> dpi, and 600x2 dpi), it would be easy to simply configure the printer to
> use one of the other options as a default.
> 
> I do view this aspect as a bug in cups.  I should be able to pick any
> resolution that the printer supports.

When it generates a PPD cups-browsed does fill in missing essential
options with defaults. Whether it corrects values for attributes (or
whether it is seen as desirable to do so) I do not know.
 
> The vendor does not supply a plain PPD for Linux.  They provide a
> proprietary driver.  While that may work for my x86 machines, that will
> not work for my ARM, MIPS, or PowerPC machines.

 > I made a suggestion on -user a week or two ago about this issue but no
 > response came back. I will repeat it here:
 >
 > The PPD in /etc/cups/ppd has a line beginning *cupsFilter:..... .
 > Alter the line to read
 >
 >    *cupsFilter: "application/vnd.cups-raster 50 rastertohp"
 >
 > Restart cups and do
 >
 >    lp -d <queue_name> /etc/nsswitch
 >
 > That file prints out perfectly on my PCL/PCLX capable LaserJet. (I
 > used a Brother PPD, with the altered line, for your printer).
 >
 >I am unsure about "50" in the *cupsFilter: line. "0" might be better.

-- 
Brian.


Reply to: