


                                Emulex Corporation



                          Light Pulse Family Host Adapter
                               EFIBoot Release Notes


                                      3.11A4


                                 September 9th, 2005




The current EFI (Extensible Firmware Interface) Boot provides 64-bit system 
boot capability through the use of the EFI Shell. EFIBoot supports EFI 
Specification 1.10 and EFI Source Code version 1.10.14.61 and 1.10.14.62.
   
EFIBoot supports:

  (1)  Multi-Topology    : Fabric Point-to-Point; FC-AL: Private Loop and Public
                           Loop.

  (2)  EFI Protocols     : Configuration, Component Name, Firmware Update, VPD,
                           LunCtrlAttrs and Diagnostics are supported.

  (3)  Operating System  : Windows Server 2003 and Red-Hat Linux

  (4)  Multi-Device path : Fibre/SCSI device path selectable through the Driver
                           Configuration Protocol.

  (5)  Multi-Initiators  : Up to 128 adapters in a system.

  (6)  Multi-Boot        : Eight targets/controller selectable through the Driver
                           configuration Protocol.

  (7)  Multi-LUNs        : Up to 4096 LUNs/target for a volume set device.
                           Up to 256 LUNs/target for a peripheral device.

  (8)  Multi-Mode        : Peripheral and Volume Set devices are supported.

  (9)  Multi-Utility     : Setup and firmware update are supported.


Files included in this release:

EFI Byte Code Driver Images:

\rel_notes.txt this file you are reading
\DE311A4.PRG      Lp8000     EFIBoot version 3.11a4
\CE311A4.PRG      Lp9000     EFIBoot version 3.11a4
\HE311A4.PRG      Lp9802     EFIBoot version 3.11a4
\QE311A4.PRG      Lp850      EFIBoot version 3.11a4
\HE311A4.PRG      Lp9802     EFIBoot version 3.11a4
\LE311A4.PRG      Lp982      EFIBoot version 3.11a4
\TE311A4.PRG      Lp10000    EFIBoot version 3.11a4
\ME311A4.PRG      Lp1050     EFIBoot version 3.11a4
\EE311A4.PRG      Lp101      EFIBoot version 3.11a4
\BE311A4.PRG	  Lp11000    EFIBoot version 3.11a4
\JE311A4.PRG	  Lp1150     EFIBoot version 3.11a4	 
\ZE311A4.PRG	  Lpe11000   EFIBoot version 3.11a4 
\WE311A4.PRG	  Lpe1150    EFIBoot version 3.11a4
\ElxCli311a4.efi




                           *****  Important Note ******

  (1) EFIBoot was not enabled from loading to system memory: 
      
      If the adapter EFIBoot is not enabled from loading to system, this adapter 
      will not be configured. User must use LP6dutil or some other OS Utility to 
      enable the EFIBoot in order to make this card bootable.

  (2) EFIBoot Bios was enabled to configure the adapter and No Link:
      
      EFIBoot will wait for 15 seconds/adapter to confirm a link.

  (3) If two or more adapters have same EFIBoot driver version, EFIBoot will 
      load only one driver.

  (4) If there are adapters with different EFIBoot driver versions, EFIBoot 
      will load the highest version of the EFIBoot driver.

  (5) In order to display Linkup speed, use the latest version of the firmware.

 
/*-------------------------------------------------------------------------------*/
/*                                  History                                      */
/*-------------------------------------------------------------------------------*/


Problems Fixed, Features added or Other Updates Since 3.11a3:
-----------------------------------------------------------------------------------

(1) CR17315 Integrated flash update utility unable to flash LP1150 paired boot firmware image.

(2) CR17316 EFI Boot integrated flash utility unable to flash .all files for Helios adapters

(3) CR17415 Change mailbox timeouts to 30 seconds

(4) CR17082 Add PCI segment to information displayed by EFI Boot configuration utility

(5) CR16614 Fiber channel EFI boot configuration utility does not display PCI express bus speeds correctly (shows 33Mhz)

(6) CR17422 add missing break in mailbox code

(7) CR17457 Change EFI Boot config utility adapter name display from 11000DC to 11002 for Helieos and Zephyr dual channel  


