[comp.sys.ibm.pc.hardware] 3c503 etherus interruptus

news@m2xenix.psg.com (Randy Bush) (02/04/91)

I am having problems with 3c503s interfering with serial ports, both in Xenix
and MS-DOS.  I believe it has to do with interrupts. 

I can't RTFM, as I do not have the documentation for the 3c503s, having gotten
them at a discount shop which buys by the carton.  As far as I can tell (aided
by the NCSA notes), the 3c503 (as opposed to the 3c501) has no jumpers for
interrupt or DMA address selection, but controls these by software.  My sad
story is as follows (sounds of violin are heard):

Xenix (2.3.3 and TCP 1.0.1b with all the latest XNXs)

When TCP is installed and configured, it runs just fine (name service,
resolver, and all), but tty2a/tty2A is dead as a doornail while tty1a/1A is
fine.  Note that tty2a uses Int-3, and tty1a uses Int-4.  The 3comB was
configured (at device install time, mkdev 3comB) to use interrupt 2.

I tried a kernel with the 3com configured in but not starting TCP (by not
starting any of the Streams or TCP deamons and not running ifconfig) but still
no go.  If have the 3comB driver in the kernel at all, then tty2a/2A does not
work, although tty1a/1A does.

DOS

If I use NCSA ftp or telnet with CONFIG.TEL saying to use Int-2, both of the
serial ports (COM1: and COM2:) are useless (by my interrupt-driven FOSSIL
software) until I power cycle the box (no reset button available).

The same software with a 3c501 jumpered for Int-2 causes no problems.

So what am I doing wrongly this time?

Thanks.


-- 
Randy Bush  / news@psg.com  / ..!uunet!m2xenix!news 

klefstad@ux1.cso.uiuc.edu (Sue Klefstad) (02/07/91)

news@m2xenix.psg.com (Randy Bush) writes:

>I am having problems with 3c503s interfering with serial ports, both in Xenix
>and MS-DOS.  I believe it has to do with interrupts. 
>....
>If I use NCSA ftp or telnet with CONFIG.TEL saying to use Int-2, both of the
>serial ports (COM1: and COM2:) are useless (by my interrupt-driven FOSSIL
>software) until I power cycle the box (no reset button available).

>The same software with a 3c501 jumpered for Int-2 causes no problems.

The 3C503 defaults to interrupt 3.  If you're using a DEVICE=ETH503.SYS
in your config.sys, you'll need to specify interrupt 2 there:
DEVICE=ETH503.SYS /I:2

-- 
-- Sue
--
=========================================================================
Sue Klefstad    Ill. Natural History Survey    klefstad@uiuc.edu

karn@epic.bellcore.com (Phil R. Karn) (02/09/91)

In article <1991Feb7.144231.1699@ux1.cso.uiuc.edu>,
klefstad@ux1.cso.uiuc.edu (Sue Klefstad) writes:
|> The 3C503 defaults to interrupt 3.  If you're using a
DEVICE=ETH503.SYS
|> in your config.sys, you'll need to specify interrupt 2 there:
|> DEVICE=ETH503.SYS /I:2

Be careful. Although it is not widely documented, VGA cards (and I
believe EGA) use IRQ2 to signal vertical retrace.

Phil

newbery@stout.atd.ucar.edu (Santiago Newbery) (02/09/91)

In article <1991Feb8.162601@epic.bellcore.com>, karn@epic.bellcore.com
(Phil R. Karn) writes:
|>In article <1991Feb7.144231.1699@ux1.cso.uiuc.edu>,
|>klefstad@ux1.cso.uiuc.edu (Sue Klefstad) writes:
|>|> The 3C503 defaults to interrupt 3.  If you're using a
|>DEVICE=ETH503.SYS
|>|> in your config.sys, you'll need to specify interrupt 2 there:
|>|> DEVICE=ETH503.SYS /I:2
|>
|>Be careful. Although it is not widely documented, VGA cards (and I
|>believe EGA) use IRQ2 to signal vertical retrace.
|>
|>Phil
           
The above is true, however most current VGA cards (Orchid Pro Des II,
Video 7 VGA 1024i, etc.) come with IRQ 2 disabled by default.
As stated in their doc, it only needs to be enabled (via jumper/switch)
for *old* S/W that requires the vert. retrace interrupt.


Santiago

news@m2xenix.psg.com (Randy Bush) (02/11/91)

I posted asking for help with interrupt conflicts between a 3Com 3c503 and my
serial ports (in PClone land).  Xenix was locking up at boot time if the driver
for the 3c503 was installed.  Similarly, an MS-DROSS machine across the room
had serial port disease after use of NCSA with a 3c503.

Of course, the 3c503 has no jumpers for interrupts, and I do not yet have a
manual or the software diskette (got 'em for $199 ea. at a bulk outlet, so
waddya want for $199:-).

