3c503 etherus interruptus (Solved! Summary)

Randy Bush news at m2xenix.psg.com
Mon Feb 11 17:14:38 AEST 1991


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 at 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 at 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 at 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 at 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 at psg.com  / ..!uunet!m2xenix!news 



More information about the Comp.unix.xenix.sco mailing list