Article 66410 of comp.unix.solaris:
Path: mri.com!peerfeed.ncal.verio.net!207.12.55.133.MISMATCH!news-peer-west.sprintlink.net!news-peer.sprintlink.net!news.sprintlink.net!Sprint!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!uunet!in1.uu.net!news.aw.com!usenet
From: Paul Kiely <paul.kiely@awl.com>
Newsgroups: comp.unix.solaris
Subject: Re: hme0 driver/device
Date: Wed, 21 Jan 1998 18:07:25 -0500
Organization: Addison Wesley Longman
Lines: 51
Distribution: inet
Message-ID: <34C67FAD.BAABD5F1@awl.com>
References: <oW9x.39$qM4.191028@news3.atl.bellsouth.net>
NNTP-Posting-Host: ego.awl.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 4.04 [en] (X11; I; SunOS 5.6 sun4u)
Xref: mri.com comp.unix.solaris:66410

You can use ndd to query the hme driver as follows...

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

and this is what the output means...

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

The card should autosense and set itself according to the type of
network.  However, if this auto-negotiation is not working, you can use
ndd to manually set the driver.  See the man pages full details, but the
following should work to force an interface up to 100mb/full-duplex:

        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

        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

Apparently, the order in which the commands are executed can
make a difference.

Note: If you add commands to /etc/system file, you must reboot this
system
      with -r.





