Web lists-archives.com

Re: HP CP1215 - CUPS not printing from Stretch to Jessie server.




On 04/06/17 01:34 PM, Brian wrote:
On Sat 03 Jun 2017 at 18:45:13 -0400, Gary Dale wrote:

After much gnashing of teeth (actually disassembling my Samsung C410 to
remove two sheets of paper wrapped around the fuser), I'm still confused
about something. When I set up my Samsung C410 through the CUPS web
interface, on the server I use the Samsung C410 driver and the usb
connection. On the client I use the discovered printer but again need to use
the Samsung C410 driver which now shows up as Remote printer: Samsung C410
Series (color).
You do not *need* to use the Samsung C410 PPD or the rastertospl filter
on the client. In fact, you are better off just letting cups-browsed
take care of things and not bothering with using the CUPS web interface.
Not really true. You seem to be trying to say that the CUPS printer discovery on the web interface shouldn't be used, which doesn't seem to be the way the web interface is designed. There is no indication that the find option is in any way deprecated.


When I set up the HP Color LaserJet CP1215, on the server I use the HP Color
LaserJet CP1215 Foomatic driver and the usb connection. However on the
client when I use the discovered printer and the CP1215 driver, it doesn't
work. I need to use raw printing.
If cups-browsed is sidelined a raw queue would be the only other sensible
method.
Except that it doesn't seem to work that way. It's just the CP1215 that needs to be set explicitly to raw. The other printers don't work when I set their driver to raw. I need to use the driver.


I'm sorry but this doesn't make any sense to me. If I understand things
correctly, CUPS knows that the printer is remote and is being handled by a
CUPS server but can't figure out which machine should do the rendering.
Instead it leaves it up to the driver to add the smarts to figure out who
should do it.
CUPS on the client knows the URI to send the job to. Prior to that it
will perform filter operations on the job because it has been told to
do so.  There is no negotiation between client and server as to which
machine handles filtering, so the server will probably attempt to filter
the job again. The main job of the driver (PPD?) is to get the print job
in a form suitable to go to the printer. It functions only within the
queue it is set up for.

There is no reliable way to detect whether data which are sent to the
server are printer-specific data (to be sent directly to the printer) or
data which must be filtered to get printer-specific data. I suppose if
the server identifies a file as application/octet-stream it could be
printed. You would have to look at Jessie and Stretch error_logs to
determine that and sort out what you see as puzzling.
That makes no sense. CUPS knows it's sending something to a remote queue ( DNSSD: ) so it should be able figure out that it shouldn't do double filtering. I don't care where the filtering gets done but it should be done properly.
I've got several printers attached to my server, including 2 Samsungs, 1
Epson and the CP1215. Only the CP1215 seems to believe that it is a local
raw printer on my client. And again, this only seems to be a problem since I
moved to Stretch. I think this qualifies as a bug.
A Jessie or Stretch client would produce Zenographics Zjstream printer
data to send to the server; no change there. CUPS on the server (which
hasn't changed) is the one doing the MIME media typing and saying it
cannot detect the file type.

A sound principle to apply to duplicate filtering is - don't do it.

Except that if I follow your advice and change my Samsung and Epson queues to raw on the client, they stop working.

Which leads me to ask again why this inconsistent handling of remote queues shouldn't be classified as a bug?