What are some troubleshooting guidelines and tips for narrowing down
an auto-negotiation problem on hme and qfe 100BaseT interfaces?
It's just a matter of process of elimination when working on auto-negotiation
issues. Here are all the possibilities:
Usually the 100Mb auto-negotiation problem ends up getting resolved with:
1. Bad Cable! (different configs and nics and cable lengths can cause
varying results)
2. Switch does not implement 802.3u auto-negotiation, so we match
and force the speed and duplex.
3. missing Ultra Flash PROM Update.
4. missing hme / qfe driver patch.
5. Switch requires firmware/Version update.
6. autoneg compatibility or parallel detection problem/failure between the
link partners requires forcing speed and duplex mode.
7. 100Mb port HW problem on Link partner ( Switch - Hub - Router).
8. 100Mb port HW problem on Ultra motherboard or Fastethernet Card
-----------
Information and notes :
Cable must be category 5 100Mb certified and tested.
Normally a cat-5 cable tester / pair scanner is used to check 100BaseT
installed cat5 cabling and patch panels.
To check and confirm link speed, mode settings and auto-negotiation setup.
( if using qfe - substitute "qfe" where the "hme" device is mentioned.)
# ndd -set /dev/hme instance 0
# ndd -get /dev/hme link_status
0 = link down 1 = link up
# ndd -get /dev/hme link_speed
0 = 10 Meg 1 = 100 Meg
# ndd -get /dev/hme link_mode
0 = half duplex 1 = full duplex
Double check that the hme driver is setup to advertise autoneg and the
appropriate capabilities.
( should all be 1)
# ndd -set /dev/hme instance 0
# ndd /dev/hme adv_100fdx_cap
# ndd /dev/hme adv_100hdx_cap
# ndd /dev/hme adv_10fdx_cap
# ndd /dev/hme adv_10hdx_cap
# ndd /dev/hme adv_autoneg_cap
To check what the link partner(Switch or hub or MII transceiver) capabilities
are set to:
Dump the parameters for your link partner
( these registers are set from info received from the other side of the
link [ switch, transceiver..])
Set the instance number (the instance would correspond to the interface name)
# ndd -set /dev/hme instance 0
Now dump or get the parameter values for these:
# ndd -get /dev/hme lp_autoneg_cap
# ndd -get /dev/hme lp_100fdx_cap
# ndd -get /dev/hme lp_100hdx_cap
# ndd -get /dev/hme lp_10fdx_cap
# ndd -get /dev/hme lp_10hdx_cap
The values for these are what your partner (the switch you are plugged into)
is advertising. 1 = enabled/capable 0 = not enabled/not capable
If the lp_autoneg_cap register is zero = This indicates the Link-partner/Hub
has 802.3u auto-negotiation adv_autoneg_cap disabled, not implemented, or
somehow not detected. Concentrate on cabling, link partner HW, or requirement
for firmware/patch upgrades.
If one side of the link fails parallel detection then forcing the speed and
mode may be necessary.
# ndd -set /dev/hme instance # <--- set to the Interface in Question
( #=0 for hme0)
# ndd -set /dev/hme adv_100fdx_cap 1 <--- force ON 100Mb full duplex
# ndd -set /dev/hme adv_100hdx_cap 0 <--- force OFF 100Mb half duplex
# ndd -set /dev/hme adv_10fdx_cap 0 <--- force OFF 10Mb full duplex
# ndd -set /dev/hme adv_10hdx_cap 0 <--- force OFF 10Mb half duplex
# ndd -set /dev/hme adv_autoneg_cap 0 <--- force OFF autonegotiation
(FORCE mode)
or /etc/system:
set hme:hme_adv_autoneg_cap=0
set hme:hme_adv_100fdx_cap=1
set hme:hme_adv_100fdx_cap=1
qfe driver: Quad FastEthernet:
The same procedures apply to gfe driver ( substitute /dev/qfe for /dev/hme)
# ndd -set /dev/qfe adv_autoneg_cap 0
vge driver: Vector Gigabit:
Defaults to autonegotiation on Full-Duplex Only. auto-negotiation can be
turned off :
# ndd -set /dev/vge link_negotiation 0
ge driver: GEM Gigabit:
Defaults are:
adv_1000autoneg_cap : 1
adv_1000fdx_cap : 1
adv_1000hdx_cap : 1
adv_pauseTX : 0
adv_pauseRX : 1
# ndd -set /dev/ge adv_1000autoneg_cap 0
# ndd -get /dev/hme lp_autoneg_cap
If the link partner (switch) does not support auto-negotiation,
then 100 Mbps half duplex is chosen by the driver if parallel detection
is successful for 100Mb. Thus, you must force the speed and mode on both sides
to get the desired speed and duplex (100MbFDX).
For more information refer to these Sunsolve documents and the corresponding
Sun Adapter Installation and Users guide.
infodoc 16070 How to set hme parameter for more than one hme interface
infodoc 16728 How does 100baseT ethernet auto-negotiation work? and what
are the hme and qfe driver defaults
infodoc 16144 How to force the HME card to work at 100mb (full-duplex).
srdb 16143 How to force the HME card to work at 10mb (full-duplex).
srdb 13206 Forcing network speed to 100 Mbps
srdb 12605 Full duplex support on Sun ethernet drivers.
infodoc 16017 Is the hme interface running at 10BaseT or 100BaseT