[cups.general] data sitting in spool and not printing

Johannes Meixner jsmeix at suse.de
Fri Oct 28 01:49:02 PDT 2011


Hello,

On Oct 27 13:09 Helge Blischke wrote:
> Bill Greganti wrote:
>>
>> I have a client that has just upgraded from an old IBM AIX server to a new
>> RHEL 6 server. I installed CUPS on the server to setup printing to 2
>> serial dot matrix priners and 1 network printer.  The printers work from
>> the GUI and command line.
>>
>> They are using a software package that runs on T-bred, but other than that
>> I don't know much about it.  We use the software company's support for
>> that, but they say this is a Linux problem and they are not sure how to
>> fix it.
>>
>> My problem is when they print from the software package it opens the print
>> job and spools some data to the printer, but does not close the print job.
>>  So the spooling never finishes and nothing comes out of the printer. For
>> example, when they print checks, it supposed to print an alignment pattern
>> first.  They verify that the alignment is good, and then continue the job
>> printing all the checks.  But the alignment pattern gets stuck in spooling
>> and doesn't print until they exit the check module of the software.
>>
>> They say this is not a problem with the software as it worked fine on AIX.
>>  They tell me I need to turn off spooling, which I don't see any way to
>> do.
>>
>> Any help or suggestions would be much appreciated.
>>
>
> Well, in the ancient times of serial printers it was quite common to flush
> data to the printers character by character or at least at line breaks.
> As I see it, you don't have any chance to configure CUPS to work that way -
> it is contrary to the whole design (in fact, the design of any spooling
> systems).
>
> If your software prints using an executable command (like lp or lpr or
> whatever its name is), you probably could replace it by a script (shell or
> Perl or Python) that divides the possibly infinite data stream into separate
> chunks whenever a certain (adjustable) time of inactivity has elapsed or by
> catching certain signals you can trigger by keystrokes etc., or by scanning
> the data stream for certain byte sequences which mark the possible
> boundaries.

Only an untested idea:

As long as no CUPS backend sends data to the printer, one could let those
particular ancient times software print via an executable which directly
sends the data from the software to the printer, i.e. like
# cat - >/dev/lp0
so that no spooling happens at all.

If the same printer is also used via CUPS to print as usual from usual
software, there is a mutual exclusion issue...

That "They say this is not a problem with the software as it worked
fine on AIX" is nonsense because stone age software of course works fine
in a stone age environment ;-)


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany
HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer





More information about the cups mailing list