[comp.unix.xenix] SCO XENIX/386 and a slow lp

toma@killer.DALLAS.TX.US (Tom Armistead) (09/11/88)

I have just installed 386 Xenix (SCO) and am having some problems
with the lp spooler. It runs **REAL** slow, printing about 1 line
every 1 to 2 seconds, even when there is absolutely nothing else
happening on the system...

Has anybody had the same problem and does anybody know of a fix???

It's probally in the manuals somewhere - but I couldn't find squat...

Thanks in advance,
Tom
-------------
Tom Armistead
UUCP:  ...!att | ...!ihnp4 | ...!ames | ...!decwrl | ...!mit-eddie
				!killer!toma
-- 
-------------
Tom Armistead
UUCP:  ...!att | ...!ihnp4 | ...!ames | ...!decwrl | ...!mit-eddie
				!killer!toma

sandy@turnkey.TCC.COM (Sanford 'Sandy' Zelkovitz) (09/11/88)

In article <5470@killer.DALLAS.TX.US>, toma@killer.DALLAS.TX.US (Tom Armistead) writes:
> I have just installed 386 Xenix (SCO) and am having some problems
> with the lp spooler. It runs **REAL** slow, printing about 1 line
> every 1 to 2 seconds, even when there is absolutely nothing else
> happening on the system...
> 
> Has anybody had the same problem and does anybody know of a fix???
> 
> It's probally in the manuals somewhere - but I couldn't find squat...
> 
> Thanks in advance,
> Tom
> -------------
> Tom Armistead
> UUCP:  ...!att | ...!ihnp4 | ...!ames | ...!decwrl | ...!mit-eddie
> 				!killer!toma

The problem that you described above is not unusual with some line printers
which do not follow the proper interrupt protocols. There is one method
which may work with your printer and that is to generate a polled driver
instead of the interrupt service driver. This can be done very simply
by using the mknod program. Firstly, find the "minor" number that you
are using and generate a new node that is exactly 64 larger ( minor ).
For example, if the major an minor for lp0 is 6,0; you can generate a
new node that is 6,64.

            mknod /dev/lp0p c 6 64

