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

Bug#883554: cups keeps breaking network printer with implicitclass:



On Tue, Dec 05, 2017 at 01:52:53PM +0000, Brian Potkin wrote:
> On Mon 04 Dec 2017 at 23:47:04 -0600, David Fries wrote:
> 
> > Package: cups
> > Version: 2.2.1-8
> > Severity: important
> > 
> > Dear Maintainer,
> > 
> > It seems to be every day or so the /etc/cups/printers.conf DeviceURI is
> > modified to replace the version that works with a version that doesn't.
> 
> Knowing "...the version that works..." would be useful.

Doesn't work:
DeviceURI implicitclass:Canon_BJC-2100
web job state
held since Tue Dec 5 19:00:56 2017 "No suitable destination host found by cups-browsed."	

works (after replacing in server name) was in there since 2015:
DeviceURI ipps://<server>.local:631/printers/Canon_BJC-2100

That is it works for about a day until it changes to the one that
doesn't.

> > This is printing to a cups system on the local network.
> > Was working with the cups in Debian jessie.
> 
> What is the cups version on the server? Can you print from the server?

Both the serve and client were running Debian jessie prior to
Thanksgiving, both were upgraded to stretch.  On the client I see in
aptitude.1.gz
[UPGRADE] cups:amd64 1.7.5-11+deb8u1 -> 2.2.1-8
Both client and server lists cups as version 2.2.1-8

Yes the server was printing before and after the upgrade.

> > It doesn't matter if I use a dnssd (auto detected), ipps, ipp, it gets
> > replaced by,
> > DeviceURI implicitclass:Canon_BJC-2100
> > and that doesn't allow it to print.  I've even gone so far as deleting
> > the printer, the detecting it through the ipp web configuration
> > interface and after a day or so it goes back to the implicitclass.
> 
> I do not understand the existence of the time lag.

It doesn't make any sense to me either when I'm using the cups browser
interface and letting it write out the file that it works for a while
and then it fails..

After the upgrade I can configure the client with that ipps and it
is able to print, for about a day, and then printing fails and I check
printers.conf and it is replaced with,
DeviceURI implicitclass:Canon_BJC-2100
and it can no longer print.  This is one of the files that cups keeps
modifying.  I've been using the web configuration interface when
modifying it, and have used the "Discovered Network Printers:" option
which fills in a long dnssd://Canon%20BJC-2100%20%40%20... but while
it initially prints it doesn't matter that will be replaced by
implicitclass:Canon_BJC-2100 the next day.

> > Any ideas?
> 
> There will be a PPD for the BCJ-2100 in /etc/cups/ppd. Please do

>  /usr/sbin/cupsfilter -p <PPD> -m printer/foo -e --list-filters /etc/services

/usr/sbin/cupsfilter -p /etc/cups/ppd/Canon_BJC-2100.ppd -m printer/foo -e --list-filters /etc/services

That gives no output at all.  I have a different version from 2015 in
that directory with the following output.

cupsfilter: File "/usr/lib/cups/filter/rastertogutenprint.5.2" permissions OK (040755/uid=0/gid=0).
texttopdf
pdftopdf
gstoraster
rastertogutenprint.5.2

The majority seems to be different page sizes, dithering, and such.
The header and cupsFilter might be of interest, so included here.

--- Canon_BJC-2100.ppd  2017-12-05 09:35:07.689792328 -0600
+++ Canon_BJC-2100_remote.ppd 2015-11-29 00:33:04.432331311 -0600
@@ -15,7 +15,7 @@
 *% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *%
 *FormatVersion:        "4.3"
-*FileVersion:  "5.2.11"
+*FileVersion:  "5.2.10"
 *LanguageVersion: English
 *LanguageEncoding: ISOLatin1
 *PCFileName:   "STP00011.PPD"
@@ -23,17 +23,17 @@
 *Product:      "(Canon BJC-2100)"
 *ModelName:     "Canon BJC-2100"
 *ShortNickName: "Canon BJC-2100"
-*NickName:      "Remote printer: Canon BJC-2100 - CUPS+Gutenprint v5.2.11"
+*NickName:      "Canon BJC-2100 - CUPS+Gutenprint v5.2.10"
 *PSVersion:    "(3010.000) 0"
 *LanguageLevel:        "3"
 *ColorDevice:  True
 *DefaultColorSpace:    RGB
-*cupsManualCopies: True
 *FileSystem:   False
 *LandscapeOrientation: Plus90
 *TTRasterizer: Type42
 *cupsVersion:  1.2
-*cupsFilter: "*/* 0 -"
+*cupsManualCopies: True
+*cupsFilter:   "application/vnd.cups-raster 100 rastertogutenprint.5.2"
 *1284DeviceID: "MFG:Canon;MDL:BJC-2100;DES:Canon BJC-2100;"
 *cupsLanguages: "ca cs da de el en_GB es fi fr gl hu it ja nb nl pl pt ru sk sl sv tr uk vi zh_CN zh_TW"

> and post its output and the outputs of
> 
>  systemctl status cups-browsed

cups-browsed.service - Make remote CUPS printers available locally
   Loaded: loaded (/lib/systemd/system/cups-browsed.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-12-05 09:34:59 CST; 9h ago
 Main PID: 447 (cups-browsed)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/cups-browsed.service
           447 /usr/sbin/cups-browsed

>  lpstat -t

lpstat -t
scheduler is running
system default destination: Canon_BJC-2100
device for Canon_BJC-2100: implicitclass:Canon_BJC-2100
Canon_BJC-2100 accepting requests since Tue Dec  5 19:19:12 2017
printer Canon_BJC-2100 is idle.  enabled since Tue Dec  5 19:19:12 2017

How about this sequence, I go through the web interface, change it to
the ipps URI that works.  Verify in the browser it is the ipps URI,
verify with `lpstat -t` it is ipps URI, wait until
/etc/cups/printers.conf has the ipps DeviceURI, then.
systemctl stop cups-browsed.service
systemctl start cups-browsed.service
and the browser immediately lists implicitclass:Canon_BJC-2100

I tried printing some text with lpr, after while the state was
aborted.

lpstat -t
scheduler is running
system default destination: Canon_BJC-2100
device for Canon_BJC-2100: implicitclass:Canon_BJC-2100
Canon_BJC-2100 accepting requests since Tue Dec  5 19:32:48 2017
printer Canon_BJC-2100 is idle.  enabled since Tue Dec  5 19:32:48
2017


-- 
David Fries <david@fries.net>


Reply to: