cups-1.1.22 + Perle IOLAN+ 104 serial server + Zebra 140xIIIprinting problems

Helge Blischke h.blischke at srz.de
Sat Aug 12 13:15:34 PDT 2006


Andrew Campbell wrote:
>>>Andrew M. Campbell wrote:
>>>
>>>>We recently replaced a UNIX system with Red Hat Enterprise 4.  The new Red Hat system is using cups version 1.1.22.  For several years now, we have had a Perle IOLAN+ 104 four port serial server connected to a Zebra 140xIII printer.  Both the previous UNIX system and the current Red Hat system use the LPD service on the IOLAN+ 104  to print.  Since replacing the UNIX system, we have experienced the following two issues.
>>>>
>>>>additional background)  In order to stop print queues from being disabled, I installed linuxprinting.org's backend error handler(beh).  I realize that this is not part of cups and is not supported.  However, the issues below occured both with and without the beh script involved.
>>>>
>>>>1)  When a job dies due to the printer being off or having an error.  Sometimes cups isn't able to reestablish communication with the IOLAN print server.  This does not happen all the time.  It also happened both before and after loading the beh script.  To remedy the problem, I had to reset the terminal server.
>>>>
>>>>2)  The IOLAN print server is connected to a Zebra 140xIII printer.  When a printjob is nearing completion.  The printer slows down its printing.  Meaning that while labels normally print at a steady pace, near the end of a printjob printings slows down.  We never experienced this before switching to cups.
>>>>
>>>>
>>>>
>>>>I'm thinking issue number one might have something to do with the timeout setting in cupsd.conf.  Currently this is set to the default of 300 seconds.  Issue number has only occured three times.  So I don't have a lot to go on.  Issue number two is consistent.
>>>>
>>>>Any thoughts or suggestions would be most appreciated.  If something doesn't make sense or I've omitted vital information, please let me know.
>>>>
>>>>Thanks,
>>>
>>>Could you describe how the printer has been configured on the former system (/etc/printcap,
>>>involvbed filter scripts etc.)?
>>
>>Here is the exact entry from printcap (on the old system).  Just host, queue, and spool directory settings.
>>
>>legacyp01:\
>>       :lp=:rm=legacyts01:rp=legacyp01:sd=/usr/spool/lpd/legacyp01:mx#0:
>>
>>
>>Thanks,
>>
>>>Helge
>>>
>>>
>>>--
>>>Helge Blischke
>>>Softwareentwicklung
>>>SRZ Berlin | Firmengruppe besscom
>>>http://www.srz.de
>>
> 
> 
> 
> Some additional information
> ---------------------------
> 
> I've been looking through the error_log.  A few days ago, I set debug in the config.  Thursday afternoon, this Zebra printer ran out of labels and was left, overnite, without new labels being put on the printer.  Cups, along with beh, continually tried to print the first job waiting to be printed.  Looking at the log, the cups lpd_command returned '2' all night long.  Here is an example:
> 
> D [11/Aug/2006:00:00:49 -0500] [Job 4097] Connected on ports 515 (local 1023)...
> D [11/Aug/2006:00:00:49 -0500] [Job 4097] lpd_command 02 legacyp01
> D [11/Aug/2006:00:00:49 -0500] [Job 4097] Sending command string (11 bytes)...
> D [11/Aug/2006:00:00:49 -0500] [Job 4097] Reading command status...
> D [11/Aug/2006:00:00:49 -0500] [Job 4097] lpd_command returning 2
> D [11/Aug/2006:00:01:49 -0500] [Job 4097] Connected on ports 515 (local 1023)...
> 
> 
> When the employees arrived on Friday morning, labels were put on the printer and printing resumed without incident.  At 12:26 cups timed out trying to print to this zebra printer.  Unlike the night before, cups lpd_command returned '4' instead of '2'.  Here is an example:
> 
> D [11/Aug/2006:12:26:06 -0500] [Job 4916] lpd_command returning 4
> E [11/Aug/2006:12:30:15 -0500] [Job 4916] Unable to connect to printer; will retry in 30 seconds...: Connection timed out
> D [11/Aug/2006:12:30:45 -0500] [Job 4916] Connected on ports 515 (local 1022)...
> D [11/Aug/2006:12:30:45 -0500] [Job 4916] lpd_command 02 legacyp01
> D [11/Aug/2006:12:30:45 -0500] [Job 4916] Sending command string (11 bytes)...
> D [11/Aug/2006:12:30:45 -0500] [Job 4916] Reading command status...
> W [11/Aug/2006:12:35:45 -0500] [Job 4916] Remote host did not respond with command status byte after 300 seconds!
> 
> 
> Here you can see this same job finally print:
> 
> W [11/Aug/2006:12:45:24 -0500] [Job 4916] Remote host did not respond with command status byte after 300 seconds!
> D [11/Aug/2006:12:45:24 -0500] [Job 4916] lpd_command returning 4
> D [11/Aug/2006:12:46:24 -0500] [Job 4916] Connected on ports 515 (local 1023)...
> D [11/Aug/2006:12:46:24 -0500] [Job 4916] lpd_command 02 legacyp01
> D [11/Aug/2006:12:46:24 -0500] [Job 4916] Sending command string (11 bytes)...
> D [11/Aug/2006:12:46:24 -0500] [Job 4916] Reading command status...
> D [11/Aug/2006:12:47:15 -0500] [Job 4916] lpd_command returning 0
> 
> 
> When I go to reset the terminal server, It appears to be in working working order.  I can log into it from the network and run management commands.  So it's not as if the terminal server is locked up or not accessible from the network.  I don't know if it makes a difference or not, but they print a lot at this location.  They have about 50 printers defined in cups at the moment.  printers.conf has this for the zebra printer:
> 
> <Printer prt31>
> Info Created by redhat-config-printer 0.6.x
> Location
> DeviceURI beh:/1/0/60/lpd://legacyts01/legacyp01
> State Idle
> Accepting Yes
> JobSheets none none
> QuotaPeriod 0
> PageLimit 0
> KLimit 0
> </Printer>
> 
> 
> Thanks,

IIRC, the lpd backend by default does not restrict itself to
the reserved source ports (721 to 732) as specified in RFC 1179.
Append "?reserve=yes" (without the quotes) to the device URI
to force compliance to this RFC. It may be that your print server
requires this (AFAIKm LPRng follows this restiction).

Helge


-- 
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de




More information about the cups mailing list