For When You Can't Have The Real Thing
[ start | index | login ]
start > Solaris > ethernet duplex

ethernet duplex

Created by dave. Last edited by dave, 14 years and 92 days ago. Viewed 7,366 times. #3
[diff] [history] [edit] [rdf]
labels
attachments

Background

Sun 'hme' 10/100 interfaces sometimes don't play nice with switches.

This has been noticed on:

  • Ultra 10
  • Ultra 5
  • Ultra-Enterprise 450
  • Ultra Enterprise 250
We have also had these problems with the 'dmfe' and 'eri' interfaces on some older Suns too.

I have noticed this problem with older 3Com switches which are contemporary to the suns that have hme interfaces. For example:

  • 3com super stack 3900
  • 3com super stack 4300

Symptom

If you look in detail at the interface in this state, you will notice that netstat -i 5 returns large numbers of input frame errors when the interface is under load. This is the switchport trying to negotiate with an end-station which is refusing to cooperate.

Fix: Modify the /etc/system file

Add:

* hme settings for duplex issues
set hme:hme_adv_autoneg_cap=0
set hme:hme_adv_100T4_cap=0
set hme:hme_adv_100fdx_cap=1
set hme:hme_adv_100hdx_cap=0
set hme:hme_adv_10fdx_cap=0
set hme:hme_adv_10hdx_cap=0

Important note: now you have to lock the switchport to 100-Full Duplex, No Negotiation, No Flow Control for this to work, or traffic throughput will get worse.

Fix: Force 10/100 interface to 100 Full Duplex

You want to do this OR the /etc/system mod above. The /etc/system fix is probably the "correct" way to do it, but we like this way because you see it in the boot sequence which can remind you that it is going on.

/etc/rc2.d/S69inet-FullDuplex

#!/sbin/sh
#
# Force eri network adapter to 100mbps Full Duplex

# Comment out the following after the switch has been configured. #echo "To set 100Mbps Full-Duplex, uncomment exit in" #echo "$0 after the switch port has been configured," #echo "then reboot or run $0" #exit

echo "Setting eri0 to 100Mbps Full-Duplex"

/usr/sbin/ndd -set /dev/eri instance 0 /usr/sbin/ndd -set /dev/eri adv_100fdx_cap 1 /usr/sbin/ndd -set /dev/eri adv_autoneg_cap 0

Important note: now you have to lock the switchport to 100-Full Duplex, No Negotiation, No Flow Control for this to work, or traffic throughput will get worse.

Switch Update

While replacing the stone-age switches connecting our stone-age suns to the rest of the network, this isn't universally true. Now that our 3900 switches have been replaced with new cisco catalyst 3560G switches, these fixes are no longer required, and in fact cause problems.

no comments | post comment
This is a collection of techical information, much of it learned the hard way. Consider it a lab book or a /info directory. I doubt much of it will be of use to anyone else.

Useful:


snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt