Subject: Re: PWS onboard tlp not working?
To: None <port-alpha@netbsd.org>
From: Aaron J. Grier <agrier@poofygoof.com>
List: port-alpha
Date: 07/19/2007 15:16:02
On Thu, Jul 19, 2007 at 03:44:51PM -0400, Miles Nordin wrote:
> It's a very old 100Mbit/s chip, one of the first, and some versions in
> Alphas shipped MII-less with very crappy speed/duplex autodetection
> that behaves kind of weirdly and maybe does not respect advertising
> and decoding the link-beat-modulation duplex signal.

tlp0 at pci0 dev 11 function 0: DECchip 21140 Ethernet, pass 1.2
tlp0: interrupting at dec_1000a irq 1
tlp0: DEC DE500-XA, Ethernet address 00:00:f8:02:06:a5
tlp0: 10baseT, 100baseTX, 100baseTX-FDX, 10baseT-FDX

this one has been problematic for me.  it doesn't autonegotiate
properly, and it'll switch in and out of 10baseT between SRM and the
kernel bringing up the interface, which upsets the switches I've tried
it with.

if you force SRM to 100baseTX-FDX, and NetBSD to 100baseTX-FDX, bootup
goes like this:

SRM switches to loopback for self-test
SRM switches to 100baseTX-FDX while in booting kernel
kernel resets to 10baseT during probe and device reset
kernel sets to 100baseTX-FDX during ifconfig

I had a realtek switch that required physical disconnect/reconnect of
the port before things would get back to normal, which of course
prevented unattended reboots.

I replaced the sucky realtek with a cisco 2900xl, which is smart enough
to re-enable a port after seeing it flip back & forth, but that still
delays bootup.  I haven't tried fixing the port at 100baseTX yet.

and of course there's the standard

tlp0: transmit underrun; new threshold: 96/256 bytes
tlp0: transmit underrun; new threshold: 128/512 bytes
tlp0: transmit underrun; new threshold: 160/1024 bytes
tlp0: transmit underrun; new threshold: store and forward mode

which I also consistently see on my two-port tulip on the router a
work:

tlp0 at pci2 dev 4 function 0: DECchip 21140A Ethernet, pass 2.0
tlp0: broken MicroWire interface detected; setting SROM size to 1Kb
tlp0: interrupting at irq 5
tlp0: Ethernet address 00:00:c0:8f:8e:ef
tlp1 at pci2 dev 5 function 0: DECchip 21140A Ethernet, pass 2.0
tlp1: broken MicroWire interface detected; setting SROM size to 1Kb
tlp1: interrupting at irq 10
tlp1: Ethernet address 00:00:c0:8e:8e:ef

(I never notice the duplicate ethernet addresses before... how very
sun-like.)

tlp1: transmit underrun; new threshold: 96/256 bytes
tlp0: transmit underrun; new threshold: 96/256 bytes
tlp1: transmit underrun; new threshold: 128/512 bytes
tlp1: transmit underrun; new threshold: 160/1024 bytes
tlp1: transmit underrun; new threshold: store and forward mode
tlp0: transmit underrun; new threshold: 128/512 bytes
tlp0: transmit underrun; new threshold: 160/1024 bytes
tlp0: transmit underrun; new threshold: store and forward mode

the 21140A seems to autonegotiate properly, though.

-- 
  Aaron J. Grier | "Not your ordinary poofy goof." | agrier@poofygoof.com
    The United States is the one true country.  The US is just.  The US
    is fair.  The US respects its citizens.  The US loves you.  We have
    always been at war against terrorism.