Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1007865.1
Update Date:2011-02-28
Keywords:

Solution Type  Technical Instruction Sure

Solution  1007865.1 :   How to Force the Operational Parameters on Sun Fire[TM] v20z/v40z onboard Gigabit Ethernet interfaces under Red Hat  


Related Items
  • Sun Fire V20z Server
  •  
  • Sun Fire V40z Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>x64 Servers
  •  

PreviouslyPublishedAs
210864


Description
The recommendation is to implement auto-negotiation in fast and gigabit Ethernet environments as per the IEEE 802.3 standard.

This is discussed in Technical Instruction <Document: 1006000.1> and you are encouraged to read this before continuing any further.

However, circumstances may arise where it is necessary or desirable to force the operational parameters on an interface. The purpose of this document is to show several methods to do so on the v20z/v40z onboard NICs under various releases of the Red Hat operating system (RHEL2.1, RHEL3, RHEL4).

Note: For correct operation of any interface you should allow both ends of the link to auto-negotiate or force both ends to use the same settings.



Steps to Follow
Sun Fire[TM] v20z/v40z have two Broadcom onboard 10/100/1000 Ethernet network interfaces.

By default, Red Hat will see those NIC as eth0,eth1 and will use the tg3 driver

Sun[TM] recommends using the bcm5700 driver which can be downloaded at <Patch 10335624>

The following command will help you determine which driver is in use:

# lsmod | egrep 'tg|bcm'
bcm5700                  -> bcm5700 driver
# lsmod | egrep 'tg|bcm'
tg3                      -> tg3 driver

There are two ways to modify the operational parameters on these interfaces in Red Hat

  1. Using the ethtool command
  2. Using the kernel modules configuration file

1- How To force the onboard NIC Operational Parameters using ethtool

First, make sure ethtool is installed

> rpm -qa | grep ethtool
ethtool-1.8-3.4

The ethtool version actually doesn't matter

Using ethtool, you can display the actual settings of your onboard NICs

# /sbin/ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: d
Link detected: yes

and you can modify the settings dynamically

i.e To force eth0 at 100 Mbps FDX, disabling autoneg, run:

# /sbin/ethtool -s eth0 speed 100 duplex full autoneg off

Note these settings will be lost after a reboot

To make them permanent, you can:

- add the above command to a startup script (/etc/rc.d/rc.local for example)

- or better, modify the interface ifcfg config file

For eth0, add the following line to /etc/sysconfig/network-scripts/ifcfg-eth0

ETHTOOL_OPTS="autoneg off speed 100 duplex full"

2- How To force the onboard NIC Operational Parameters using the kernel modules configuration file (bcm5700 driver ONLY)

The configuration file for loading kernel modules is:
RHEL 2.1, 3: /etc/modules.conf
RHEL 4: /etc/modprobe.conf

It allows you to specify options to pass to insmod when loading a specific driver

The bcm5700 driver accept several options
see man BCM5700(4) for an exhaustive list of options

To force the bcm5700 driver to work with a specific configuration, add to the file above (/etc/modules.conf or /etc/modprobe.conf depending on your Redhat release) the desired options

i.e to force all interfaces using the bcm5700 driver to operate at 100MbpsFDX,
add the following line:

options bcm5700 line_speed=100 auto_speed=0 full_duplex=1

and reboot

These settings will be activated each time the driver is loaded, therefore at each reboot

Note these settings will impact all the NIC using the bcm5700 driver



Product
Sun Fire V20z Server
Sun Fire V40z Server

force, network, speed, duplex, redhat, v20z, v40z
Previously Published As
83360

Change History
Date: 2005-12-14
User Name: 71396
Action: Approved
Comment: Performed final review of article.

Updated trademarking and product name.

Placed into Contract audience per FvF procedures.

Publishing.
Version: 3
Date: 2005-12-11
User Name: 71396
Action: Accept
Comment:
Version: 0

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback