Summary 2nd Interface thoughput

From: McIntire, John (john_mcintire@unitrode.com)
Date: Thu Sep 02 1999 - 10:08:30 CDT


Here is the summary of responses received. Thanks to all as I was not aware
of what this command could go. I found out if our switch can set itself to
100 and the Sun was set to autonegotiate then it would set itself to 100
unless a cable or line problem prevented it. I followed the info on the
sunsolve doc but set autonegotiate to 1 as the switch was set up to
autonegotiate

Here are responsed recevied and thank again to all
--------------------
ndd -set /dev/hme instance 1
ndd -get /dev/hme link_speed if = 1 = 100
ndd -get /dev/hme link_mode
_____________________
sunsolve info
How to force the HME card to work at 100mb (full-duplex). If the auto
negotiate does not work, then the 100-MB full-duplex mode can be forced to
run at 100-MB, Full-Duplex using the following:

Please try (if using /etc/rc2.d/S99...)
ndd -set /dev/hme instance 0
ndd -set /dev/hme adv_100T4_cap 0
ndd -set /dev/hme adv_100fdx_cap 1
ndd -set /dev/hme adv_100hdx_cap 0
ndd -set /dev/hme adv_10fdx_cap 0
ndd -set /dev/hme adv_10hdx_cap 0
ndd -set /dev/hme adv_autoneg_cap 0 - I set this to 1 because switch was set
to
autonegotiate

or (if using /etc/system)

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

Note that the order does make a difference. The link is re-negotiated when
the interface is ifconfig'ed up or when ndd ndd adv_autoneg_cap command is
executed.

How to force the HME card to work at 10mb (full-duplex). The section "10FDX"
includes how to force the HME card to work at 10 MB (full-duplex). You can
either put the commands in the /etc/system file or in a startup script --
i.e. /etc/rc2.d/S99hme_config. Another way is to make the changes from the
command line -- using the "ndd" command using the syntax below. But it is
better to put the commands in /etc/system or a startup script to preserve
the environment accross reboots.

10FDX only
/etc/system
set hme:hme_adv_autoneg_cap=0
set hme:hme_adv_100T4_cap=0
set hme:hme_adv_100fdx_cap=0
set hme:hme_adv_100hdx_cap=0
set hme:hme_adv_10fdx_cap=1
set hme:hme_adv_10hdx_cap=0

ndd commands

ndd -set /dev/hme instance 0
ndd -set /dev/hme adv_100T4_cap 0
ndd -set /dev/hme adv_100fdx_cap 0
ndd -set /dev/hme adv_100hdx_cap 0
ndd -set /dev/hme adv_10fdx_cap 1
ndd -set /dev/hme adv_10hdx_cap 0
ndd -set /dev/hme adv_autoneg_cap 0

Is the hme interface running at 10BaseT or 100BaseT How do you tell if the
hme interface is actually linked up at 10 Mbps or 100 Mbps?

ndd -get /dev/hme link_status
ndd -get /dev/hme link_speed
ndd -get /dev/hme link_mode

link_status (read only)
0 for Link Down
1 for Link up

link_speed (read only)
0 for 10 Mbps
1 for 100 Mbps

link_mode (read only)
0 for Half-Duplex mode
1 for Full-Duplex mode
------------------------------------------------
Check out the ndd command: ndd /dev/hme link_speed
A "1" indicates 100Mbps operation, a "0" is 10Mpbs operation.

For duplex you would query the "link_mode" parameter:
ndd /dev/hme link_mode
A "1" is full duplex, a "0" is half duplex.

You can set these using ndd also, for example to enable full_duplex
operation:
  # ndd -set /dev/hme adv_100fdx_cap 1

You probably want to enable auto negotiation too:
  # ndd -set /dev/hme adv_autoneg_cap 1

You can use the /kernel/drv/hme.conf file to make these changes permanent.
Adding a line like this:

adv_autoneg_cap = 1 adv_100fdx_cap = 1 adv_100hdx_cap = 0
adv_10fdx_cap = 0 adv_10hdx_cap = 0;

(that should be one line -- I've broken it for clarity) will cause 100Mbps,
full duplex operation to be the default on boot up.
------------------------------------------------
to check its settings use

ndd -set /dev/hme instance <0 or 1 or 2> ie.. hme0, hme1, hme2
ndd -get /dev/hme link_speed
0 = 10Mbit
1 = 100Mbit

ndd -get /dev/hme link_mode
0 = Half Duplex
1 = Full Duplex

To tell what type of throughput you are getting its best to download the
SymbEL (SE) package.
----------------------------------------------------
ndd -set /dev/hme instance 1 ( The number is the instance of the hme
                               interface. e.g. 1 = hme1 )
ndd -get /dev/hme adv_100fdx_cap
------------------------------------------------------
Say your second interface is hme1. use,
# ndd /dev/hme instance 1
# ndd -get /dev/hme link_mode
if this gives 1 it means it is full duplex, if it is 0 that means half
duplex.
# ndd -get /dev/hme link_speed
if you get 1 that means it is 100mbps, if it is 0 that means it is 10mbps



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:13:25 CDT