Subject: Re: PLEASE READ: tlp status
To: Charles M. Hannum <current-users@netbsd.org>
From: Monroe Williams <monroe@pobox.com>
List: current-users
Date: 05/03/2002 02:27:57
on 5/2/02 2:00 PM, Charles M. Hannum at root@ihack.net wrote:

> 
> I've searched through my inbox, and I see only 4 tlp issues (some
> recurring):
> 
> 1) Some people are trying to use 10/full.  Sorry; I can't help you if
>  this doesn't work.  Get a switch that supports it.
> 
> 2) Problems with link negotiation on MII-less 2114[03] chips.  There
>  are some severe problems with the Nway support that Chuq added for
>  this configuration which need to be addressed.  I'm assuming that
>  Chuq will fix it.  (PR 16508 is in this category.)
> 
> 3) Problems with some 21040 chips using 10baseT (`MII error', etc.)
>  It looks like full-duplex mode may be erroneously set on some of
>  these boards.  I'll look into that.
> 
> 4) It doesn't work on the CATS.
> 
> If there are any other problems, please let me know.
> 

Well, now that you mention it...

I was in the process of writing a lament of the problems I've had with the
tlp driver when I saw your mail sometime last month about fixes to it.  I
have 3 cards:

AsanteFast PCI Rev A (single 21140A)
Farallon/Proxim PN996 (single 21143)
D-Link DFE-570TX (four 21143 chips with mii "nsphyter" PHYs)

all of which have some sort of problem under -current-macppc.

When I saw your mail, I got the latest sources from CVS (on or around Apr.
23), built a new kernel, and restarted my testing.

The Asante card probes as:

tlp0 at pci0 dev 14 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: interrupting at irq 24
tlp0: Ethernet address 00:00:94:a1:68:f1
tlp0: 10baseT, 100baseTX, 10baseT-FDX, 100baseTX-FDX

It comes up and passes packets, but it has such serious problems that I
can't use it.  Throughput is terrible and very bursty.  Simple transfer rate
tests with FTP and 'netstat -bw 1' are painful to watch.

The Farallon card probes as:

tlp0 at pci1 dev 18 function 0: DECchip 21143 Ethernet, pass 4.1
tlp0: interrupting at irq 52
tlp0: Ethernet address 00:00:c5:53:c2:69
tlp0: 21143 reset block
tlp0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

Under 1.5.2, the it got periodic "tlp0: receive ring overrun" messages and
didn't autonegotiate at all ('auto' wasn't even in the probe list), but
seemed to work fine once I manually set speed and duplex.

With -current, it autonegotiated and worked fine in two out of three
machines I tried it in, but (of course) the production box got _lots_ of:

May  2 12:03:19 critter /netbsd: tlp0: receive error: dribbling bit
May  2 12:03:19 critter /netbsd: tlp0: receive error: CRC error

Since this was my production server which was being upgraded to a -current
kernel, and I had other options besides this network card, I didn't take the
time to find out whether these were harmless or not.

Come to think of it, there could be other factors here -- this machine is
talking directly to a Cisco Catalyst series switch through a pretty long
patch panel run, which is very different from the other setups I tried.  If
those log messages indicate a real network problem, this card may not need
any help.

Finally, the D-Link card probes as:

ppb0 at pci0 dev 14 function 0: Digital Equipment DECchip 21152 PCI-PCI
Bridge (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
tlp0 at pci1 dev 4 function 0: DECchip 21143 Ethernet, pass 4.1
tlp0: interrupting at irq 24
tlp0: Ethernet address 00:80:c8:b9:7b:45
nsphyter0 at tlp0 phy 1: DP83843 10/100 media interface, rev. 0
nsphyter0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
tlp1 at pci1 dev 5 function 0: DECchip 21143 Ethernet, pass 4.1
tlp1: interrupting at irq 24
tlp1: Ethernet address 00:80:c8:b9:7b:46
nsphyter1 at tlp1 phy 1: DP83843 10/100 media interface, rev. 0
nsphyter1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
tlp2 at pci1 dev 6 function 0: DECchip 21143 Ethernet, pass 4.1
tlp2: interrupting at irq 24
tlp2: Ethernet address 00:80:c8:b9:7b:47
nsphyter2 at tlp2 phy 1: DP83843 10/100 media interface, rev. 0
nsphyter2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
tlp3 at pci1 dev 7 function 0: DECchip 21143 Ethernet, pass 4.1
tlp3: interrupting at irq 24
tlp3: Ethernet address 00:80:c8:b9:7b:48
nsphyter3 at tlp3 phy 1: DP83843 10/100 media interface, rev. 0
nsphyter3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

(Yeah, all that is on one card.  It's crowded.)

It works flawlessly as long as I only use one of the 4 interfaces on the
card.  If I bring up 2 or more, after a short but variable amount of time I
start getting repeated:

May  3 01:19:40 macppc /netbsd: tlp0: filter setup and transmit timeout
May  3 01:19:43 macppc /netbsd: tlp1: filter setup and transmit timeout

and all interfaces stuff up completely.  I can get them back if I 'ifconfig
down' all interfaces and then 'ifconfig up' again, but the problem recurs.

I have all 3 cards available here, along with a non-critical machine running
-current that I can swap them into.  I'm willing to do more detailed
testing, try out patches and generally try to make myself useful.  Let me
know if I can help.

-- monroe
------------------------------------------------------------------------
Monroe Williams                                         monroe@pobox.com