0 Replies Latest reply on Mar 28, 2007 12:14 PM by Sean Berry

    How to check/set whether that Solaris box has proper duplex settings

    Sean Berry



      Subject: tech stuff - Ethernet interface

      From: Charles Platt <[log in to unmask]>

      Reply-To: WebCTadmin <[log in to unmask]>

      Date: Fri, 28 Feb 2003 11:28:58 -0500

      Content-Type: text/plain


      INFODOC ID: 43523

      SYNOPSIS: Should auto-negotiation be changed to force the speed and mode on

      Ethernet interface adapters?



      Q. Should auto-negotiation be changed to force the speed and mode on Ethernet interface adapters?


      A. Auto-negotiation is advertised by default on Solaris[TM] 2.x Operating Environment 100Mb and 1Gb Ethernet interfaces,

      which comply with IEEE 802.3u and 802.3z standards, respectively. Auto-negotiation should be left

      enabled when using devices that comply with the standards; it is usually not disabled unless

      there are special cases as mentioned below.


      Not all network devices can be forced; some switches and drivers use autoneg only.

      The number of devices that are not able to correctly auto-negotiate is shrinking all the time.

      Since forcing devices is problematic and adds administrative overhead for a vanishingly small return,

      Sun does not recommend that our customers adopt a policy of forcing interfaces.


      Auto-negotiation (AN; auto-neg; autoneg) is defined in:


      IEEE Std 802.3u clause 28 (Fast Ethernet)

      IEEE Std 802.3z clause 37 (Gigabit Ethernet)


      Note: In 802.3z specifications, auto-negotiation is mandatory. All devices which are

      802.3z compliant, MUST have auto-negotiation enabled by default.


      The latest Solaris Ethernet devices and drivers (hme, qfe, eri, dmfe, ge, ce) are fully 802.3 compliant.

      Even though these drivers have the ability to change auto-neg, speed and duplex settings,

      Sun's preferred (and recommended) way is to auto-negotiate and not disable auto-neg capabilities!

      In general, any commodity Level 2 Switch will work in a Solaris environment if it provides industry

      standard features in the following areas of performance: Auto-Negotiation, Internal, Bandwidth, Buffering & Latency.


      Note: Sun does not endorse nor recommend any particular makes or models of switches or hubs.

      Always read the manufacturer's specifications to verify that a switch meets the requirements.


      In some cases, auto-negotiation capabilities could be disabled on both sides of the link, e.g., for

      troubleshooting, compatibility problems, or permanent link connections in order

      to "lock" the speed and duplex of the Ethernet link.


      Note: Both sides, the Solaris driver and switch (the "link partners"), must be set for the same capabilities.

      Setting one side to auto-neg and forcing the other side will not work correctly.


      Examples for when to turn off Auto-Negotiation and force the speed and duplex:

      1. when connected to a device that is not capable of auto-negotiation and there is a mismatch;

      2. when connecting to a device that does not comply with IEEE standard for auto-negotiation=enabled;

      3. when troubleshooting a cable or duplex mismatch link issue;

      4. when recommended by switch vendor to workaround a bug;

      5. when using an older version of network driver, switch software or firmware (unpatched);

      6. when recommended by Sun to workaround a driver bug or non-Sun switch issue;

      7. when customized network design is using permanent and unchanging, or high availability, server links.


      (See InfodocID 18262: How to troubleshoot 100Mb FastEthernet 802.3 auto-negotiation problems.)


      Symptoms of auto-neg problems (duplex and speed mismatches):

      1. complete failure of link (no link light);

      2. operation is less than the maximum possible;

      3. excessive input errors: crc, framing and/or excessive/late collisions.


      Use the following methods to force settings, if needed.

      (Refer to the Device Driver Reference, man pages and Install manuals for instructions on

      configuring the settings.)


      1. /etc/system (See driver manual, release notes or bugs)


      Used for some drivers to set system wide driver parameters

      and for some tuning, workarounds and debugging


      Example system entry (see additional documentation below for details re: this procedure):


      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


      (reboot for changes to take effect)


      2. ndd (for temporary changes)


      Used in some network drivers to set parameter values in multiuser mode;

      Used for troubleshooting and testing parameter settings;


      Example ndd commands (see additional documentation below for details re: this procedure):



      1. ndd -set /dev/hme instance 0


      1. ndd -set /dev/hme adv_100T4_cap 0


      1. ndd -set /dev/hme adv_100fdx_cap 1


      1. ndd -set /dev/hme adv_100hdx_cap 0


      1. ndd -set /dev/hme adv_10fdx_cap 0


      1. ndd -set /dev/hme adv_10hdx_cap 0


      1. ndd -set /dev/hme adv_autoneg_cap 0


      (changes take effect immediately)


      Note: ndd changes do not survive a reboot unless you add them to a rc startup script.


      3. "driver".conf (For permanent changes)(see additional documentation below for details re: this procedure)


      Preferred method used to permanently set parameter values for

      each driver instance. Remains in effect after a reboot.


      Example /kernel/drv/iprb.conf:

      name="iprb" parent="pseudo" instance=0

      speed=100 full-duplex=1;


      Example /kernel/drv/ge.conf:

      name="pci108e,2bad" parent="pci@4,2000"

      unit-address="1" adv_1000autoneg_cap=0

      adv_1000hdx_cap=0 adv_1000fdx_cap=1;


      Driver document References:

      806-3994-10 Platform Notes: The hme FastEthernet Device Driver http://docs.sun.com/doc/806-3994-10

      816-2127-05 Platform Notes: The eri FastEthernet Device Driver http://docs.sun.com/db/doc/816-2127-05

      806-3989-10 Platform Notes: the Sun Quad FastEthernet Device Driver http://docs.sun.com/doc/806-3989-10

      816-3157-10 Platform Notes: The Sun GigabitEthernet Device Driver http://docs.sun.com/doc/816-3157-10

      816-0860-10 Platform Notes: Sun GigaSwift Ethernet http://docs.sun.com/db/doc/816-0860-10

      816-2128-11 Platform Notes: The dmfe Fast Ethernet Device Driver http://docs.sun.com/db/doc/816-2128-11


      There is also additional information available in the following SunSolve[SM] articles:

      INFODOC 16144 How to force the HME card to work at 100mb (full-duplex).

      INFODOC 16070 How to set hme parameter for more than one hme interface

      INFODOC 16728 How does 100baseT ethernet auto-negotiation work? and what are the hme and qfe driver defaults

      INFODOC 18262 How do I troublehsoot 100Mb fastethernet 802.3 autonegotiation problems.

      INFODOC 13122 Forcing Network Speed Between 10Mbps and 100Mbps

      INFODOC 26242 How to force Ge to 1000HDX.

      INFODOC 18394 Problem with ge card not maintaining link

      INFODOC 41529 How to Force Sun GigaSwift (Cassini) Ethernet Adapter to 1000 mbps Full/Half Duplex on an UTP

      INFODOC 18395 How to create a ge.conf file

      SRDB 18262 How do I troubleshoot 100Mb fast Ethernet 802.3 auto negotiation problems

      SRDB 12605 Full duplex support on Sun ethernet drivers.

      SRDB 16143 How to force the HME card to work at 10mb (full-duplex).

      FAQ 2605 Speed setting on 10/100mb hme


      Internet Links:

      An Introduction to Auto-Negotiation, by Donald Becker,



      Auto-Negotiation, by Charles Spurgeon



      Auto-Negotiation is our Friend, by Ben Verschueren



      Keywords: Ethernet, speed, auto, auto-negotiation, autonegotiation, negotiation, adapters


      APPLIES TO: Network - OS, Network - OS/Network Config, AFO Vertical Team






      Have a great day!!


      Charles W Platt

      Distance Learning Systems Administrator

      Center for Teaching & Learning

      Wright State University

      Work 937-775-3145

      Pager 937-480-2148


      -Email Page-



      -Website Page with longer message