Subject: Re: can't switch DE500 to 100Mbit
To: Matthias Drochner <firstname.lastname@example.org>
From: Ben Tober <email@example.com>
Date: 02/14/1997 17:50:25
> > de0: address 00:00:f8:30:94:ca
> It works with 10Mbit, and it used to work under
> NetBSD-1.2 with 100Mbit too.
> Not it looks the following:
> If I do a "ifconfig de0 link2", it doesn't cause any
> effect. "ifconfig de0 -link2" prints
> "de0: enabling 10baseT port".
> I observed that the TULIP_ALTPHYS flag in
> sc->tulip_flags is set all the time.
> So I set it to 0 by the debugger. After that,
> the "ifconfig de0 link2" switched the card to
> 100Mbit (but without the console printout), the link got
> up, but after a second or so, "de0: enabling 10baseT port"
> appeared and the card switched back.
Try ifconfig de0 link0 to force 100Mbps mode. The driver is supposed to
do the right thing with respect to the standard 10BaseT/100BaseTX
autodetection handshaking stuff, _but_ the code for that is not correct,
and depending on what stepping of the 21140 is on your DE500, the
autodetection may or may not work (but AFAIK setting link0 will force 100Mbps
mode no matter what stepping of the 21140 or version of the driver you're
playing with). Somewhere (but not at the top of, sadly) on my to-do list
is making the autoconfiguration stuff work correctly and uniformly for all
steppings of the 21140 and also having the driver automatically work around
errata in certain steppings of the 21140. All the earlier versions of the
21140 (up to but not including the 21140AC if I recall correctly, though my
errata sheets aren't in front of me) have a problem with the hash/perfect
receive filtering mode which will bite you if you're trying to listen to
more than 14 ethernet multicast addresses simultaneously. Admittedly, this
problem doesn't bite too many people, but I really should clean up the
workaround code I've written so that it only implements the workaround if
you have a buggy stepping, and then I should contribute it so that those who
have the urge to subscribe to many multicast addresses with the 21140 can
do so and have it work.