[cups.bugs] [MOD] STR #1773: LP_PERRORP check does not work with Minolta printer

martin.pitt.canonical martin.pitt at canonical.com
Tue Jun 13 12:22:09 PDT 2006


[STR New]

Hi!

As reported in https://launchpad.net/bug/37554, cups 1.2 does not work any
more with the Minolta PagePro 1300W when using USB (it is reported to work
fine with the parallel backend). The reporter gets

  W [26/May/2006:20:56:38 +0200] [Job 71] Printer fault!

every 5 seconds, which is due to

while (!ioctl(fd, LPGETSTATUS, &status)){
[...]
   if (!(status & LP_PERRORP))
      fputs("WARNING: Printer fault!\n", stderr);
[...]

in backend/usb-unix.c. According to the debug string, the printer just
sends 0x00 as status and is therefore trapped in an infinite loop. When
doing

- while (!ioctl(fd, LPGETSTATUS, &status))
+ while (!ioctl(fd, LPGETSTATUS, &status) && status != 0)

it was reported to work fine again.

However, since LP_PERRORP is active low, the current code looks correct;
this seems to be a Minolta quirk. Earlier cups versions did not check the
status and thus worked fine.

Do you see a way to remedy this, i. e. work around that Minolta
misbehaviour?

Link: http://www.cups.org/str.php?L1773
Version: 1.2.0





More information about the cups mailing list