[comp.unix.i386] IRQ conflict on SCO Open Desktop

dionj@sco.COM (Dion L. Johnson) (05/26/90)

/--He said...
| I have been installing SCO's Open Desktop Rel 1.0 and am having problems with 
| the device drivers. The machine is a standard 386 AT (Samsung). The devices 
| are a 3com 503 Ethernet board and an Archive VP402 controller for a QIC02 tape
| drive.
| 
| I can get either one of them working fine on IRQ 5. Obviously I want both of
| them at the same time. If I put the Ethernet board on IRQ 2 as recommended it
| does not work. Similarly for the tape controller.
\--

You can't have two different cards jumpered for the same IRQ level, or
you'll get interrupt conflicts.  I don't understand why your 3c503 doesn't
work at IRQ2; we have several 3c503s in use internally and they all work
fine.  Have you tried the diagnostics on the disk that came with the card?

/--
| The mkdev installation script for the Ethernet board sets the kernel's 
| interrupt vector to 9 when I ask for an IRQ of 2. This is consistent with a
| board's IRQ2 line being tied to IRQ9 on the AT bus. HOWEVER the kernel's 
| startup messages report that the Ethernet board's vector is 11 (hwconfig 
| says the same).
\--

This is ok.  The IRQ levels printed out at boot time, and by hwconfig,
is in octal.

/--
| I can install the tape controller on IRQ2, set the kernel's interrupt vector
| to 9 and the tape drive is accessed when the kernel is booted (a Reset
| operation I think). But the tape won't work when accessed as /dev/?ct0.
\--

I haven't tried setting a tape controller to use IRQ2; all of the tape
drives I've configured have been set for IRQ5, or in one case, IRQ7.
I'll have to give this a try sometime...

/--
| I could try setting one of the boards to IRQ4 but this clashes with one of the
| serial devices which I can't disable. Setting N in the sdevice/sio entry as
| recommended does not seem to remove it from the kernel. The 2 devices on IRQ3,
| 4 seem to be hard wired into the kernel.
\--

Yes, the kernel by default enables the sio drivers for both COM1 and
COM2.  You can turn them off, as you know, by editing the sdevice.d/sio
file and changing the Y's to N's.  By the way, IRQ4 is used for COM1
(tty1a), not COM2 (tty2a).

In your case, I would guess the reason you're not able to use IRQ4
because you have a COM1 serial port, either on a card or built into
the motherboard.  This would result in an interrupt conflict, which
PC-class machines don't deal with gracefully.  You may want to try
IRQ3 if you don't have a COM2 serial port, or, if you don't have use
for serial ports, try disabling them altogether.  If you have one of
those generic serial/parallel port cards, you should be able to set
the jumpers and/or switches on the card to do so.

/--
| Neither the tape controller nor (I think) the Ethernet controller can have an
| IRQ greater than 7.
| 
| In summary:
| 
| Is IRQ2 usable with SCO Unix? 
\--

Yes.  The standard configuration for network cards used internally
with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.

/--
| Is the kernel and hwconfig report of a vector of 11 when I ask for 9 just a 
| reporting bug or is the vector really wrong inside where it counts?
\--

See above.

/-- 
| How can I use IRQ3 or IRQ4?
\--

By disabling the sio drivers in /etc/conf/sdevice.d/sio, and making sure
that there aren't any serial ports installed in your machine that are set
to use these IRQs.

Hope this helps.

-- 
Wu Liu -- Member, Technical Staff       The Santa Cruz Operation, Inc.
UUCP:      ...!uunet!sco!wul            400 Encinal St.
        or ...!ucbvax!ucscc!sco!wul     Santa Cruz, CA  95061
Internet:  wul@sco.COM

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (05/27/90)

In article <6119@scorn.sco.COM> wul@sco.com writes:

| /--
| | Neither the tape controller nor (I think) the Ethernet controller can have an
| | IRQ greater than 7.
| | 
| | In summary:
| | 
| | Is IRQ2 usable with SCO Unix? 
| \--
| 
| Yes.  The standard configuration for network cards used internally
| with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.

  Right on! This buys you one more interrupt than many of the other UNIX
versions support.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me

karl@ddsw1.MCS.COM (Karl Denninger) (05/28/90)

In article <1036@sixhub.UUCP> davidsen@sixhub.UUCP (bill davidsen) writes:
>In article <6119@scorn.sco.COM> wul@sco.com writes:
>
>| | Is IRQ2 usable with SCO Unix? 
>| 
>| Yes.  The standard configuration for network cards used internally
>| with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.
>
>  Right on! This buys you one more interrupt than many of the other UNIX
>versions support.

Not really.  ISC will work with IRQ2.

Both ISC and SCO Unix require that you call it something else though.

--
Karl Denninger (karl@ddsw1.MCS.COM, <well-connected>!ddsw1!karl)
Public Access Data Line: [+1 708 808-7300], Voice: [+1 708 808-7200]
Macro Computer Solutions, Inc.   "Quality Solutions at a Fair Price"

gemini@geminix.mbx.sub.org (Uwe Doering) (05/28/90)

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) writes:

>In article <6119@scorn.sco.COM> wul@sco.com writes:

>| | Is IRQ2 usable with SCO Unix? 
>| 
>| Yes.  The standard configuration for network cards used internally
>| with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.

>  Right on! This buys you one more interrupt than many of the other UNIX
>versions support.

386/ix works with IRQ2, too. The only difficulty may be that you have to
remember that on AT and 386 boards IQR2 on the bus side corresponds to
IRQ9 on the software side. Therefor if you want to use a device on IRQ2
you have to tell UNIX (during the device installation) that it is on
IRQ9. If the configuration program won't let you do this you can change
it by hand in the /etc/conf/sdevice.d directory.

