Subject: Re: Problems installing i386 1.2.1 -- EHPL!!...uh, HELP!!
To: I can teach you how to fish... <greywolf@starwolf.starwolf.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-i386
Date: 07/29/1997 00:10:25
On  Mon, 28 Jul 1997 23:28:10 -0700,
   greywolf@starwolf.starwolf.com (I can teach you how to fish...) writes:

>[thanks to thorpej && jonathan for their replies. --*greywolf; ]

Hey, you're welcome.

Jonathan Stone sez:
/*
 * You just have to configure the media speed via the 3Com
 * DOS utility: the link[012] switches don't work on the 3c59x/3c90x
 * generation, and 1.2.1 doesn't have the if_media extensions.

>That's interesting; according to the release notes, the 3c905 is
>supported with the link* switches.

If the release notes say that, they're wrong.

The link[012] switches have never worked on the Vortex (3c59x) or
Boomerang (3c90x) cards, (except for a version briefly in my own
private development tree).  The link[012] code in elink3.c always
manipulated registers specific to the 3c509 and 3c579 generation
controllers.

Media control for the Vortex/Boomerang cards involves a different
on-chip register. Media control for the Vortex/Boomerang cards got
committed when I added ifmedia support to the elink3 driver

The decision (from Core) at that time was to free up the link[012]
switches for other use.  So link[012] have *never* done media control
on the 3c59x (incl. EISA 3c592/3c597) or 3c90x.

Switching _to_ 10base_T via link[012] _may_ have fortuitously
worked, but it was never really supported.

 * 
 * It's attached as ep1, not ep0, because the GENERIC "ep0 at isa" line
 * ties down ep0, and causes "ep* at pci" and "ep* at eisa" start at ep1
 * and work upwards.
 */

>Is this to imply that  "ep1 at isa0" is really an eisa attachment?
>I don't get "ep1 at eisa0" or "ep1 at pci0".

No, it's  saying that

	ep0	at isa? port ? irq ?

wires down and eats up the device ep0.  After seeing that line,
/usr/sbin/config knows ep0 cant go anywhere else.  When it sees
	ep*	at eisa? slot ?
	ep*	at pci? dev ? function ?

config knows that ep0 is taken, so it starts the wild-carded (aka
cloning) devices at ep1.  Examine ioconf.c, and all will be revealed.