On Fri 14 Jun 2019 at 23:32:50 -0400, Gary Dale wrote: > I thought I'd figured it out - that the network printer shouldn't be > installed locally, because it's automagically discovered. I tested this by
As we have seen, it is the way you installed the queue on the client (with a Samsung driver) that is the problem; a local driverless or everywhere queue is no problem. But, as you say, why bother to do even that if cups-browsed can do it for you. It's a user's choice. > deleting the local install of the network printer and, while it disappears > from the CUPS web interface, it still shows up in the list of printers when > I try to print a PDF from Okular. This seems somewhat reasonable... Having this deleted queue show in Okular's dialog doesn't seem at all reasonable to me. > Unfortunately, printing to it does nothing. The output disappears into the > ether(net). The queue has been deleted. The job has nowhere to go! > To be clear, the printer network connection is there. CUPs lists it multiple > times with its network address when I use the web interface to find new > printers. And I can ping its IP address. > > I then fired up a Stretch VM and tried the same things. Under Stretch, the > printer doesn't show up except as the USB-shared printer from the server. > However, after installing the Samsung driver, it did show up when I tried to > find new printers from the CUPS web interface. I installed it using the > SEC30CDA71CB48A "address" and the normal C410 driver and was able to print > successfully. > > CUPS is apparently working differently in Buster than in Stretch in its > handling of network-attached printers. A little differently when the driverless aspect is factored in. But, basically, the framework is still the same. CUPS/cups-filters has changed because printers have changed. > Anyway, here's my current diagnostic output: > > $ lpstat -l -e > Samsung_C410_Series_SEC30CDA71CB48A_ network none > ipp://Samsung%20C410%20Series%20(SEC30CDA71CB48A)._ipp._tcp.local/ I think that is the printer. We need avahi-browse to tell us more. > Samsung_C410_Series_TheLibrarian network none > ipps://Samsung%20C410%20Series%20%40%20TheLibrarian._ipps._tcp.local/cups That's the queue set up automatically by cups-browsed using its driverless utility. > $ lpoptions -p Samsung_C410_Series_SEC30CDA71CB48A_ > device-uri=ipp://Samsung%20C410%20Series%20(SEC30CDA71CB48A)._ipp._tcp.local/ > printer-info='Samsung C410 Series (SEC30CDA71CB48A)' printer-location > printer-make-and-model='Samsung C410 Series' printer-type=16810060 Ok. > $ lpoptions -p Samsung_C410_Series_TheLibrarian > device-uri=ipps://Samsung%20C410%20Series%20%40%20TheLibrarian._ipps._tcp.local/cups > printer-info='Samsung C410 Series @ TheLibrarian' printer-location='family > room' printer-make-and-model=ColorLaserPrinter printer-type=16781390 Ok. > # cupsfilter -p /etc/cups/ppd/Samsung_C410_Series_TheLibrarian_ppd -m > printer/foo -e --list-filters /etc/nsswitch.conf > cupsfilter: Unable to open PPD file: Unable to open PPD file on line 0. > Segmentation fault > > # ls -l /etc/cups/ppd/ > total 476 > -rw-r----- 1 root lp 192111 Jun 14 21:01 > EPSON_Stylus_Photo_R300_TheLibrarian.ppd > -rw-r----- 1 root lp 78398 Dec 9 2018 EPSON_XP-820_Series.ppd > -rw-r----- 1 root lp 78390 Nov 5 2018 EPSON_XP-820_Series.ppd.O > -rw-r----- 1 root lp 43299 Jun 14 21:01 > HP_Color_LaserJet_CP1215_TheLibrarian.ppd > -rw-r----- 1 root lp 21016 Jun 14 21:01 PDF_TheLibrarian.ppd > -rw-r----- 1 root lp 32048 Jun 14 21:01 > Samsung_C410_Series_TheLibrarian.ppd > -rw-r----- 1 root lp 27498 Jun 14 21:07 Samsung_ML_1210_TheLibrarian.ppd > > Changing the _ppd to .ppd removes the error messages. Instead I get no > output. There is no output because no processing through filters takes place on the client now you are not using the Samsung driver. Have a go at this: 1. Check that you can print the file /etc/nsswitch.conf from the server: lp -d Samsung_C410_Series /etc/nsswitch.conf 2. Stop cups-browsed on the client: systemctl stop cups-browsed 3. Check destinations: lpstat -l -e 4. Print the same file as before: lp -d Samsung_C410_Series_TheLibrarian /etc/nsswitch.conf -- Brian.