Problems Fixed, Features added or Other Updates Since 3.11a2:
-----------------------------------------------------------------------------------

(1) CR15762 Cannot install windows 2003 in a SAN environment.      

(2) CR16164  Add generic boot code type string to EFI boot config utility.      

(3) CR16165  Remove byte swap for Helios and Zephyr binaries.      

(4) CR16166  Add boot image type lookup table entries for new adapters.      


Problems Fixed, Features added or Other Updates Since 3.11a1:
-----------------------------------------------------------------------------------

  (1) More comprehensive solution for delay device discovery aka Lost LUN issue.  Workaround 
      now includes support for other devices on the loop with failing RAID controller. (CR15381) 


Problems Fixed, Features added or Other Updates Since 3.11a0:
-----------------------------------------------------------------------------------

  (1) Can't do flash update (CR-15527)

  (2) Can't display the complete eVPD V2 HBA name (CR-15552)  

  (3) Increase RATOV timeout (CR-15572) 

  (4) Generic trap occurs on some systems when internal or external loopback test is invoked. (CR-15383)

  (5) Improve instructions for setting max lun and discovery delay timer. (CR-15617) 


Problems Fixed, Features added or Other Updates Since 3.10a6:
-----------------------------------------------------------------------------------

  (1) Added config utility menu item to delay device discovery by a user selectable 
       number of seconds.
       
  (2) Added internal and external loopback tests to the driver diagnostic protocol.
    
  (3) Added support for Helios, Zepyr, and 3rd party branded PCI device IDs.
   
  (4) Added support for displaying V1 and V3 VPD fields in configuration utility.
  
  (5) Several configuration utility text changes, IE copyright notice.    										     

  (6) Added discover delay timer to EFI configuration utility as workaround for Lost LUN issue 
      seens with RAID controller that fails to add devices to ALPA map on the first link reset. 


Problems Fixed, Features added or Other Updates Since 3.10a5:
-----------------------------------------------------------------------------------

  (1)  Fixed problem where EFI 3.10a5 did not support Arbitrary Loop. (CR-13725)


Problems Fixed, Features added or Other Updates Since 3.10a4:
-----------------------------------------------------------------------------------

  (1)  Fixed problem with Child Display in Diagnostics functions. (CR-13564)

  (2)  Changed "-e" and -"m" drvdiag levels to "not supported".

  (3)  Changed VPD version to "3".

  (4)  Removed "SAL" documentation from readme.txt.


Problems Fixed, Features added or Other Updates Since 3.10a3:
-----------------------------------------------------------------------------------

  (1)  Implemented Power-on self test Diagnostics function.

  (2)  Implemented Bus Interface Unit test (PCI Loopback) Diagnostics functions.

  (3)  Fixed problem with Hard-alpa Display string as per reqest. (CR-13492)


