Subject: Tulip driver (if_de) and MII
To: None <tech-net@netbsd.org>
From: Jonas Larsson <jonas.larsson@netinsight.se>
List: tech-net
Date: 02/29/2000 09:19:54
Hi all. I'm having trouble getting the de driver work properly
with network cards from D-Link. The model is a DFE-570TX with
a PHY from National S. (DP83843). It's a quad card with 21143-TD.
Also single cards have the same behaviour.

All the problems are related to how the driver/hw choose what link to use.

The hardware works properly under linux/win32 and I've tried with
a large number of individs so I rule out hardware problems.

1.

The PHYs remains in autosensing no matter what link I choose
with ifconfig. I added some printouts in the routine that write
to the PHY registers and there are no writes at all to the PHY.

Example:

2 computers connected with a crossover cable (de2).

On one end I type.
#  ifconfig de2 media 100basetx
de2: enabling 100baseTX port
#  ifconfig de2
de2: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
     media: 100baseTX status: active
     inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255

The other:
# ifconfig de2 media auto
# ifconfig de2
de2: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
     media: autoselect (100baseTX <full-duplex>) status: active
     inet 192.168.100.2 netmask 0xffffff00 broadcast 192.168.100.255

Full-duplex is chosen by the autosensing side! And if I look at the diodes
the full-duplex indicator is lit on both cards, even if I set the
autosensing
side to '100basetx'.

2.

   Running the cards in full-duplex gives very poor performance.
   Below are two tests ran with netperf. One is a direct connection
   with a cross-over (which gives full-duplex as above) and one
   is through a hub witch forces the PHYs into half-duplex.

Via an hub (HD):
----------------
bash-2.02# netperf -H otto -t TCP_STREAM
TCP STREAM TEST to otto
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

16384  16384  16384    9.99       76.12

Via crossover (FD):
-------------------
bash-2.02# netperf -H 192.168.100.1 -t TCP_STREAM
TCP STREAM TEST to 192.168.100.1
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

16384  16384  16384    13.86       0.04


3. Is there a list over cards that have been tested? Does anyone use
   an card from Dlink?

All help and suggestions are appreciated.

/ Jonas