[Bug 230487] New: CUPS fails to print on HP DeskJet 1600 CM using the attached PPD file.
https://bugzilla.novell.com/show_bug.cgi?id=230487 Summary: CUPS fails to print on HP DeskJet 1600 CM using the attached PPD file. Product: openSUSE 10.2 Version: Final Platform: i686 OS/Version: SuSE Other Status: NEW Severity: Blocker Priority: P5 - None Component: Printing AssignedTo: jsmeix@novell.com ReportedBy: rnissl@gmx.de QAContact: jsmeix@novell.com The attached PPD file doesn't make use of foomatic nor gutenprint. It just supplies the printer's features to CUPS, so I don't think this issue is PPD related (the PPD worked flawlessly with 10.1 and earlier releases). When one has a look at the output of CUPS which is sent to the printer over network (the printer has a JetDirect interface), one may find these lines: [{ %%BeginFeature: *HPAppHalftoning False userdict /setscreen { pop pop pop } put userdict /setcolorscreen { pop pop pop pop pop pop pop pop pop pop pop pop } put %%EndFeature } stopped cleartomark % x y w h ESPrc - Clip to a rectangle. userdict/ESPrc/rectclip where{pop/rectclip load} {{newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath clip newpath}bind}ifelse put % x y w h ESPrf - Fill a rectangle. userdict/ESPrf/rectfill where{pop/rectfill load} {{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill grestore}bind}ifelse put % x y w h ESPrs - Stroke a rectangle. userdict/ESPrs/rectstroke where{pop/rectstroke load} {{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath stroke grestore}bind}ifelse put userdict/ESPwl{}bind put %%EndSetup %%EOF %-12345X@PJL @PJL RDYMSG DISPLAY = "READY" @PJL EOJ %-12345X%!PS-Adobe-3.0 %%Pages: (atend) %%BoundingBox: (atend) %%EndComments %%Page: 1 1 %%PageBoundingBox: 0 0 612 792 %%BeginPageSetup %%EndPageSetup gsave % Determine the imageable area and device resolution... In this fragment, the following lines are definitely incorrect, at least at this position: %%EOF %-12345X@PJL @PJL RDYMSG DISPLAY = "READY" @PJL EOJ %-12345X%!PS-Adobe-3.0 So, printing fails as none on the resources provided in the prolog (= in front of the above lines) are accessible after the above lines. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #1 from rnissl@gmx.de 2006-12-22 04:26 MST ------- Created an attachment (id=110874) --> (https://bugzilla.novell.com/attachment.cgi?id=110874&action=view) PPD file for HP DeskJet 1600 CM -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 jsmeix@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Blocker |Major ------- Comment #2 from jsmeix@novell.com 2006-12-22 04:32 MST ------- See https://bugzilla.novell.com/page.cgi?id=fields.html#bug_severity regarding what the severity "blocker" means. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #3 from jsmeix@novell.com 2006-12-22 04:46 MST ------- Some days ago I noticed that this (or a similar) problem was discussed on the CUPS mailing list - be patient I must search for it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 jsmeix@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |rnissl@gmx.de ------- Comment #4 from jsmeix@novell.com 2006-12-22 05:04 MST ------- As a temporary workaround it should help to remove all JCL/PJL lines from the PPD which are in this case those lines ------------------------------------------------------------------ *Protocols: TBCP PJL *JCLBegin: "<1B>%-12345X@PJL JOB<0A>" *JCLToInterpreter: "@PJL ENTER LANGUAGE = POSTSCRIPT <0A>" *JCLEnd: "<1B>%-12345X@PJL EOJ<0A><1B>%-12345X" ------------------------------------------------------------------ so that CUPS won't add any other PJL stuff. Usually a PostScript printer does autodetect PostScript input so that there is no need to switch it into PostScript mode with the above PJL sequences. If your printer doesn't detect PostScript automatically, you could try to change the printer's internal settings to do it (see the printer's manual) or you may change its internal settings to set it permanently into PostScript mode. Please report if this workaround works for you. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #5 from jsmeix@novell.com 2006-12-22 07:25 MST ------- I get a lot of warnings from cupstestppd for your PPD file: ------------------------------------------------------------------- # cupstestppd /tmp/bug230487.ppd /tmp/bug230487.ppd: PASS WARN Line 29 only contains whitespace! [...many more such warnings about whitespace...] WARN Line 1189 only contains whitespace! WARN File contains a mix of CR, LF, and CR LF line endings! WARN Non-Windows PPD files should use lines ending with only LF, not CR LF! WARN DefaultOutputBin has no corresponding options! WARN Obsolete PPD version 4.2! REF: Page 42, section 5.2. WARN Manufacturer required by PPD 4.3 spec. REF: Pages 58-59, section 5.3. WARN ShortNickName required by PPD 4.3 spec. REF: Pages 64-65, section 5.3. WARN Protocols contains PJL but JCL attributes are not set. REF: Pages 78-79, section 5.7. WARN HPColorSmart shares a common prefix with HPColorSmartHalftone REF: Page 15, section 3.2. ------------------------------------------------------------------- It passes, therefore it should work, but it is not really correct (in particular note the warning about PJL/JCL). Where did you get if from? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 rnissl@gmx.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|rnissl@gmx.de | ------- Comment #6 from rnissl@gmx.de 2006-12-22 07:26 MST ------- After disabling the mentioned lines the output changed like that: %%EndSetup %%EOF %!PS-Adobe-3.0 %%Pages: (atend) %%BoundingBox: (atend) But it still doesn't work because the dot in front of %!PS-Adobe-3.0 is actually a CTRL-D which acts as a job separator. So the print still fails for the same reason. BTW: I've seen that CUPS outputs the following code in the prolog % Disable CTRL-D as an end-of-file marker... userdict dup(\004)cvn{}put (\004\004)cvn{}put But this only works with GhostScript. This CTRL-D stuff should be omitted completely. 2nd edition of PLRM states on page 21 that CTRL-D is the channel-depenent end-of-file indication for a serial connection. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 jsmeix@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |rnissl@gmx.de ------- Comment #7 from jsmeix@novell.com 2006-12-22 07:48 MST ------- I can reproduce the CTRL-D only with your PPD. Therefore from my point of view it depends on your PPD. I don't have your model therefore I set up a test queue which outputs into a file using lpadmin -p test -v file:/tmp/test.prn -P /tmp/bug230487.ppd -E (one has to set "FileDevice yes" in cupsd.conf for this). I get the CTRL-D inside the PostScript only with your PPD. I don't get such a CTRL-D when I use the PostScript PPD for my HP LaserJet 1220: There is only one CTRL-D at the very end of the data stream - i.e. the very last byte - which is perfectly o.k. because many PostScript printers need it in any case to know when the data stream is finished (otherwise they wait a longer timeout). Where did you get your PPD from? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 rnissl@gmx.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|rnissl@gmx.de | ------- Comment #8 from rnissl@gmx.de 2006-12-22 08:07 MST ------- The original file was part of HPs PostScript driver for Windows NT but I can no longer find this driver at HP. The original name was hp1600c1.ppd -- Google provides this URL: http://www.pa.msu.edu/ftp/pub/misc/hp_ppd_files/hp1600c1.ppd But the PPD file contains some mistakes in the PostScript code so I fixed them and changed the filename. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #9 from rnissl@gmx.de 2006-12-22 15:57 MST ------- After several hours of debugging I've found that the bug in CUPS' pstops is triggered by this line in the PPD: *DefaultOutputOrder: Reverse Attached is an updated version of the PPD file. cupstestppd's warnings have been addressed besides the one about mismatched CR/LF. These seem to be a bug in cupstestppd as all lines end in CR+LF. The above mentioned entry is now deactivated in the attached file. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 rnissl@gmx.de changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #110874|0 |1 is obsolete| | ------- Comment #10 from rnissl@gmx.de 2006-12-22 15:59 MST ------- Created an attachment (id=110977) --> (https://bugzilla.novell.com/attachment.cgi?id=110977&action=view) Updated PPD file for HP DeskJet 1600 CM. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #11 from rnissl@gmx.de 2006-12-27 09:21 MST ------- (In reply to comment #9)
After several hours of debugging I've found that the bug in CUPS' pstops is triggered by this line in the PPD:
*DefaultOutputOrder: Reverse
I must add that this feature is quite useful when printing documents with several pages, so I'd like to see this option supported correctly in CUPS. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 jsmeix@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX ------- Comment #12 from jsmeix@novell.com 2007-01-18 04:27 MST ------- There is an upstream bug report http://www.cups.org/str.php?L2111 which is fixed for CUPS 1.3 At the moment neither "*DefaultOutputOrder: Reverse" in the PPD nor the command line option "-o outputorder=reverse" works for many/most/all? PostScript printers because the wrong additional EOT in the PostScript data stream lets many/most/all? PostScript interpreters in the printer stop input before something is output. As a workaround if your printer supports PCL: Set up an additional print queue with Ghostscript and a PCL driver (e.g. select the model "HP DeskJet 1600C") because it seems Ghostscript ignores EOT in the PostScript data stream. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=230487 ------- Comment #13 from jsmeix@novell.com 2007-01-18 04:43 MST ------- A workaround for PostScript printers: Create the filter -rwxr-xr-x 1 root root ... /usr/lib[64]/cups/filter/fixEOT ----------------------------------------------------------------------- #! /bin/bash # have the input at fd0 (stdin) in any case [ -n "$6" ] && exec <"$6" # remove EOT characters inside the PostScript data stream tr -d '\004' # send one EOT character after the PostScript data stream echo -en '\004' ----------------------------------------------------------------------- and add the line ----------------------------------------------------------------------- *cupsFilter: "application/vnd.cups-postscript 0 fixEOT" ----------------------------------------------------------------------- to the PPD (in /etc/cups/ppd/<queue-name>.ppd) and restart the cupsd. For background information see http://en.opensuse.org/SDB:Using_Your_Own_Filters_to_Print_with_CUPS -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com