Problems Fixed, Features added or Other Updates Since 3.10a2:
-----------------------------------------------------------------------------------

  (1)  Implemented Diagnostics function.

  (2)  Fixed problem where the LUN scan sub-menu hangs EFI with a Clariion 4500 
       connected to McData ES3016 with an LP982. (CR-13109)

  (3)  Fixed problem that when Device # 02. was selected on the boot device menu 
       (Device #01. on menu  had no mapping), then Port driver 2.22a8/W2K3 could
       find no hard disks during OS installation. (CR-13150)


Problems Fixed, Features added or Other Updates Since 3.10a1:
-----------------------------------------------------------------------------------

  (1)  Fixed problem where unable to boot from Port Driver with non-zero LUN targets. 
       (CR-13112)


Problems Fixed, Features added or Other Updates Since 3.10a0:
-----------------------------------------------------------------------------------

  (1)  Fixed problem setting the topology to point-to-point, EFI driver login to 
       a hub and display targets. (CR-12860)

  (2)  Fixed Problem setting Boot scan to Discovered Targets.  The EFI driver was 
       unable to create device path for non LUN-0 targets.

  (3)  Fixed problem with adding Scsi Error Commands properly.


Problems Fixed, Features added or Other Updates Since 3.01a0:
-----------------------------------------------------------------------------------

  (1)  Added support for all SCSI Commands.

  (2)  Implemented Scsipassthrough functions if the driver is called by an
       external utility that uses Scsipassthru functions.

  (3)  Rearranged setup utility options.

  (4)  Implemented the supported function of driver configuration Protocol 
       check for the revision number of the driver before claiming support.

  (5)  EFIBoot Driver can boot all targets or specific targets selected with the 
       Setup Utility. The No Boot selection is also available in the Setup Utility.

  (6)  Fixed problem with rediscovering targets and doing read/write When the link
       went down after targets discovered and device path created.

  (7)  Added support for EFI Source Code version 1.10.14.62.


Problems Fixed, Features added or Other Updates Since 3.00a9:
-----------------------------------------------------------------------------------

  (1)  Combined 3 EFI drivers to one.

  (2)  Added VPD Protocol.

  (3)  Controllers detected based on PCI Protocol.

  (4)  Boot Bios displayed with Enabled/Disabled Info in setup Utility.

  (5)  Boot Bios displayed with Universal/Pair/EFI Boot/ X86 Boot/Open Boot in 
       Firmware Update Utility.

  (6)  Added LunCtrlAttrs Protocol.


/*-------------------------------------------------------------------------------*/

1. General descriptions:

   1. This version of EFIBoot is executed from Flash.

   2. This version can run configuration utility through "Drvcfg" shell command.

   3. This version can download Firmware through "Drvcfg" shell command and 
      Firmware Update Protocol.

   4. This version can verify Configuration, Firmware, Vpd, Controller and Target
      Information through "Drvcfg" shell command.

   5. When EFIBoot is loaded in EFI Shell, Type "Drivers" <enter> to see whether
      the driver is loaded. For example,
     
      5.1. If the EFI driver version 3.01a0 or above then
         
          1. No Target attached, 

      82 00030110 D X X  1  - Emulex SCSI Pass Thru Driver        Elxcli301a0

          2. With Targets attached,

      82 00030110 B X X  1  1 Emulex SCSI Pass Thru Driver        Elxcli301a0

           (A) EMULEX SCSI PASSTHRU DRIVER: This driver produces a SCSI Pass 
                                            through handle for each Emulex 
                                            Adapter.


2. Procedure to Install Operating System on a Fibre Channel Disk 

   This is only for the system with floppy disk drive.

2.1 Procedure to Install Windows Server 2003 on a Fibre Channel Disk.

    (1) Boot with Windows Server 2003 Setup Media (See Microsoft Documentation 
        For Details)

    (2) Monitor the white bar on the bottom of the screen. 

    (3) Press [F6] within 5 seconds when the "Press F6 if you need to install a 
        third party SCSI or RAID driver" message is displayed. 

    (4) When the message "Setup could not determine the type of one or more mass
        storage devices installed in your system, or you have chosen to manually 
        specify an adapter." is displayed, insert the Emulex driver diskette.

    (5) Follow the remaining instructions to complete the Windows Server 2003
        installation.

   Note:

   1. Make sure the user always uses the latest version of Emulex's Windows 
      Server 2003 Port driver or Miniport driver.

   2. Create a GPT Partition if the user has more than one drive mapped as a boot 
      device. This is applicable for all Hard disks (IDE,SCSI,Fibre,etc.,)

   3. For Port drivers, the user can select 8 boot devices through the 
      configuration utility, but the first drive will be available at installation.
      Make sure to select the correct installable drive as the first boot drive. 

2.2 Procedure to Install Red Hat Linux on 64-bit system.
 
    Please follow the instructions in this section if you want to install RedHat 
    Linux Advanced Server onto a Fibre Channel boot disk attached to Emulex 
    LightPulse HBA.

    (1)  Download the Driver Disk image file appropriate for your RedHat 
         distribution. An example of this is: as21-ia64-6.00c.img.gz

    (2)  Uncompress the Driver Disk image file if necessary.
       
         # unzip as21-ia64-6.00c.img.gz

    (3)  Insert a diskette into the diskette drive and copy the uncompressed Driver
         Disk image file to diskette.

         # dd if=as21-ia64-6.00c.img of=/dev/fd0 bs=1440k

    (4)  Load Red Hat installation CD-ROM disc 1 in the target machine and boot into
         the EFI shell.

    (5)  At the EFI prompt "Shell>", use the "map" command to list all devices and
         file systems that the system recognizes.
       
         Shell> map

    (6)  In the output of the "map" command, note the entry corresponding to the
         CD-ROM containing Red Hat installation CD-ROM disc 1. An example of this
         is: fs1

    (7)  To change to "fs1:" file system type "fs1:" at the prompt.
		
         Shell> fs1:

    (8)  Type "elilo Linux dd" to boot into the installation program.

         fs1> elilo Linux dd

    (9)  Select YES, when you are prompted:	

         Do you have a driver disk?

    (10) You will then be prompted: Insert your driver disk and press ok to 
         continue insert the driver disk and press ENTER

    (11) Red Hat will print a message indicating it is loading the lpfc driver. User 
         can then install RedHat following the standard installation direction from 
         RedHat.

3. EFIBoot Load Procedure

The Light Pulse EFIBoot is distributed as a .PRG file. This file may be downloaded
to the Adapter using the firmware upgrade procedure with the following Utility in
Various systems. 

  1. "Drvcfg"                  : EFI based Systems. 

     Please refer to section 5 for user interface how to download EFIBoot in EFI
     based systems.

  2. Command Line              : EFI based Systems.

     Load the EFIBoot through Command Line, "load elxcli301a0.efi" <Enter>.     

  3. LP6DUTIL.EXE              : DOS based utility.

     Please refer to the LP6DUTIL version 9.0a13, or later, documentation for user
     interface how to download EFIBoot in DOS PCI systems.

  4. LPUTILNT                  : Windows Miniport Driver.

     Please refer to the utility user manual for details on using the above tool.

  5. Emulex Configuration Tool : Windows Port Driver.

     Please refer to the elxcfg user manual for details on using the above tool.


4. EFIBoot Unload Procedure.

   1. If the EFI driver version 3.01a0 or above then

      a. Type "drivers" <enter>.
         after entering, Display will show the following, For example
                  T   D
      D           Y C I
      R           P F A
      V  VERSION  E G G #D #C DRIVER NAME                      IMAGE NAME
      == ======== = = = == == ================================ ============
      82 00030110 D X X  1  - Emulex SCSI Pass Thru Driver     Elxcli301a0

     b. Write down the Emulex driver handle. For the above case, 
        Emulex driver Handle number is 82.

      c. Type "Unload 82" <enter>.


5. Procedure to run the Configuration tool with EFI Drivers.

   Emulex EFI driver can be run with the "drvcfg" EFI Shell command. After seeing 
   Shell Prompt, Follow the steps.
   
   1. Get the latest version of Firmware, based on board and type of firmware files
      in case if you want to update firmware.

   2. If the card does not have EFI Driver 3.00a1 or above, please get the Command
      Line driver, elxcli.efi. Load the driver through Command Line 
      (load elxcli.efi).

   3. To display drvcfg options: type "drvcfg -?" <enter>.
      This will help how to use the various options.

   4. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   5. To find the Controllers supported by the Emulex EFI driver, Type 
      "drvcfg " <enter>. Display will show the following, For example,

      fs0:\Emulex> drvcfg
      Configurable Components 
      Drv[28]  Ctrl[41]  Lang[eng]
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]
      
      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   6. Type "drvcfg -s 91 24" <enter> to set controller options.
      
      1. This will display the screen with all Emulex adapters.
      
      2. Select the adapter you want to modify.
      
      3. After selecting the Adapter, Next screen will allow the user to select
         the functions defined. 

         a. Setup Utility   - is used to configure the Adapter parameters.
         b. Firmware Update - is used to flash the Firmware, Bios, etc.,

   7. In order to update Firmware, select "Firmware Update", and follow the steps.

      1. Type "File directory Name" <enter>. If the file is root directory 
         type "\" <enter>.

      2. Type "File Name" <enter>. Wait ..., Utility will post Success/Error 
         message. 

      3. After successful download, reset the system after completing the
         "Drvcfg" utility in order to use the new firmware.

   8. In order to configure the Adapter user shell select "Setup Utility".
      After selecting "Setup utility", the next screen will allow user to
      do the following,

         1. Enable or Disable BIOS   - is used to Enable or Disable the EFIBoot
                                       to discover targets.
         2. Configure HBA Parameters - is used to configure HBA parameters.
         3. Configure Boot Parameters- is used to configure Boot Parameters.
         4. Reset to Default Values  - is used to set the default values.

   9. In order to Configure HBA Parameters user shell select "Configure HBA 
      Parameters". After selecting "Configure HBA Parameters", the next screen
      will allow user to do the following,

      1. Default ALPA of this adapter - is used to select hard Alap of this 
                                        Adapter.
      2. Topology Selection           - is used to select the Topology.
      3. PLOGI Retry Timer            - is used to select Port Login retry timer.
   
  10. In order to Configure Boot Parameters user shell select "Configure Boot 
      Parameters". After selecting "Configure Boot Parameters", the next screen
      will allow user to do the following,
        
      1. Device Path Selection  - is used to select Fibre or SCSI Boot Device 
                                  path.
      2. Maximum Luns/Target    - is used to Select Maximum Luns/Boot Target.
      3. Boot Target Scan       - is used to Select Boot from NVRAM or all 
                                  discovered targets or No target.
      4. Configure Boot Devices - is used to configure up to the 8 boot devices.    
              
   Note: 

   The Configuration protocol supports the English language only.


