Problems with job delivery via LPR

In some rare cases, problem with delivering job to MFD could occurs. We will describe options and its values that could help with this problem.

LPR job delivery

lprPrinterConnectionTimeout

  • Configurable only locally in spooler.config

  • 30000 ms by default

  • Used as a timeout for sending one buffer to printer. For example when the TCP Zero Window occurs on MFD side, it will soon be impossible to write additional data to the buffer on the OS level (it will be full), at that point the timer starts. Once the timeout is reached, the socket is terminated from YSoft SafeQ side, the TCP session is usually closed some time later (after lprPrinterConnectionLingerTimeout so it may happen, that if the MFD empties TCP window before this happens, additional data from the buffer will be sent to it, but the job will be incomplete). If the TCP Zero Window is resolved before the lprPrinterConnectionTimeout is reached, timer is reset.

  • Used also as a timeout for LPD handshake, if the MFD does not respond to LPD commands in the defined period, YSoft SafeQ closes the connection.

  • Prolonging this could help in locations with poor network.

  • Example: "lprPrinterConnectionTimeout":"60000"

lprPrinterConnectionLingerTimeout (SO_LINGER timeout)

  • Configurable globally in Management interface and overridable locally in spooler.config

  • 0 s by default - it means that this feature is switched off.

  • Timer defines timeout for sending data at the end of the communication. System in rare cases give just small amount of time to socket for delivering all remaining data before closing connection.

  • Setting this to 30 seconds will ensure that whole job is delivered in locations with poor network. This setting is recommended to set when end of the job is missing during print.

  • Example: configure it in Management or locally: "lprPrinterConnectionLingerTimeout":"30"

CalculateJobSizeBeforeDelivery

  • Configurable only locally in spooler.config

  • Equivalent for "LPR byte counting" function of MS Windows.

  • Disabled by default.

  • Enabling this may help in a situation where print jobs are not released completely, e.g. some pages from a document or the whole documents from a print batch is missing. When enabled YSoft SafeQ provide exact job size to the MFD during "LPD handshake" so that MFD will know whether or not the print job was received completely. In general this is not needed but in some cases it may help. With the option disabled YSoft SafeQ provides FlexiSpooler sends specific generic value to the MFD (the same value is used by Windows printing sub-system for jobs with unknown size).

  • Example: "CalculateJobSizeBeforeDelivery":true

lprWaitForPrinterResponse

  • configurable globally in Management interface

  • false by default

  • waiting for jobs to finish - some MFDs with HDD sends the finished message after the job is printed - slows down the overall process of printing multiple bigger documents

  • not waiting for a job finished notification - might have issues with scalability - when a lot of jobs are processed some might be pushed for print before the MFD is ready for it and resulting in not printing some of the jobs unpredictably

  • Example: "lprWaitForPrinterResponse":true