Sun's hme fast ethernet adaptors support full-duplex ethernet; it isn't enabled by default because when first shipped the full-duplex standard hadn't materialized yet.
There are several ways of changing the default settings and force full-duplex mode; you may need to alter your switch settings as well.
Setting through /etc/system
set hme:hme_adv_autoneg_cap=0 set hme:hme_adv_100hdx_cap=0 set hme:hme_adv_100fdx_cap=1
Setting with ndd
ndd -set /dev/hme adv_100hdx_cap 0 ndd -set /dev/hme adv_100fdx_cap 1 ndd -set /dev/hme adv_autoneg_cap 0
In case you have multiple instances, you need to select the specific hme instance first, e.g., use the following to select hme1:
ndd -set /dev/hme instance 1
If you need to query the device, you can interrogate various variables such as ``link_status'', ``link_speed'', etc.
Setting "adv_autoneg_cap", not necessarily changing it, will cause re-negotiating of link speed/duplex settings.