Fibre Channel Driver and Utilities for EFI
A6826A/A9782A/A9784A/AB465A/A7538A



Contents
========

Included Files
Utilities
Updating EFI Driver or RISC Firmware using Efiutil (Command Line Interface)
Updating EFI Driver or RISC Firmware using Efiutil (Batch Mode)
Additional Notes
Diagnostic Tools

    

Included Files
--------------

EFIUTIL.EFI          EFI utility for updating adapter driver/firmware
EFIAUX.DRV           EFI auxiliary driver (used by efiutil when no drivers were loaded)
QL2312EF.BIN         EFI driver image file (used for write to adapter flash)
QL2312FW.BIN         Adapter firmware file (used for write to adapter flash)
HP6826.DAT           NVRAM file for A6826A (used for write/read of adapter nvram)
HP9782.DAT           NVRAM file for A9782A (used for write/read of adapter nvram)
HP9784.DAT           NVRAM file for A9784A (used for write/read of adapter nvram)
HPB465.DAT           NVRAM file for AB465A (used for write/read of adapter nvram)
HP7538.DAT           NVRAM file for A7538A (used for write/read of adapter nvram)
EFIUTIL.PDF          Efiutil user manual
EFICFG.PDF           EFI Configuration and Diagnostic Protocols documentation



Utilities
---------

efiutil
 
  This utility is used to update the EFI driver and RISC firmware resident in the FLASH ROM on the HBA.
  This utility can be used either in command line interface mode or batch mode.
  In command line interface (CLI) mode it can be invoked by entering the following command in the EFI 
  partition where the utility resides:
    
     efiutil

  Some online help information exists within the efiutil itself and can be displayed by typing:

     efiutil help 

  Refer to the efiutil user manual for complete instructions.

  See additional notes below.

eficfg

  This utility is used to configure configuration parameters in the Adapter NVRAM.
  It is also used to configure EFIFCScanLevel parameter in the System NVRAM.
  The utility can be invoked by entering the following at the shell prompt:

     drvcfg m n -s 

  where m is the driver handle and n is the controller handle.

  Refer to the eficfg.pdf file for complete usage instructions.

  See additional notes below.



Updating EFI Driver or RISC Firmware using Efiutil (Command Line Interface)
---------------------------------------------------------------------------

  1. Insert the <IPF0312> CD or download CD Image available from HP <web site> 
     on any available EFI partition on the Target System.

  2. Type the following commands at the EFI prompt:
     
      2.1  map -r (needed only if you are using a CD)

      2.2  fsX: 

      2.3  cd <directory on CD> (if a CD is being used)

           OR

           cd <directory where the files were copied>

      2.4  fs0:\> efiutil
      2.5  This will bring up the command line interface for the efiutil. 
           Choose the adapter index that you want to update.

           efiutil> adapter
     	     Adapter Index number [0]? N  
           (where N represents the adapter index you want to update)

      2.6  efiutil> efi_write=<EFI driver file name>        (to update the EFI driver)

      2.7  efiutil> risc_fw_write=<RISC firmware file name> (to update the RISC firmware)
           
  3. After the update process is complete, reset the system.
     This is important since the flashed driver will not be loaded until a reset is done.
     To do a reset, do the following:

     3.1 fsX:\> reset



Updating EFI Driver or RISC Firmware using Efiutil (Batch Mode)
---------------------------------------------------------------

  1. Insert the <IPF0312> CD or download CD Image available from HP <web site> 
     on any available EFI partition on the Target System.

  2. Type the following commands at the EFI prompt:
     
      2.1  map -r (needed only if you are using a CD)

      2.2  fsX: 

      2.3  cd <directory on CD> (if a CD is being used)

           OR

           cd <directory where the files were copied>

      2.4  efiutil all info
            Provides info of all adapters in the system.

      2.5  efiutil adapter=N efi_write=<EFI driver file name>        (for updating EFI driver)
           efiutil adapter=N risc_fw_write=<RISC firmware file name> (for updating RISC firmware)

     to update one adapter only.

           OR
         
           efiutil all efi_write=<EFI driver file name>
           efiutil all risc_fw_write=<RISC firmware file name>

     to update all adapters with the same revision.

     where:
        "fsX"   (where X maps to the CD or the available EFI partition where the CD image was downloaded)   
        "N"     (where N represents the adapter index you want to update obtained from step 2.4)


  3. After the update process is complete, reset the system.
     This is important since the flashed driver will not be loaded until a reset is done.
     To do a reset, do the following:

     3.1 fsX:\> reset

