Changing up ethernet speed, duplex mode in Solaris

A solaris system can have single NIC or multiple nic and interface name can be ce, hme, bge, e1000g ,qfe etc. depending on the card used.
For making interface change identify the interface name using ifconfig -a command and then apply following method to change nic speed in Solaris,  read along for making these changes.

1.Run time only, using command line  to Setup ethernet speed , duplex mode in Solaris 

Changes are lost on system reboots .

– set the device instance (for multiport cards)
ndd -set /dev/hme instance 0
this makes the next commands apply to hme0.

– query parameters for the set instance:
ndd -get /dev/hme link_status 0 = link up, 1 = link down
ndd -get /dev/hme link_speed 0 = 10MBit, 1 = 100MBit
ndd -get /dev/hme link_mode 0 = half duplex, 1 = full duplex
ndd -get /dev/hme adv_autoneg_cap 0 = no autonegotiation, 1 = autoneg. enabled

– set parameters, e.g.
ndd -set /dev/hme instance 0
ndd -set /dev/hme adv_autoneg_cap 1 to enable autonegotiation for hme0

2. Permanent Changes : changes are not lost on reboot.

edit the /etc/system file and add these parameters .The sequence number matters.

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

Ehthernet mode setting in x86 is done in drivers .conf file.

100Mb Full Duplex on elxl0 in Solaris x86
__________________________________________

edit /kernel/drv/elxl.conf :

#ident “@(#)elxl.conf 1.3 98/02/23 SMI”
#
# Copyright (c) 1998, by Sun Microsystems, Inc.
# All rights reserved.
#
# Driver.conf file for the 3Com 3C90x
#
# To force full duplex operation, uncomment the following line:
full-duplex=1;
#
# To force half duplex operation, uncomment the following line:
#full-duplex=0;
#
# To force 10Mbps operation, uncomment the following line:
#speed=10;
#
# To force 100Mbps operation, uncomment the following line:
speed=100;
#

Leave a Reply

Your email address will not be published. Required fields are marked *