Bug 56871
Summary: | lack of working filter support for HP2200 at PCL level. | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Pawel Salek <pawsa> | ||||
Component: | foomatic | Assignee: | Tim Waugh <twaugh> | ||||
Status: | CLOSED ERRATA | QA Contact: | |||||
Severity: | high | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 7.2 | CC: | djuran | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2002-01-23 14:24:15 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Pawel Salek
2001-11-29 10:45:25 UTC
There is a bug in: /usr/share/foomatic/db/source/driver/lj5mono.xml The <prototype> element is empty. Replacing it with the value taken from lj5gray.xml produces a printout BUT duplex printing flag is IGNORED. Are these reports read? (Yes, they are, but my predecessor apparently didn't spend enough time on it..) This might be related to bug #55909. Yes, the failing ljet4 driver is same in both cases (#55909 contains reports for one driver only). Do the packages at <ftp://people.redhat.com/twaugh/errata-candidate/> help? The updated packages fix the ljet4 filter failure (i.e the filter log claims tha t filtering was successfully finished). I cannot tell anything about other filters, whether anything was physically printed or whether the print quality is OK yet because I am physically away 600km from the printer. I will return with this information within 24h. I asked a collegue to send some test print jobs to jetdirect queues driven by a). ljet4 b). pxlmono The filtering is claimed to be successful (I can quote the lpq -vv output here if it would be useful) but the printer does not print (which suggests that the change does not improve pxlmono case). I can investigate closer when I am physically located next to the printer (10 days from now). Currently, I can run only "binary" test via my collegues ("try printing this file and tell me what you got"). Have in mind that at least ljet4 does not have the dummy configuration error it used to have. When did pxlmono last work? I do _not_ remember times when pxlmono worked. The filtering always seemed to be OK but the printer never printed anything. I know it is weird. I should probably try to eliminate network/jetdirectprint out of the equation any try to drive the printer via parallel cable when I come back. (OTOH, printing postscript Level-2 directly to the printer via jetdirectprint works). How about sending it through ghostscript's pxlmono driver? Do you mean gs -q -dBATCH -dSAFER -dNOPAUSE -sDEVICE=pxlmono -sOutputFile=output.pcl6 test.ps && lpr output.pcl6 ? I was hoping it could be piped to jetdirectprint. I'm trying to eliminate the perl hackery; here is the pxlmono driver command line template: gs -q -dBATCH -dSAFER -dNOPAUSE%B%A%Z -sOutputFile=- - | perl -p -e "s/\xc0.\xf8\x26/\xc0%E\xf8\x26/g" In this context, %E is '\x01', and %B%A%Z becomes (I assume) '-sDEVICE=pxlmono'. The perl script is an obvious suspect for corruption. Following combination gs -q -dBATCH -dSAFER -dNOPAUSE -sDEVICE=pxlmono -sOutputFile=- test.ps | perl -p -e 's/\xc0.\xf8\x26/\xc01\xf8\x26/g' | /usr/share/printconf/util/jetdirectprint gives a printout (finally!). But: the perl appears to be a cause for a warning page: PCL XL error Warning: IllegalMediaSource (that's what I got reported. When perl was removed from the pipe, no warning was produced). The perl should read 's/\xc0.\xf8\x26/\xc0\x01\xf8\x26/g'. Right. This one lead to the printout, no warnings at all. The question is, why this does not work when put together. The lpq log says: Status: IF filter 'mf_wrapper' filter msg - 'foomatic-gswrapper: gs '-dBATCH' '-dSAFER' '-dNOPAUSE' '-sDEVICE=pxlmono' '-r600x600' '-sOutputFile=|cat >&3' '-' 3>&1 1>&2' at 11:12:57.679 Should it not be '-sOutputFile=-'? -pawel It is correct as it reads: /usr/bin/foomatic-gswrapper is trying to get the output on a different file descriptor so that errors (originally dumped to stdout) can be useful. One thing that has been changed about this in CVS is to remove the space, so that the line in /usr/bin/foomatic-gswrapper reads: $_ = '-sOutputFile=|cat>&3'; # quoted properly below... You could try making that change to see if it makes things any better. The other difference of course is '-r600x600'. I did the recommended change but filter prints noting. I continued testing to discover what actually gets send to jetdirectprint and set lp=/tmp/printeroutput.lp in /etc/printcap. It turns out, that only some header is sent to the file, actual content gets lost: -- cut here -- ESC%-12345X@PJL JOB NAME="LPDOMATIC" @PJL SET MANUALFEED=OFF @PJL SET DUPLEX=ON @PJL SET BINDING=LONGEDGE @PJL SET RET=MEDIUM @PJL SET DENSITY=3 @PJL SET COPIES=1 @PJL SET ECONOMODE=OFF @PJL SET BITSPERPIXEL=1 ESC%-12345X@PJL RESET @PJL EOJ -- cut here-- Can you show me the log file from the spool directory when this happens? The ghostscript output should appear before the 'RESET' line. That was actually a great idea to look into the spool directory. There is a file in the spool directory called, guess, |cat>&3 containing the PCL printout. I attach the status file anyway. Created attachment 43294 [details]
log file
Aha. What about if you change '|cat>&3' into '/dev/fd/3', like this?: $_ = '-sOutputFile=/dev/fd/3'; # quoted properly below... $_ = '-sOutputFile=/dev/fd/3'; # quoted properly below... appears to be the solution. Okay, I've incorporated that fix into foomatic-1.1-0.20011218.1.5 at <ftp://people.redhat.com/twaugh/errata-candidate/>. I got the bug number wrong in the changelog; I'll fix that before the errata is issued. Fixed in RHBA-2001:174. Great job done! Thanks. |