I myself have a serial card on IRQ2 for several month now, without any
problems. As the interrupt management is device independent in the UNIX
kernel it doesn't matter what card you actually have on IRQ2.

There is one thing to consider, though. Most EGA and VGA cards use IRQ2
for their vertical retrace interrupt. This interrupt is absolutely
unnecessary under UNIX, and I don't know any DOS programs that need this
IRQ, either. It's there simply for compatibility reasons with the original
IBM EGA card. You have to disable this IRQ on these cards. Some have a
jumper for that purpose, but on most you have to cut the track that leads
to the B4 bus contact (it's the fourth contact on the solder side, counted
from the side where the monitor connector is). I have done this several
times and havn't had any problems from that.

     Uwe
-- 
Uwe Doering   |  Domain   : gemini@geminix.mbx.sub.org
Berlin        |---------------------------------------------------------------
West Germany  |  Bangpath : ...!uunet!pyramid!tub!tmpmbx!geminix!gemini

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (05/28/90)

In article <1990May27.183959.18120@ddsw1.MCS.COM> karl@mcs.MCS.COM (Karl Denninger) writes:

| Not really.  ISC will work with IRQ2.
| 
| Both ISC and SCO Unix require that you call it something else though.

  ??? We were just remarking that ODT knew what we meant when we said
IRQ2, when we installed a copy last week. Are you *sure* that SCO UNIX
wants it called something else? Xenix certainly does, though.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me

rcd@ico.isc.com (Dick Dunn) (05/30/90)

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) writes:
> wul@sco.com writes:

> | Yes.  The standard configuration for network cards used internally
> | with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.
> 
>   Right on! This buys you one more interrupt than many of the other UNIX
> versions support.

Huh?  Which UNIX versions don't support this?  I think it's just a
nomenclature problem.

A device which generates IRQ2 on a PC bus generates IRQ9 on an AT bus.
They go to the same line on the card-edge bus connector.

You cannot generate an IRQ2 on an AT bus.  There's no line on the bus for
it, since it's used internally for the second interrupt controller.

Some instructions call it IRQ2, since that makes it easier to understand
how you use a PCish card in an ATish machine.  They either let you say "2"
and know you mean "9"--in which case they may or may not also recognize
"9"--or they make you say "9" when you think you mean "2".  (It's sort of
like saying "dog kennel" when you mean "mattress".:-)  But you can't put
something on both 2 and 9.

This is an admittedly confusing issue; it should be in the list of
frequently questioned answers.
-- 
Dick Dunn     rcd@ico.isc.com    uucp: {ncar,nbires}!ico!rcd     (303)449-2870
   ...Simpler is better.

aland@infmx.UUCP (Colonel Panic) (05/30/90)

In article <1990May27.183959.18120@ddsw1.MCS.COM> karl@mcs.MCS.COM (Karl Denninger) writes:
>In article <1036@sixhub.UUCP> davidsen@sixhub.UUCP (bill davidsen) writes:
>>In article <6119@scorn.sco.COM> wul@sco.com writes:
>>| | Is IRQ2 usable with SCO Unix? 
>>| Yes.  The standard configuration for network cards used internally
>>| with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.
>>Right on! This buys you one more interrupt than many of the other UNIX
>>versions support.
>
>Not really.  ISC will work with IRQ2.
>Both ISC and SCO Unix require that you call it something else though.

AT&T SVR3.2.2 also handles IRQ2 fine.  Under UNIX, of course, it's 
addressed by the drivers as IRQ9.  Apparently, there is something more
to handling this properly beyond just setting the IRQ in the asy entry
to "9", however.  I was trying to use IRQ2/9 for my network card with
WIN/TCP for 386 STREAMS v3.0, and even with changing the asy 
references to "9", it still failed miserably.  After updating from 3.0 
to 3.1, it worked fine -- the install routine would accept "2" as a
valid interrupt number, and it was converted to 9 automatically.

This is using 3C503's and WD8003E's on AT&T 6386E/33 machines.

--
Alan Denney  @  Informix Software, Inc.          "We're homeward bound
aland@informix.com  {pyramid|uunet}!infmx!aland   ('tis a damn fine sound!)
-----------------------------------------------   with a good ship, taut & free
 Disclaimer:  These opinions are mine alone.      We don't give a damn, 
 If I am caught or killed, the secretary          when we drink our rum
 will disavow any knowledge of my actions.        with the girls of old Maui."

garyb@crpmks.UUCP (Gary Blumenstein) (05/31/90)

A bunch of you wrote:

>>| | Is IRQ2 usable with SCO Unix? 
>>| 
>>| Yes.  The standard configuration for network cards used internally
>>| with TCP/IP (3c501s, 3c503s, WD8003s) is IRQ2.
>>
>>  Right on! This buys you one more interrupt than many of the other UNIX
>>versions support.
>
>Not really.  ISC will work with IRQ2.
>
>Both ISC and SCO Unix require that you call it something else though.




Add SCO Xenix to the list as well.  If I'm not mistaken, the Xenix tape driver
allows software mapping of interrupt 2 for certain tape controllers.


-gb
--
Gary M. Blumenstein, UNIX Network Administrator // CIBA-GEIGY Corporation USA
-----------------------------------------------------------------------------
Phone (914) 347-4700                    7 Skyline Drive, Hawthorne, NY  10532
FAX   (914) 347-5687                    UUCP  ...uunet!philabs!crpmks!garyb