Web lists-archives.com

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




On Sun 04 Jun 2017 at 20:37:38 -0400, Gary Dale wrote:

> 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.

"...better off..." does not equate equate with advice never to use the
web interface, The automatic printer and print queue discovery brought
about by cups-browsed is a very useful tool which benefits many users.

> >>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.

You apparently can print a simple text file directly from the server wih
lp so the scheduler should handle the same file in the same way when it
is printed from a raw queue on a client. The origin of the file
effectively plays no part in whether it gets printed. You will have to
look at the error_logs on client and server to determine why this
doesn't work for you.

> >>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.

You will have read what upstream CUPS has to say in the link you were
given, Any disagreement you have would be better taken up upstream.

 https://github.com/apple/cups/issues

> >>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?

I set up a C410 queue on a Jessie machine:

 lpadmin -p sam410 -v file:/root/410 -E -P Samsung_C410_Series.ppd

Printing from the server is successful.

On a Stretch client I had raw and non-raw queues;

 lpadmin -p sam410remote1 -v ipp://192.168.7.20/printers/sam410 -E -m raw
 lpadmin -p sam410remote2 -v ipp://192.168.7.20/printers/sam410 -E -P Samsung_C410_Series.ppd

Printing to sam410remote1 works. Here are some highlights from the log
on the server:

 I [05/Jun/2017:14:40:43 +0100] [Job 1434] File of type text/plain queued by "remroot".

 D [05/Jun/2017:14:40:43 +0100] [Job 1434] 4 filters for job:
 D [05/Jun/2017:14:40:43 +0100] [Job 1434] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
 I [05/Jun/2017:14:40:43 +0100] [Job 1434] Started filter /usr/lib/cups/filter/texttopdf (PID 5449)
 I [05/Jun/2017:14:40:43 +0100] [Job 1434] Started filter /usr/lib/cups/filter/pdftopdf (PID 5450)
 I [05/Jun/2017:14:40:43 +0100] [Job 1434] Started filter /usr/lib/cups/filter/gstoraster (PID 5451)
 I [05/Jun/2017:14:40:43 +0100] [Job 1434] Started filter /usr/lib/cups/filter/rastertospl (PID 5452)
 D [05/Jun/2017:14:40:43 +0100] [Job 1434] PID 5449 (/usr/lib/cups/filter/texttopdf) exited with no errors.
 D [05/Jun/2017:14:40:43 +0100] [Job 1434] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
 D [05/Jun/2017:14:40:43 +0100] [Job 1434] PID 5450 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
 D [05/Jun/2017:14:41:02 +0100] [Job 1434] PID 5451 (/usr/lib/cups/filter/gstoraster) exited with no errors.
 D [05/Jun/2017:14:41:02 +0100] [Job 1434] PID 5452 (/usr/lib/cups/filter/rastertospl) exited with no errors.

Printing to sam410remote2 doesn't work. I get the same expected outcomes
when the queues are set up via the web interface and for CP1215 queues.
No lack of consistency here.

-- 
Brian.