Examples:
     
  Here is an example in command line interface:
  
    fs0:> efiutil
  
    Fibre Channel Card Efi Utility  1.07  (10/28/2003)
    
     2 Fibre Channel Adapters found:
      A0  Acpi(PNP0A03,0)/Pci(1|0)  50060B0000123400  1.15 (3.02.165)
      A1  Acpi(PNP0A03,0)/Pci(1|1)  50060B0000123402  1.15 (3.02.165)
    
    efiutil> adapter
     Adapter Index number [0]? 1
    
    efiutil> efi_write
     Driver image binary filename [ql2312ef.bin]? 
      using filename ql2312ef.bin
     Old revision 1.15, New revision 1.16, Continue [n]? y
     File Size: 0000B600
     Flash part Am29LV010
      Moving Image 2 down...
      ............................................................
      Moving Image 1 down...
      ............................................................
      ............................................................
      Writing new image...
      ............................................................
      ............................................................
      ............................................................
      Writing new image...
      ............................................................
      Image write complete.
    
    efiutil> quit
    fs0:\> reset
    
Here is an example in batch mode:

1. Example to update EFI driver and RISC firmware on one specific adapter.

fs2:\EFI\HP\TOOLS\IO_CARDS\FC2P2G> efiutil all info

 Fibre Channel Card Efi Utility  1.08  (11/10/2003)

 3 Fibre Channel Adapters found:
  A0  Acpi(000222F0,200)/Pci(1|0)/Pci(4|0)  50060B00001EE050  1.14 (3.02.164)
  A1  Acpi(000222F0,400)/Pci(1|0)  50060B00001CCD94  1.16 (3.02.165)
  A2  Acpi(000222F0,400)/Pci(1|1)  50060B00001CCD96  1.16 (3.02.165)

  A0  Acpi(000222F0,200)/Pci(1|0)/Pci(4|0)  50060B00001EE050  1.14 (3.02.164)

  A1  Acpi(000222F0,400)/Pci(1|0)  50060B00001CCD94  1.16 (3.02.165)

  A2  Acpi(000222F0,400)/Pci(1|1)  50060B00001CCD96  1.16 (3.02.165)

Choosing adapter 2 for update,

 fs0:\> efiutil adapter=2 efi_write=ql2312ef116.bin risc_fw_write=ql2312fw302165.bin

 Fibre Channel Card Efi Utility  1.08  (11/10/2003)

 3 Fibre Channel Adapters found:
  A0  Acpi(000222F0,200)/Pci(1|0)/Pci(4|0)  50060B00001EE050  1.14 (3.02.164)
  A1  Acpi(000222F0,400)/Pci(1|0)  50060B00001CCD94  1.16 (3.02.165)
  A2  Acpi(000222F0,400)/Pci(1|1)  50060B00001CCD96  1.16 (3.02.165)
  

  A0  Acpi(000222F0,400)/Pci(2|0)/Pci(4|0)  50060B0000265042  1.14 (3.02.164)
 Writing efi driver image to flash from file ql2312ef116.bin...
 Old revision 1.14, New revision 1.16
 File size 0000B800
 Flash part Am29LV040
 Moving Image 2 down...
 ............................................................
 Moving Image 1 down...
 ............................................................
 ............................................................
 Writing new image...
 ............................................................
 Writing new image...
 ............................................................
 Image write complete.
  A0  Acpi(000222F0,400)/Pci(1|1)  50060B00001CCD96  1.16 (3.02.164)
 Writing risc image to flash from file ql2312fw302165.bin...
 Old revision 3.02.164, New revision 3.02.165
 File size 00011000
 Flash part Am29LV040
 Moving Image 2 down...
 .............................................................
 Writing new image...
 .............................................................
 .............................................................
 Writing new image...
 .............................................................
 Image write complete.

