Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

NDD network config

Status
Not open for further replies.

wtrepani

MIS
May 30, 2002
93
US
Hello,

I have a problem getting my network card to run at 100MB full duplex. These are the commands I run:

# ndd -set /dev/hme instance 0
# ndd -get /dev/hme link_status
1
# ndd -get /dev/hme link_speed
1
# ndd -get /dev/hme link_mode
0
# ndd -set /dev/hme 100fdx_cap 1
operation failed, Permission denied
# ndd -set /dev/hme adv_100fdx_cap 1
# ndd -get /dev/hme link_mode
0
#

It seems to be running at 100MB, but I get permission denied when changing it to Full Duplex. I get the same thing if I do a 'ifconfig hme0 down' first.

Any Ideas???

Will
 
We accomplish this at boot time with the following settings in /etc/system:

set hme:hme_adv_autoneg_cap = 0
set hme:hme_adv_100fdx_cap = 1
set hme:hme_adv_100hdx_cap = 0

You may need the autonegotiate setting, or you may need to turn off half-duplex.
 
The ports on the switch are hard set to 100MB Full Duplex. By autonegotiating to half, we get a lot of collisions. I did get it to take to Full with the ndd command, but it reset on the next reboot???
 
Hi,

to make the ndd settings permanent i.e. also after a reboot put the following script (name it to something like fullduplex) into your /etc/init.d directory and then create a link from /etc/rcS.d to it (ln -s /etc/init.d/fullduplex S15fullduplex):

#! /bin/ksh

cat /etc/path_to_inst | egrep '"hme"$|"qfe"$|"eri"$' | while read path inst type
do
interface_type=`echo $interface_type | tr -d '"'`
driver_name=/dev/${interface_type}
ndd -set ${driver_name} instance ${inst}
ndd -set ${driver_name} adv_100fdx_cap 1
for speed_type in 100T4 100hdx 10fdx 10hdx autoneg
do
ndd -set ${driver_name} adv_${speed_type}_cap 0
done
done

exit 0

This script looks into the /etc/path_to_inst file for installed ethernet cards and forces each card to run at 100MB full duplex (that only works for cards that support "ndd" queries though).

mrjazz [pc2]
 
If you're interface is one of hme|eri|qfe then use either of the following substituting hme below accordingly. After you have changed either the /etc/rc2.d/S99inet or the /etc/system file.

/etc/rc2.d/S69inet

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 you prefer use /etc/system (not both)

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

Order does make a difference. Reboot to see the changes.

Good luck
 
OK, it is working now, I added that to the /etc/system file and rebooted. I tried that once before, but I must have had a typo or out of order maybe...

Thanks all for the help

Will
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top