Excerpt from SunSolve paper on the subject:
....
(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
(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
....
> I have a Solaris 2.6 box that as an hme and qfe in it. It is
> auto-negotiating 100-half for most of the interfaces. I can use ndd to turn
> auto-negotiating off and then force it to 100-full with no problem. But when
> I reboot the box it loses these settings. Is there a way to save them (on
> the card, in the prom) or should I look into writing a script to do this at
> boot time?
> Thanks!
> --
> Russ LeBar
> UNIX System Administrator
> Enterprise Rent-A-Car