The above entry to the lp driver, called lp0p, will be a polled driver.
Re-run lpinit and assign /dev/lp0p as the driver ( this will not
show as a valid driver in SCO's menu; however , it will be accepted ).

The above "fix" will normally work unless the printer is really odd.
 
Sanford ( Sandy ) Zelkovitz - XBBS Node #1 -  714-898-8634
 
               !att!hermix!alphacm!sandy

debra@alice.UUCP (Paul De Bra) (09/11/88)

My only experience is with the XENIX 286 lp driver. The manual does give
a number of suggestions about how to solve the slow lp problem. For some
(most?) printers none of the suggestions work. The driver needs a complete
rewrite, and that's what i've done. Works fine now, with many printers.

Hope SCO will have a completely rewritten driver in their next release.

The easiest way to improve the driver is to make it polling, to make sure
you get a while line out with one interrupt instead of getting an interrupt
per character (which causes extremely slow output). A polling driver which
works will be busy-looping between chars for a short time, and this may
have a very negative effect on the overall performance while printing.
(but it prints fast).

jeff@drexel.UUCP (Jeff White) (09/13/88)

In article <5470@killer.DALLAS.TX.US>, toma@killer.DALLAS.TX.US (Tom Armistead) writes:
> I have just installed 386 Xenix (SCO) and am having some problems
> with the lp spooler. It runs **REAL** slow, printing about 1 line
> every 1 to 2 seconds, even when there is absolutely nothing else
> happening on the system...

  We have a Tandy 3000 (8 MHz 286) running SCO, and when printing, the system
does slow down (most noticeable during screen updates).  The reason I think 
this happens is that the parallel port generates an interrupt for every
character sent to the port.  I wouldn't expect a 386 sytem to be worse, but
it could be that your particular system has more of hardware related problem
then a software one (this is all assuming your printer is connected to a dumb
port (either parallel or serial).  You might want to test your system under
DOS, under the PRINT command (to get spooled printing), and see how slow the 
response is while the printing is happening.

						Jeff White
						Drexel University - ECE Dept.
						rutgers!bpa!drexel!jeff

haugj@pigs.UUCP (The Beach Bum) (09/14/88)

In article <707@drexel.UUCP> jeff@drexel.UUCP (Jeff White) writes:
>  We have a Tandy 3000 (8 MHz 286) running SCO, and when printing, the system
>does slow down (most noticeable during screen updates).  The reason I think 
>this happens is that the parallel port generates an interrupt for every
>character sent to the port.

as simple as the interface to the parallel port board is, the parallel
printer driver should be able to handle 1000+ characters per second.

there was a patch from sco which may have caused this problem.  it
added a busy loop of some sort into the device driver.
-- 
=-=-=-=-=-=-=-The Beach Bum at The Big "D" Home for Wayward Hackers-=-=-=-=-=-=
               Very Long Address: John.F.Haugh@rpp386.dallas.tx.us
                         Very Short Address: jfh@rpp386
                           "ANSI C: Just say no" -- Me

jbayer@ispi.UUCP (id for use with uunet/usenet) (09/14/88)

In article <5470@killer.DALLAS.TX.US>, toma@killer.DALLAS.TX.US (Tom Armistead) writes:
> I have just installed 386 Xenix (SCO) and am having some problems
> with the lp spooler. It runs **REAL** slow, printing about 1 line
> every 1 to 2 seconds, even when there is absolutely nothing else
> happening on the system...
> 

Look in the release notes.  This problem  (and the cure) is mentioned there
(I don't have them handy right now)

Jonathan Bayer
Intelligent Software Products, Inc.

andrew@riddle.UUCP (Andrew Beattie) (09/14/88)

In article <5470@killer.DALLAS.TX.US> toma@killer.DALLAS.TX.US (Tom Armistead) writes:
>I have just installed 386 Xenix (SCO) and am having some problems
>with the lp spooler. It runs **REAL** slow, printing about 1 line
>every 1 to 2 seconds, even when there is absolutely nothing else
>happening on the system...

I'll bet my bottom dollar that you are running 2 parallel printers.  This
problem is known and the fix is described in the release notes of your
(HW) manual.

One parallel printer works ok because the interupt is unique but if you have
two then you need to change the system so that the CPU polls the boards (as
opposed to the boards interupting the CPU)

allen@sulaco.UUCP (Allen Gwinn) (09/15/88)

In article <707@drexel.UUCP> jeff@drexel.UUCP (Jeff White) writes:
>  We have a Tandy 3000 (8 MHz 286) running SCO, and when printing, the system
>does slow down (most noticeable during screen updates).  The reason I think 
>this happens is that the parallel port generates an interrupt for every
>character sent to the port.

If my memory serves me correctly, there is a solution to this in the
release notes contained in your Run Time Env manual.

-- 
Allen Gwinn  ...sulaco!allen        Disclaimer: The facts stated are my own.
"At the source of every error blamed on a computer you will find at least two
 errors...including the error of blaming it on the computer."

debra@alice.UUCP (Paul De Bra) (09/16/88)

Andrew Beatty says in his reply to Tom Armistead:
>In article <5470@killer.DALLAS.TX.US> toma@killer.DALLAS.TX.US (Tom Armistead) writes:
>>I have just installed 386 Xenix (SCO) and am having some problems
>>with the lp spooler. It runs **REAL** slow, printing about 1 line
>>every 1 to 2 seconds, even when there is absolutely nothing else
>>happening on the system...
>
>I'll bet my bottom dollar that you are running 2 parallel printers.  This
>problem is known and the fix is described in the release notes of your
>(HW) manual.

I'll bet Andrew loses the bet. There is a REAL problem with the printer
driver:
1) an interrupt driven driven driver (the default) only works fine on some
   combinations of printers and systems, depending on very critical timing.
   I used an AT-clone with an Epson MX100 and discovered that at 8Mhz and
   10Mhz the printer would print slow. Only if I changed my AT to run at
   9Mhz the printer would print fast. This may seem very unlikely but it
   really did happen. And there is nothing SCO can do about it, because
   there are too many different computers and printers out there to get
   the timing right for all of them.
2) the polling driver, which the manual suggests to try next, is again
   depending on rather critical timing: The idea is to stay in a tight
   loop after sending a character to the printer, hoping that the printer
   will be ready to receive the next character very soon. This is repeated
   until there either are no more characters to print or until the printer
   does not respond quickly enough. The tight loop is short to reduce the
   influence on the total system performance. For some combinations of
   (fast) systems and (slow) printers the loop is still too short. SCO had
   to "guess" some reasonable number, and this may sometimes not work.
   If you are the unlucky guy who has this problem you should write your
   own (polling) printer driver. (mine is only 65 lines of C-code)

Paul De Bra.

gillisb@mist.cs.orst.edu (Brian Gillis) (09/18/88)

In article <5470@killer.DALLAS.TX.US> toma@killer.DALLAS.TX.US (Tom Armistead) writes:
>I have just installed 386 Xenix (SCO) and am having some problems
>with the lp spooler. It runs **REAL** slow, printing about 1 line
>every 1 to 2 seconds, even when there is absolutely nothing else
>happening on the system...
>
>Has anybody had the same problem and does anybody know of a fix???

I have had this problem in the past and it has usually been one of the
following things:
1) Bad printer cable.  
2) The interrupt on your printer card is set incorrectly
3) Your printer may not be using the same protocol with your printer
   port on your 386.  I have had this problem when I allow users to 
   use their really old printers that require strobing on various lines.
   If you look in your SCO Run-Time Manual, you will see how to overcome
   this problem by creating polled printer ports.

