Issues with eepro100 and full duplex

Devin Heitmueller <[email protected]> 13 Aug 2003 18:54:35 -0400
Newsgroups gmane.linux.drivers.eepro100.devel
Organization Netilla Networks Inc.
Message-ID <[email protected]>
I am having some difficulties with configuring the eepro100 driver to
operate in full duplex mode.  I am running an unmodified eepro100 driver
that ships with the 2.4.21-pre5 kernel.  Here is what I am seeing.

I have the test machine with the 82559 connected to a NetGear FS108
10/100 switch.  The Netgear switch has lights that indicate 10 or 100Mb,
and Full or half duplex.

Using mii-tool, I configure the device for autonegotiate.  Mii-tool
reports autonegotiate at 100 Full duplex.  The NetGear switch also
reports 100 Full duplex.  So far so good.

Then I use mii-tool to configure the card to disable autonegotiate and
run at 100 full duplex.  Mii-tool reports that the card is running at
100 full duplex, but the switch now reports that the link is at 100 HALF
duplex.  Running some more tests reveals similar results, where
regardless of setting the card to half or full duplex, the switch always
reports the link at half duplex.

Here are the configuations I ran, and the results according to the
Netgear switch:

mii-tool      Netgear switch
10BaseT-FD    10BaseT-HD
10BaseT-HD    10BaseT-HD
100BaseTx-FD  100BaseTx-HD
100BaseTx-HD  100BaseTx-HD

I ran the same test against a Cisco managed switch, and am seeing the
same results.  In either case, it always runs half-duplex, unless I set
the card to autonegotiate.

Tried this with a system containing an 82551 chipset.  Same results. 
Also tried this with Intel's e100 driver (using ethtool instead of
mii-tool).  Same results.

Can anyone please explain this behavior?  Why does mii-tool not report
what the link is really running at?  Why do both the Cisco and Netgear
switches only negotiate full duplex when the eepro is set to
autonegotiate?  Is there something in the Ethernet spec that would make
this expected behavior?  

Thanks in advance.

-- 
Devin Heitmueller
Senior Software Engineer
Netilla Networks Inc.