Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 1995 13:59:39 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        peter@bonkers.taronga.com, rgrimes@gndrsh.aac.dev.com
Cc:        hackers@FreeBSD.org, jkh@time.cdrom.com
Subject:   Re: Soundcards and interruptless drivers and lost characters, oh my!
Message-ID:  <199501170259.NAA22404@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Jordan said:
>> > I'll bet you your parallel port card is still sharing IRQ 7 though.
>> > I'm not surprised.  Don't do this - it's evil!

>Yep, it was still using IRQ7.

>Rod says:
>> If your card has a jumper on it to select IRQ5 or IRQ7, simple remove
>> the jumper and this should eliminate the driving conflict.

The IRQ shouldn't be connected unless the printer driver sets LPA_ENA.
The printer driver doesn't set LPA_ENA unless it is interrupt-driven
mode.

>OK, I traced wires and removed this jumper, and even hacked the lpa driver
>back in and I'm still losing characters with either lpa0 or lpt0/interruptless.

This confirms that the problem has nothing to do with IRQs.

>Is this really soggy and hard to light in 1.1.5.1, or do I need to get a new
>serial/parallel card?

The problem is unlikely to be in the parallel card.  Your printer probably
has unusual timing and the driver probably has timing bugs.  The printer
needs to remain ready or clear LPS_NBUSY or LPS_NACK within about 1 usec 
of the output strobe for the driver to work.  Interrupt mode can work
better because there will not be another interrupt until LPS_NACK is
cleared (or later, if the interrupt is missed) and LPS_NBUSY is guaranteed
to be valid when LPS_NACK is cleared.  It's interesting that the driver
(at least in 2.0) doesn't attempt to output multiple bytes per interrupt.
If it did so, then it would have to worry about the same problem, and
busy-waiting for too long.  Now it should worry about the hardware design
error that the IRQ is connected to NACK so it may occur before the printer
is ready.

>Tomorrow I'm going to start tracing wires and trying to figure out how to 
>disable COM2 (my Amiga) and put the sound card on IRQ3. I was hoping to get
>this done before my wife got back from her convention. She doesn't like me
>rebooting from underneath her....

For standard hardware, COM2 can be disabled by leaving out sio1 from the
configuration.  This depends on the same IRQ detaching feature as for
lpt and on a kludge in sio (it detaches the IRQs for the standard COM1-4
whether or not the devices are configured, in case the previously running
O/S attached them).  Garrett's new config scheme with allow handling this
better.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501170259.NAA22404>