Make your own free website on

Checking and Setting Solaris NIC properties

To determine what is going on with your network interfaces ( network interface cards )on your Solaris system, you need to go over the following,
using the hme for example!

Checking current NIC setting

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

# ndd -get /dev/hme adv_100fdx_cap

# ndd /dev/hme adv_autoneg_cap


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

Changing the NIC setting

Suppose we want to force the hme card to work at 100mb, full duplex. We can change these setting with the ndd set option, but these setting, will be lost after reboot.

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

Second option is to add following entries in file /etc/system. Always be careful while changing this file and make a copy before any change.

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


Save the file and reboot the system.