There were many suggestions.  Here is a summary.  For the impatient, the fix
for Xenix is at the end.  I am still working on DOS.

------------------------------------------------------------------------------

From: "Oberste, Steve" <oberste@fcrfv1.ncifcrf.gov>

Our 3c503's are configured as follows:
    I/O port: 310; mem address: CC00; IRQ 2; DMA channel 1
We are running DOS with the Clarkson v 7.x packet drivers. If you are 
interested, I can send you an extra manual. Just send me your postal address.

[ No fix, but a generous offer of a manual.  Thank you. ]

------------------------------------------------------------------------------

From: fitz@wang.com (Tom Fitzgerald)

Sounds like an I/O address collision, not necessarily an intvec collision.
What I/O addresses are you using for the 503 card versus COM2?

Does Xenix have a "hwconfig" command?  (SCO Unix does, I don't have any Xenix
boxes around).  If so, it might be worth a close eyeball.  We had to tweak the
I/O addresses of a number of 503 cards around here from 300 or 330 to 250 to
avoid collisions.

[ never did figure out why Tom had conflicts at 0x300, as tty2a goes from 0x2F8
  to 0x2FF.  But Tom said it worked for him.  It did not for me. ]

------------------------------------------------------------------------------

From: jgd@Dixie.Com (John G. DeArmond)

I'm not going to try to explain the setup to you because you must have the
setup disk for the 3c503 card.  This software writes the EEPROM in the ASIC on
the board.

[ Of course, John is right.  I have made arrangements to go get the damn
  diskette.  But still, this is not an immediate fix. ]

------------------------------------------------------------------------------

From: [ about ten folk ]

I sympathize with you Randy. Sorry I can't offer any real help though. ...
...
Good luck with your problem :-)
...
NSTAR Public Access 219-289-0287 - 1190 newsgroups - 1500 megabytes - 7 lines

[ Hmmmm<tm>. ]

------------------------------------------------------------------------------

From: karn@epic.bellcore.com (Phil R. Karn)

Be careful. Although it is not widely documented, VGA cards (and I believe EGA)
use IRQ2 to signal vertical retrace.

[ Yup.  That's an old trap, but pretty rare these days.  As these are B&W
  systems, this was unlikely to be the problem.  But this is a good one to
  remember. ]

------------------------------------------------------------------------------

From: Jeff Liebermann <uunet!comix!jeffl>

You need a 3Com DOS disk to set the electrically erasable eprom (eeprom) that
sets the dma channnel and IRQ.  The disk is quite full so I don't think it
would pay to uuencode and email you the mess.  Just call 3Com service at
1-800-323-2312 and ask for the Etherlink II Diagnostic Software Disk.  Mine has
number 2230-01 on it.  You should also get the Etherlink II Installation Guide
number 3662-00.

Incidentally, I have several 3c503 cards.  I ran some error rate analysis tests
between them and Western Dismal wd8003ebt cards.  The larger packet buffer
(32k) in the WD improved thruput about 40% and cut the error rate in half.  The
wd8003eb with an 8kb buffer, acted about the same as the 3com 3c503.

[ Good advice and good info.  As Xenix will only support one WD but supports
  multiple 3c503s, I am pretty locked into the 3c503. ]

------------------------------------------------------------------------------

From: uunet!amgraf!huver (Huver)  [ THE ANSWER !!! ]

I've not seen anyone addressed this fully, so here's what I know:

The 3c503 card, on power-on, defaults to IRQ 3; the IRQ can then be programmed
to something else.  The board supports XT style DMA.

[ ... some reasonable looking advice for DOS use that requires the software on
  diskette ]

For Xenix, whatever interrupt vector you want 3c503 to use, you MUST make sure
the sio (serial port) driver does not look into IRQ 3 devices before 3c503 is
programmed (by 3comB driver).  Assuming you've already run "mkdev 3comB"
procedure (if not, remember to say "no" to "Do you want to link a new kernel?"
in mkdev 3comB):

  1. from root login, cd /usr/sys/conf.

  2. vi master, move the "sio..." line to after "e030" line; do the
     same in file xenixconf.

  3. "./configure -r", then say q to the prompt.

  4. "./link_xenix"

  5. move/copy the new xenix to / (eg. ./hdinstall)

  6. sync; sync; reboot

