               Broadcom NetXtreme II Gigabit Ethernet Driver
                      For Solaris 10 for i386 platform

              Copyright (c) 2000-2008 Broadcom Corporation
                         All rights reserved.


Contents

I.      Introduction

II.     Supported Devices

III.    Installing Driver

IV.     Upgrading the Driver

V.      Uninstalling Driver

VI.     Creating a Driver Update Diskette

VII.    Using Driver Update Diskettes During System Installation

VIII.   Using Driver Update Diskettes After System Installation

VIV.    Notable Changes from 3.5.10 to 4.4.0


I. Introduction
   ============

This file describes how to install the Solaris Release 10 driver for
Broadcom's NetXtremeII 10/100/1000 Mbps Ethernet Network Interface
Controllers.  Please refer to the bnx manual page for details on how
to configure the driver.

Driver is released in three formats:

1. BRCMbnx.pkg   : Datastream format.
2. BRCMbnx.tar.Z : Compressed and TAR file system format.
3. bnxdu.img     : Driver Update (DU) binary image which is used to create
                   DU diskette.  Driver Update Diskettes only apply to x86
		   platforms.

Solaris DU diskettes can be used to install the driver into the system
both during system installation and / or after the system has been
installed and booted.

Please note that this driver only works with GLDv3 as it appears in
Solaris 10 8/07 (Update 4) and later.


II. Supported Devices
    =================

The following Broadcom devices are supported by this driver:

* Broadcom BCM5706 NetXtreme II Gigabit Ethernet Controller
* Broadcom BCM5708 NetXtreme II Gigabit Ethernet Controller
* Broadcom BCM5709 NetXtreme II Gigabit Ethernet Controller
* Broadcom BCM5716 NetXtreme II Gigabit Ethernet Controller


III. Installing Driver
     =================

1. Change directory to where BRCMbnx.pkg resides.
2. pkgadd -d BRCMbnx.pkg
               OR
( Copy  BRCMbnx.tar.Z to /tmp.
  cd /tmp
  uncompress BRCMbnx.tar.Z
  tar xvf BRCMbnx.tar
  pkgadd -d /tmp)

3. Execute prtconf to determine instance number of the NIC.
4. ifconfig bnx[instance_number] plumb
5. ifconfig bnx[instance_number] ip_address netmask .... up

To make these changes permanent, follow these steps:

1. Use your favorite text editor (eg. vi) and create a file named
   hostname.bnx[instance_number] in /etc directory.  Add the
   IP address of the interface to this file, save and exit.
2. Add a proper subnet mask to the file /etc/netmasks.]


IV. Upgrading the Driver
    =====================

To upgrade the Broadcom driver package to the current version, you must
first uninstall the previous driver version from the system by
following the steps listed in section IV.  Once the previous driver has
been removed, you can follow any of the installation methods in this
document to install the new driver version.

Please note that Broadcom does not support installing multiple
instances of the driver on a single system.


V. Uninstalling Driver
   ===================

1. ifconfig bnx[instance_number] down
2. ifconfig bnx[instance_number] unplumb
3. pkgrm BRCMbnx.


VI. Creating a Driver Update Diskette
    =================================

To create a driver update diskette, use the following procedure:

1.  Insert a blank diskette into your machine's diskette drive and type one
    of the following commands to format it:

   * If you are using DOS, type:

     format A:

   * If you are using the Solaris operating environment, type:

     fdformat -Ud

2.  Check to see if Volume Management is running:

   * If you are using DOS, type:

     dd filename A:

   * If you are using the Solaris operating environment, type:

     volcheck
     ls -l /vol/dev/aliases/floppy0


        * If you see a message similar to this:

          lrwxrwxrwx   1 root  34 Jan 21 17:28
          /vol/dev/aliases/floppy0 ->
          /vol/dev/rdiskette0/unnamed_floppy

          Type:

               dd if=bnxdu.img of=/vol/dev/aliases/floppy0
               bs=36k eject floppy0

        * If you see this message:

          /vol/dev/aliases/floppy0 not found

          Type:

               dd if=bnxdu.img of=/dev/rdiskette bs=36k


VII. Using Driver Update Diskettes During System Installation
     ========================================================

To use the driver update diskette during system installation, use the
following procedure.

1. Boot the Solaris Installation to the following (or similar) menu:

1. Solaris Interactive (default)
2. Custom Jumpstart
3. Solaris Interactive Text (Desktop session)
4. Solaris Interactive Text (Console session)
5. Apply driver updates
6. Single user shell

Enter the number of your choice.

3. Select "Apply driver updates" (option 5 in the menu above).
4. At the following prompt:

Insert media and enter media type:
Floppy [f], CD/DVD [c] or End [e]
do one of the following:

(a) Insert the DU floppy, and choose 'f'. Solaris will extract the driver, and the following (or similar)
    messages will indicate success:

    extracting software on floppy
    installing driver update in the miniroot

You will also see the driver banner message and version number.  Following
driver application, Solaris will return to the following prompt:

Insert media and enter media type:
Floppy [f], CD/DVD [c] or End [e]

Choose 'e'. Solaris will prompt for re-insertion of the Solaris media; complete
this step and proceed with the installation


VIII. Using Driver Update Diskettes After System Installation
      =======================================================

Before adding new or updated drivers, the newly supported hardware devices
should be installed and configured according to the instructions in the
corresponding Device Reference Page, if any. See the Solaris (x86 Platform
Edition) Device Configuration Guide.

When the Solaris (x86 Platform Edition) software is already installed, the
simplest way to add new or updated drivers is to install the DU diskettes as
patches on your system, as follows:

1.  Become superuser on your system.

2.  Check to see if Volume Management is running on the machine you are
updating:

  ps -ef | grep vold

    For more information about managing diskettes and drives, see the System
Administration Guide.

3.  If Volume Management is running, temporarily stop it by typing:

    # /etc/init.d/volmgt stop

4.  Insert the DU diskette into the diskette drive.

5.  Mount the DU diskette at the /mnt mount point:

  # mount -F pcfs /dev/diskette /mnt

  Note: At this point, you must mount the DU diskette in the file structure
to update your system successfully.

6.  Execute the install script on the diskette, using the appropriate
Solaris release directory (currently sol_26 for Solaris 2.6, sol_27 for
Solaris 7, and so on). For example:

    # /mnt/DU/sol_27/i86pc/Tools/install.sh -i

The install.sh script searches for all new or updated drivers on the
diskette. When a new or updated driver is found, the following prompt is
displayed:

    Unconditionally installing DUs <DU driver names>
    Install patch driver-name? [y]

7.  If the driver is the one you want to install, at the prompt, type y for
yes or press Enter. If the driver is not the one you want to install, type n
for no.

If you type y, the install.sh script installs the driver you indicated as
well as the bootmod and bootbin patches.

8.  When you're done and the install.sh script exits, unmount the diskette:

    # cd /
    # umount /mnt

9.  Remove the DU diskette from the diskette drive.

10. Reboot your machine.

  # touch /reconfigure
  # reboot


VIV.  Notable Changes from 3.5.10 to 4.4.0
      =======================================================

    Enhancements
    ------------
        1) Change  : To make the setting 'link_duplex' more intuitive, 
                     the meaning of 'link_duplex' value has been changed:

                     Previous meaning:     New meaning:
                       half-duplex: 1        half-duplex: 0
                       full-duplex: 2        full-duplex: 1                     
