Folks,

I am having a problem printing large (eg. 70+ pages) jobs to a 
Lexmark Optra T622:  

(below output is with ifhp set to debug level 4)


$ lpq -Pits-f-lpa2 -L
Printer: its-f-lpa2@full 'ITS LaserWriter and Scanner Multifunction'
 Queue: no printable jobs in queue
 Status: printing job 'ashs@ITS-F-ASHS+14' at 15:48:09.106
 Status: processing 'dfA014ITS-F-ASHS', size 2982068, format 'l', IF filter 'ifhp' at 
15:48:09.107
 Status: IF filter 'ifhp' filter msg - 'Version ifhp-3.5.10' at 15:48:09.290
 Status: IF filter 'ifhp' filter msg - '$Id: ifhp.c,v 1.96 2002/07/12 23:33:21 
papowell Exp papowell $' at 15:48:09.290
 Status: IF filter 'ifhp' filter msg - 'Copyright 1992-2002 Patrick Powell 
<[EMAIL PROTECTED]>' at 15:48:09.290
 Status: subserver pid 1583 exit status 'JREMOVE' at 15:48:10.255
 Status: its-f-lpa2: Update_status: no identifier for 'hfA014' at 15:48:10.255
 Status: waiting for subserver to exit at 16:45:48.170
 Status: subserver pid 23785 starting at 16:45:48.184
 Status: accounting at start at 16:45:48.184
 Status: accounting filter replied with 'accept' at 16:45:49.967
 Status: opening device 'its-f-lpa2.printer.deakin.edu.au%9100' at 16:45:49.967
 Status: printing job 'ashs@ITS-F-ASHS+15' at 16:45:49.973
 Status: processing 'dfA015ITS-F-ASHS', size 1355087, format 'l', IF filter 'ifhp' at 
16:45:49.974
 Status: IF filter 'ifhp' filter msg - 'Version ifhp-3.5.10' at 16:45:50.030
 Status: IF filter 'ifhp' filter msg - '$Id: ifhp.c,v 1.96 2002/07/12 23:33:21 
papowell Exp papowell $' at 16:45:50.030
 Status: IF filter 'ifhp' filter msg - 'Copyright 1992-2002 Patrick Powell 
<[EMAIL PROTECTED]>' at 16:45:50.031
 Status: IF filter 'ifhp' filter msg - 'ifhp 16:47:28.244 [23789] Do_waitend: no end 
response from printer, timeout 0' at 16:47
:28.244
 Status: IF filter 'ifhp' filter exit status 'JFAIL' at 16:47:28.246
 Status: printing finished at 16:47:28.246
 Status: accounting at end at 16:47:28.248
 Status: finished 'ashs@ITS-F-ASHS+15', status 'JFAIL' at 16:47:28.252
 Status: subserver pid 23785 exit status 'JFAIL' at 16:47:28.253
 Status: job 'ashs@ITS-F-ASHS+15' attempt 1, trying 3 times at 16:47:28.257
 Status: waiting for subserver to exit at 16:47:28.497
 Status: attempt 2, sleeping 10 before retry at 16:47:28.510
 Status: subserver pid 23854 starting at 16:47:38.517
 Status: accounting at start at 16:47:38.517
 Status: subserver pid 23854 exit status 'JFAIL' at 16:47:39.184
 Status: its-f-lpa2: Update_status: no identifier for 'hfA015' at 16:47:39.184
 Filter_status:  [4] HASH key 'online'  - OBJ_T_STR 'TRUE' at 16:47:27.608
 Filter_status:  [5] HASH key 'page'  - OBJ_T_STR '55' at 16:47:27.608
 Filter_status: Do_waitend: echo '[EMAIL PROTECTED]', endname 
'16-45-57.860 PID 23789', echo_received 0 at 16:47:27
.608
 Filter_status: Do_waitend: waitend 0 at 16:47:27.608
 Filter_status: Do_waitend: Outlen 0 '' at 16:47:27.608
 Filter_status: Read_status_timeout: timeout 210, blocking read result 5, alarm 
timeout 0 at 16:47:27.610
 Filter_status: Read_status_timeout: timeout 210, result count 5 at 16:47:27.610
 Filter_status: Read_status_timeout: read count 5, '56^M
 Filter_status: ^L' at 16:47:27.610
 Filter_status: Put_inbuf_len: before buffer '', adding '56^M
 Filter_status: ^L', len 5 at 16:47:27.610
 Filter_status: Put_inbuf_len: buffer '56^M
 Filter_status: ^L' at 16:47:27.610
 Filter_status: Get_inbuf_str: found '56' at 16:47:27.610
 Filter_status: Pr_status: start str '56', pjlvar 'PAGE=', infovar 0 at 16:47:27.610
 Filter_status: Pr_status: pjlvar 'PAGE=56' at 16:47:27.610
 Filter_status: Check_device_status: 'PAGE=56' at 16:47:27.610
 Filter_status: Check_device_status: key 'page', value '56' at 16:47:27.610
 Filter_status: Get_inbuf_str: found '' at 16:47:27.610
 Filter_status: Get_inbuf_str: final '' at 16:47:27.610
 Filter_status: Do_waitend: len 0 at 16:47:27.610
 Filter_status: Do_waitend - Devstatus - OBJ_T_HASH len 6 at 16:47:27.610
 Filter_status:  [0] HASH key 'code'  - OBJ_T_STR '10023' at 16:47:27.610
 Filter_status:  [1] HASH key 'display'  - OBJ_T_STR '"Busy"' at 16:47:27.610
 Filter_status:  [2] HASH key 'echo'  - OBJ_T_STR '[EMAIL PROTECTED]' at 
16:47:27.610
 Filter_status:  [3] HASH key 'job'  - OBJ_T_STR 'START' at 16:47:27.610
 Filter_status:  [4] HASH key 'online'  - OBJ_T_STR 'TRUE' at 16:47:27.610
 Filter_status:  [5] HASH key 'page'  - OBJ_T_STR '56' at 16:47:27.610
 Filter_status: Do_waitend: echo '[EMAIL PROTECTED]', endname 
'16-45-57.860 PID 23789', echo_received 0 at 16:47:27
.610
 Filter_status: Do_waitend: waitend 0 at 16:47:27.611
 Filter_status: Do_waitend: Outlen 0 '' at 16:47:27.611
 Filter_status: Read_status_timeout: timeout 210, blocking read result 0, alarm 
timeout 0 at 16:47:28.244
 Filter_status: Read_status_timeout: EOF, timeout 210 at 16:47:28.244
 Filter_status: Read_status_timeout: timeout 210, result count -1 at 16:47:28.244
 Filter_status: Do_waitend: len -1 at 16:47:28.244
 Filter_status: Do_waitend: EOF reading status at 16:47:28.244
 Filter_status: Do_waitend: no end response from printer, timeout 0 at 16:47:28.244



Then, because the job didn't finish successfully, the job is retried from the
beginning.  I've tried tweaking a few settings based on comments made in 
similar sounding posts, but no good.  And it always seems to die after 
90 seconds.  Here's the printcap entry:

ts-f-lpa2|its_f_lpa2:\
        :cm=ITS LaserWriter and Scanner Multifunction:\
        :lp=its-f-lpa2.printer.deakin.edu.au%9100:\
        :achk\
        :sd=/var/spool/lpd/%P:\
        :af=miranda.its.deakin.edu.au%4444:\
        :ifhp=model=lexmark4039:\
        :send_job_rw_timeout=6000:\
        :connect_timeout=0:\
        :filter=/opt/local/libexec/filters/ifhp -Tdebug=4:

Note: I have the model set to lexmark4039 as this lets the printer correctly
detect end of job without the need for polling for 15 seconds (yay!).

I've looked through the source code (ifhp.c) and found that the above
error message (EOF reading status) is from:

      if( len == -1 ){
                        /* we have an error */
                        LOGMSG(LOG_INFO) _("Do_waitend: EOF reading status") );
                        break;
      }

Further investigation showed that len was being set inside the call to
Read_status_timeout():

len = Read_status_timeout( timeout );

I had a look at this code, but find it a little hard to follow.


Any suggestions on what else to try in order to further diagnose/fix this?  Any
clues as to why these jobs always seem to die after 90 seconds?  


Regards,
Ashley


-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to