is 21143/MII a PNIC 21142 rtl8139

Kurt Huwig kurt@huwig.de
Sat Dec 18 16:24:30 1999


Bill Paul wrote:
> Bob (recbo@erols.com) writes:

[...]

> Kurt's original problem still stands, however. If even 0.91g still
> produces cruddy performance after negotiating a 100Mbps full-duplex
> link, then there's a bug somewhere. I ran into this exact problem when
> developing the if_dc driver for FreeBSD: I was using a DEC DE500-BA
> card and an Intel switch: both claimed to have negotiated a 100mbps
> full duplex link, yet the interface stats still indicated collisions.
> 
> I fixed this in the media handling code by turning off the "autoneg
> enable" bit in CSR14 as soon as the NWAY had completed and the driver
> had read the link partner capabilities word. You should be able to
> do the same with the tulip driver. In fact, I can give you a small
> patch for it. However I can't easily test it as I don't have a Linux
> box to try it with myself.
> 
> Anyway, here's what you can do:
> 
> 1) Get tulip.c version 0.91g.

[...]

> 4) At line 2136, add the following lines of code:
> 
> #define TULIP_CLRBIT(reg, x) outl(inl(ioaddr + (reg)) & ~(x), ioaddr + (reg))
> #define DC_TCTL_AUTONEGENBL     0x00000080
>                 TULIP_CLRBIT(CSR14, DC_TCTL_AUTONEGENBL);
> 
> 5) Recompile the driver and test it: let the driver autonegotiate with
>    the switch and see what it does.
> 
> Kurt: if you try this, I'd be interested to know the results.

No change. Switch says 100Mbps/FD. Kernel says

tulip.c:v0.91g 7/16/99 becker@cesdis.gsfc.nasa.govDec 18 22:16:34 tanja
kernel: eth0: Digital DS21143 Tulip rev 65 at 0xdc80, 00:C0:CA:16:11:4B,
IRQ 11.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2)
block.
eth0:  Index #1 - Media 10baseT-FD (#4) described by a 21142 Serial PHY
(2) block.
eth0:  Index #2 - Media 100baseTx (#3) described by a 21143 SYM PHY (4)
block.
eth0:  Index #3 - Media 100baseTx-FD (#5) described by a 21143 SYM PHY
(4) block.                                                 

'ttcp' gets 305kB/sec (the other machine with 220kB/sec) is offline now.

Disconnecting and reconnecting to the switch. Switch says 100Mbps/HD;
'ttcp' gets 6-7MB/sec.

Kurt
-- 
---------------------------------------------------------------------------
Samba was detected as "Samba" by WinNT 4.0 Workstation and PageMaker 6.5
was slow like hell. Now I managed to have it detected as "WinNT 4.1
Server"
and it's much faster.                  (Ein Schelm, wer Boeses dabei
denkt)