6. Procedure to run Configuration tool to verify Adapter information with EFI 
   Drivers.

   Emulex EFI driver can be run with the "drvcfg" EFI Shell command. After seeing 
   Shell Prompt, Follow the steps.
   
   1. To display drvcfg options: type "drvcfg -?" <enter>.
      This will help how to use the various options.

   2. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   3. To find the Controllers supported by the Emulex EFI driver, Type 
      "drvcfg " <enter>. Display will show the following, For example,

      fs0:\Emulex> drvcfg
      Configurable Components 
      Drv[28]  Ctrl[41]  Lang[eng]
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]
      
      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   5. Type "drvcfg -v 91 24" <enter> to set controller options.

      1. This will display the screen with all Emulex adapters.
      
      2. Select the adapter user wants to verify the information.
      
      3. After selecting the Adapter, Next screen will allow the user to select
         the functions defined. 

         1. Config   Info - is used to display the Adapter Configuration parameters.
         2. Firmware Info - is used to display the Adapter Firmware Information.
         3. Vpd      Info - is used to display the Adapter Vpd Information.
         4. Ctrl     Info - is used to display the Controller Information.
         5. Device   Info - is used to display the Connected targets Information.
         6. Slim     Info - is used to display the Connected targets Information for
                            the Port Driver.


7. Procedure to run the Diagnostics Protocol with EFI Driver.

   Emulex EFI driver can now run with "drvdiag" EFI Shell command. After seeing
   Shell Prompt, Follow the steps below.
   
   1. To display about usage. Type "drvdiag -?" <enter>. This will define how 
      to use the various options.

   2. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   3. To know the Controller supported by Emulex EFI driver, Type 
      "Drvdiag" <enter>. Display will show the following, For example,

      fs0:\Emulex> drvdiag -c
      Available Diagnostics
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[18]  Child[55]  Lang[eng]
      Drv[4A]  Ctrl[18]  Child[56]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[19]  Child[57]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[4D]  Ctrl[22]  Child[58]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]

      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   4. Type "drvdiag -s 91 24" <enter> to run Standard Diagnostics.
   
   5. Type "drvdiag -e 91 24" <enter> to run Enhanced Diagnostics. Enahanced diagnostics 
       perform an internal loopback test.

   6. Type "drvdiag -m 91 24" <enter> to run Manufacturing Diagnostics. Manufacturing diagnostics 
       perform an external loopback test.   Note:  A loopback connecter on each fibre channel port
       is required for this test.


   
   Note: 

   The Diagnostics protocol supports the English language only.