If you find out anything new, please let me know.
hp-pcd!orstcs!gsd!gillisb

jpr@dasys1.UUCP (Jean-Pierre Radley) (09/24/88)

In article <5470@killer.DALLAS.TX.US> toma@killer.DALLAS.TX.US (Tom Armistead) writes:
>I have just installed 386 Xenix (SCO) and am having some problems
>with the lp spooler. It runs **REAL** slow, printing about 1 line
>every 1 to 2 seconds, even when there is absolutely nothing else
>happening on the system...
>

You didn't mention what kind of computer nor what kind of printer.
There's been a lot of references to slow spooling on the TANGENT Forum of
Compuserve.
From memory, the problems alsmost always involved certain DWPrinters of
Tandy's, and the fix was a hardware mod that any RS Computer Center should
know about by now.
-- 

Time is nature's way of				Jean-Pierre Radley
making sure that everything			..!cmcl2!phri!dasys1!jpr
doesn't happen all at once.			CIS: 76120,1341

cacsc222%mx@csun.edu (09/27/88)

In article <5470@killer.DALLAS.TX.US> toma@killer.DALLAS.TX.US (Tom Armistead) writes:
>I have just installed 386 Xenix (SCO) and am having some problems
>with the lp spooler. It runs **REAL** slow, printing about 1 line
>every 1 to 2 seconds, even when there is absolutely nothing else
>happening on the system...
>

As I recall, this has something to do with cheap Herc clone cards.
About a year ago, someone posted a patch for this.  If you don't
have a herc clone card, ignore this message.

jr@uplherc.UUCP (J.R. Westmoreland) (10/06/88)

In article <1545@csun.edu>, cacsc222%mx@csun.edu writes:
> As I recall, this has something to do with cheap Herc clone cards.
> About a year ago, someone posted a patch for this.  If you don't
> have a herc clone card, ignore this message.

I have one of these cheap herc like cards, at least so the people that I purchased the computer from
tell me.  

Could some one who has the patch and all of the details of the problem please
send me a copy of the patch and a message describing the details of the trouble.

Thanks,
J.R. Westmoreland
Office Email: ...!uplherc!jr
Home Email: ...!uplherc!cronus!jr
Phone: (801) 2204784