               QLogic 570x/571x Gigabit Ethernet Driver
                      For Solaris 10 for i386 platform

               Copyright 2014 QLogic 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

IX.     Notable Changes from 3.5.10 to 4.4.0

X.     Notable Changes from 7.10.1 to 7.10.3 


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

This file describes how to install the Solaris Release 10 driver for
QLogic's 570x/571x 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 QLogic devices are supported by this driver:

* QLogic BCM5706  Gigabit Ethernet Controller
* QLogic BCM5708  Gigabit Ethernet Controller
* QLogic BCM5709  Gigabit Ethernet Controller
* QLogic BCM5716  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)

2(!). If installing on a fresh install of Solaris you will have a conflict
   with the inbox driver which must first be removed. The "check_install"
   script in the BRCMbnx package will prevent installation over an existing
   driver so examine the output from pkgadd carefully. The inbox driver
   cannot be uninstalled with the pkgrm command since there are no package
   remove scripts in the package directory under /var/sadm/pkg. Use the
   following steps to remove the inbox driver before performing a pkgadd of
   BRCMbnx:

   a. Remove the inbox package directory:
        rm -rf /var/sadm/pkg/BRCMbnx
        [or]
        mv /var/sadm/pkg/BRCMbnx /var/sadm/pkg/BRCMbnx.inbox

   b. Remove the driver:
        rem_drv bnx

   c. Verify bnx is not running:
        modinfo | grep bnx

   d. If it is running then unplumb all bnx interfaces and try to unload it:
        modunload -i `modinfo | grep bnx | awk '{ print $1; }'`

   e. If it doesn't unload then reboot.

   f. Now you can perform the pkgadd as normal in step 2 above.

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 QLogic 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 QLogic 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.

2. Select "Apply driver updates" (option 5 in the menu above).
3. 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


IX.  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                    

X.  Notable Changes from 7.10.1 to 7.10.3 
     =======================================================

     Deprecated transfer-speed option from bnx.conf. Use first method 
     mentioned in bnx.conf to change speed and duplex settings. 
     Also ndd and dladm command commands can be used to configure
     speed and duplex settings, please see the man page of the commands. 