fs0:\> reset


2. Example to update EFI driver on all adapters in batch mode.  
   Follow the same steps with the risc_fw_update option for RISC firmware update.

 fs0:\> efiutil all efi_write=ql2312ef116.bin 

 Fibre Channel Card Efi Utility  1.08  (11/10/2003)

 3 Fibre Channel Adapters found:
  A0  Acpi(000222F0,200)/Pci(1|0)/Pci(4|0)  50060B00001EE050  1.14 (3.02.164)
  A1  Acpi(000222F0,400)/Pci(1|0)  50060B00001CCD94  1.14 (3.02.165)
  A2  Acpi(000222F0,400)/Pci(1|1)  50060B00001CCD96  1.14 (3.02.165)
  

  A0  Acpi(000222F0,400)/Pci(2|0)/Pci(4|0)  50060B0000265042  1.14 (3.02.164)
 Writing efi driver image to flash from file ql2312ef116.bin...
 Old revision 1.14, New revision 1.16
 File size 0000B800
 Flash part Am29LV040
 Moving Image 2 down...
 ............................................................
 Moving Image 1 down...
 ............................................................
 ............................................................
 Writing new image...
 .............................................................
 Writing new image...
 .............................................................
 Image write complete.
  A1  Acpi(000222F0,400)/Pci(2|0)/Pci(4|0)  50060B0000265042  1.14 (3.02.165)
 Writing efi driver image to flash from file ql2312ef116.bin...
 Old revision 1.14, New revision 1.16
 File size 0000B800
 Flash part Am29LV040
 Moving Image 2 down...
 ............................................................
 Moving Image 1 down...
 ............................................................
 ............................................................
 Writing new image...
 ............................................................
 Writing new image...
 ............................................................
 Image write complete.
 A2  Acpi(000222F0,400)/Pci(2|0)/Pci(4|0)  50060B0000265042  1.14 (3.02.165)
 Writing efi driver image to flash from file ql2312ef116.bin...
 Old revision 1.14, New revision 1.16
 File size 0000B800
 Flash part Am29LV040
 Moving Image 2 down...
 ............................................................
 Moving Image 1 down...
 ............................................................
 ............................................................
 Writing new image...
 ............................................................
 Writing new image...
 ............................................................
 Image write complete.

  
fs0:\> reset



Additional Notes 
----------------

a.  When specifying an adapter number or a filename in batch mode, 
    efiutil requires the absence of spaces on either side of the 
    equal (=) sign for syntactic reasons; for example:

       fs0:\> efiutil adapter=0 efi_write=driver.bin

b.  Do not redirect the output of efiutil, drvcfg or drvdiag.  Redirecting
    console output may cause failures.  Output redirection is done with 
    the '>' character (e.g.: ls > dirlist.txt).



Diagnostic Tools
-----------------

There is an embedded diagnostic protocol in the EFI driver which can be used
to test the Host Bus Adapter and the Fibre channel link.

There are three levels of diagnostics available:
1. Standard -
This level performs a mailbox test on the adapter registers followed by a loopback 
test at the 10-bit interface.  At the end of the test, a disconnect/connect sequence 
is done to restart the adapter.  See additional notes above.

2. Extended -
This level performs a mailbox test on the adapter registers followed by loopback 
tests at the both the 10-bit interface and the 1-bit interface.  A memory test
is also performed.  At the end of the test, a disconnect/connect sequence is 
done to restart the adapter.  See additional notes above.

3. Manufacturing - 
This level provides an interactive mode for the user to run various diagnostic
operations.  The following operations are available:
 -Show Adapter Connection Mode
 -Set Loopback Test Point
 -Set Loopback Test Iteration Count
 -Run Loopback Test
 -Run Mailbox Test
 -Show Adapter Path
 -Run POST (Power On Self Test)

See additional notes above.


Please refer to the eficfg.pdf file for complete details on running the diagnostic protocol.