Editing master/xenixconf, forces sio to initialize after the 3c503 driver has
done its job (strictly speaking, the order of drivers appearing in xenixconf
file is the order they get initialized on boot; but to keep records straight,
it's better to impose the same order in the master file as well).

Once 3c503 gets programmed, it'll no longer respond to sio's hunt for serial
ports -- ie. when sio tests serial port registers/IRQ patterns, 3c503 will not
participate.

[ This worked.  Thank you, Huver!  Initialization order should have been
  obvious, but most things are in hindsight.  Owe you one Huver. ]

------------------------------------------------------------------------------

And now on to sorting it out in the MS-DROSS world.  Thanks to all.

randy
-- 
Randy Bush  / news@psg.com  / ..!uunet!m2xenix!news 

tim@dell.co.uk (Tim Wright) (02/12/91)

In <1991Feb8.162601@epic.bellcore.com> karn@epic.bellcore.com (Phil R. Karn) writes:

>In article <1991Feb7.144231.1699@ux1.cso.uiuc.edu>,
>klefstad@ux1.cso.uiuc.edu (Sue Klefstad) writes:
>|> The 3C503 defaults to interrupt 3.  If you're using a
>DEVICE=ETH503.SYS
>|> in your config.sys, you'll need to specify interrupt 2 there:
>|> DEVICE=ETH503.SYS /I:2

>Be careful. Although it is not widely documented, VGA cards (and I
>believe EGA) use IRQ2 to signal vertical retrace.

EGA cards used IRQ2/9 for the retrace interrupt. Any decent VGA cards either
have this disabled by default or have an option to disable it. It is not
necessary and as you have noticed, gobbles up a *valuable* interrupt line.

Tim
--
Tim Wright, Dell Computer Corp. (UK) | Email address
Bracknell, Berkshire, RG12 1RW       | Domain: tim@dell.co.uk
Tel: +44-344-860456                  | Uucp: ...!ukc!delluk!tim
"What's the problem? You've got an IQ of six thousand, haven't you?"

ericd@sco.COM (Eric Davis) (02/12/91)

In article <1991Feb8.162601@epic.bellcore.com> karn@thumper.bellcore.com writes:
>Be careful. Although it is not widely documented, VGA cards (and I
>believe EGA) use IRQ2 to signal vertical retrace.

I have seen a very few EGA cards and no VGA's that do.
I also have never had trouble installing a ether card on int 2.

Just my 2 cents worth.

Ericd

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Eric Davis                      () INTERNET -=> ericd@sco.COM
Technical Support Engineer II   () UUCP     -=> {uunet|sun|att|ucsc}!sco!ericd
The Santa Cruz Operation, Inc.  ()=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

eli@robechq.UUCP (Eli Levine) (02/15/91)

In article <14518@scorn.sco.COM> ericd@sco.COM (Eric Davis) writes:
>
>In article <1991Feb8.162601@epic.bellcore.com> karn@thumper.bellcore.com writes:
>>Be careful. Although it is not widely documented, VGA cards (and I
>>believe EGA) use IRQ2 to signal vertical retrace.
>
>I have seen a very few EGA cards and no VGA's that do.
>I also have never had trouble installing a ether card on int 2.
>
>Eric Davis                      () INTERNET -=> ericd@sco.COM
>Technical Support Engineer II   () UUCP     -=> {uunet|sun|att|ucsc}!sco!ericd
>The Santa Cruz Operation, Inc.  ()=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Most surprising Eric.  At Robec, we've found it to be a
common problem.  The odd part I'd like to add is that I've
never seen an EGA do it, but VGA conflicts seem common.  :-(

Eli Levine @Robec Distributors

brennan@merk.UUCP (Rich Brennan) (02/16/91)

In article <1991Feb3.225956.28698@m2xenix.psg.com> news@m2xenix.psg.com (Randy Bush) writes:
>Xenix (2.3.3 and TCP 1.0.1b with all the latest XNXs)
>
>When TCP is installed and configured, it runs just fine (name service,
>resolver, and all), but tty2a/tty2A is dead as a doornail while tty1a/1A is
>fine.  Note that tty2a uses Int-3, and tty1a uses Int-4.  The 3comB was
>configured (at device install time, mkdev 3comB) to use interrupt 2.

When I used a WD8003 on a Xenix system, the kernel I was running saw the
ethernet board at I/O address 0x280, and thought it was a TANDON multiport
board! From /usr/adm/messages:

%fpu      -		35	-	type=80387
%floppy   0x3F2-0x3F7	06	2	unit=0 type=96ds15
%floppy   -		-	-	unit=1 type=135ds18
%serial   0x3F8-0x3FF	04	-	unit=0 type=Standard nports=1
%serial   0x280-0x287	03	-	unit=1 type=TANDON nports=4
%parallel 0x3BC-0x3BE	07	-	unit=1

There went /dev/tty2* ("COM2"). If the board comes up defaulting to that
address, your Xenix may also see it as a TANDON board. Check /usr/adm/messages
for something like the above.

To solve it, what I did was to go into /usr/sys/io, and edit sioconf.c so
that any boards which had an address in that range, and deleted the line so
the kernel wouldn't auto configure that board.

I can't help you with the DOS problem, sorry.


Rich
-- 
brennan@merk.com	...!uunet!merk!brennan		Rich Brennan