RELEASE NOTES FOR FWPIAUPD UTILITY
Version 10.0 Build 6
Mar 02, 2011


Copyright (c) 2011 Intel Corporation.
===============================

Contents
-------------
1. Introduction
2. Supported Platforms
3. Supported Operating Systems
4. Pre-requisites
5. Installation and Un-installation (WinPE)
6. Installation and Un-installation (UEFI)
7. Usage
8. Known Issues
9. Unsupported Features
10.Instructions to end-user
11.Changes since previous release
12.Legal Information.


1. Introduction
--------------------
FWPIAUPD is used for updating the boot block,operational code and PIA for various micro-controllers 
on a given platform through the use of platform - specific Intel hex programming files and binary 
image files.The Firmware and PIA Flash Update Utility (FWPIAUPD) updates the boot block, 
operational code and PIA on the BMC or an IMM module, or sends commands through the BMC to 
update another controller on the IPMB. After the code is updated, it is compared with the code from 
the hex file to make sure the write was done correctly.  Finally, the controller is put back into 
operational mode.The utility supports the firmware update using the HEX file or BIN file having 
version 2 or 3 of PIA header.

2. Supported Platforms
---------------------------------
    S1200BT platform series.

3. Supported Operating Systems
-----------------------------------------------
    WinPE 2.0 
    WinPE 2.1
    UEFI 2.0.

4. Pre-requisites
-----------------
    1. Boot to WinPE 3.0 or WinPE 2.0 image or UEFI 2.0.


5. Installation and Un-installation (WinPE)
-----------------------------------------------

   Installation:
   ---------------
     1. Copy the compressed ZIP file into your local directory (e.g. C:\FWPIAUPD).
     2. Unzip the folder.
     3. There will be ReleaseNotes.txt and folders named drivers, win_x86, win_x64.  
     4. Go to drivers folder and you can find a win folder and inside win folder, 
     5. There are two folder called x86 and x64. 
     6. Choose appropriate folder depends on the Operating System and execute the Install.cmd command.
     7. Go to win_x86 or win_x64 folder based on the operating system 
     8. There are fwpiaupd.exe,imbapi.dll, libipmi.dll and msipmi.dll.

   Uninstallation:
   --------------------
     1. To uninstall FWPIAUPD utility, manually delete the contents of the directory where the 
        utility present.
     2. To uninstall the drivers, please follow this path : drivers->win 
     3. choose the x86 or x64 folder depends on the Operating system and run the uninstall.cmd command.

6. Installation and Un-installation (UEFI)
-----------------------------------

   Installation:
   -------------
   1. Unzip the FWPIAUPDv3.0.1Build3.zip on any windows m/c and take the folder and copy to any external media.
   2. Connect the external media to SUT
   3. Go to the directory where fwpiaupd.efi is present in the external media
   4. Run Fwpiaupd.efi -h for usage.

   Uninstallation:
   ---------------

   1. To uninstall FWPIAUPD utility, manually delete the contents of the directory where the utility is present.
        
7. Usage
-------------

   The following is the procedure to execute the FWPIAUPD utility:

      The FWPIAUPD can be run as a command-line application for some of the actions that
      it performs, including updating the Firmware of BMC,HSC and ME from either binary or hex file.

		fwpiaupd <switch> [File Name] 

      a. To view the command-line help:

                fwpiaupd /h   

      b. Command Line Sysntax:
	----------------------

	Usage: FWPIAUPD <options> <hexfile|Image file>
	The character in parenthesis can be substituted for the entire option.
	-?            Displays the command line help.
	-(h)elp       Displays the command line help.
	-ni           Forces the utility into non-interactive mode.  The operation,
              	      area and primary or secondary controller must be specified.
	-nodownrev    Prevents loading of an older revision of firmware than what
                      currently exists in the system.
	-(u)pload     Uploads the areas specified in the (boot, op, pia, rmm3, efs) arguments.
	-(v)erify     Verifies the areas specified in the (boot, op, pia, rmm3, efs) arguments.
	-(i)nventory  Displays an inventory of the input file or a controller. 
	-(b)oot       Applies the specified operation to the Boot Block.
	-(o)p         Applies the specified operation to the Op Code.
	-pia          Applies the specified operation to the PIA.
	-rmm3         Applies the specified operation to the RMM3 area.
	-(s)econdary  Selects the secondary controller as the target of the operations.
	[-address=XX] optionally specified address (default=20).
	-bin          Specify this option if input file is a firmware image.
	-setdef       Restores the default non volatile BMC FW settings.
        -if=kcs	      Uses KCS interface for BMC FW update.
        -if=usb	      Uses USB interface for BMC FW update.

*Note*: 
---------
---------

WinPE:
------
a. For BMC FW update to use KCS I/F, you can do either of the following:
     1. rename the libipmi.dll to some other name. LIBIPMI.dll is present in the win_x86 or win_x64 folders
     2. use -if=kcs switch.

b. -if=kcs or -if=usb must NOT be used in the following scenarios. If used, it is treated as invalid command-line.
	fwpiaupd <-u>  [<packagename>] [<-address=2c>]  [<-bin>] [<-b>][<-ni>][<-nodownrev>][<-errorlog>]
	fwpiaupd <-u>  [<packagename>] [<-address=22>]  [[<-bin>][<-b>][<-ni>][<-o>][<-nodownrev>][<-errorlog>]]

c. -if=kcs or -if=usb, must NOT be used in ONLY verify scenario (independent verify). If used, it is treated as 
in-valid scenario.

UEFI:
-----
a. -if=kcs or -if=usb must NOT be used in the following scenarios. If used, it is treated as invalid command-line.
	fwpiaupd <-u>  [<packagename>] [<-address=2c>]  [<-bin>] [<-b>][<-ni>][<-nodownrev>][<-errorlog>]
	fwpiaupd <-u>  [<packagename>] [<-address=22>]  [[<-bin>][<-b>][<-ni>][<-o>][<-nodownrev>][<-errorlog>]]

b. -if=kcs or -if=usb, must NOT be used in ONLY verify scenario (independent verify). If used, it is treated as 
in-valid scenario.
 

8. Known Issues
---------------
1. Wherever system reset is required after the HSC or BMC or ME FW update, it is recommended to use A/C power cycle.

2. After BMC FW update, using USB I/F - ** A/C power cycle is mandatory **.

3. USB I/F is default interface for the BMC FW update. If this fails, it is recommended to use -if=kcs option
   to make utility uses KCS interface to update BMC FW. BMC FW update using a Microsoft IPMI driver with KCS I/F takes 
   around 20 min.

4. The BMC update takes around 16 minutes on UEFI and around 26 minutes on WinPE OS using a signed image on Bromolow platform series with KCS interface.

5. The "Plug and Play BMC" setting in the BIOS needs to be explicitly enabled, in order to use the MSIPMI driver on WinPE OS. Otherwise, the utility will error out.


9. Unsupported Features
-----------------------

None.

10. Instructions to end user
---------------------------

WinPE:
------
a. A/C Power cycle is recommended after each FW update.
b. If the installed operating system contains Microsoft IPMI driver and user wants to use Intel IPMI driver
   for the FW updates, then user to install Intel IPMI driver by following the below steps -
     Go to drivers folder and you can find a win folder and inside win folder
     There are two folder called x86 and x64
     Choose appropriate folder depends on the Operating System
     Run the command "devicesetup.exe -v install IMBDrv.inf *IMBDRV" without quotations.
c. "BMC Interface Error (or) Microcontroller not found in system" error occurs, in the following situations -
	1. BMC FW corrupted.
	2. No IPMI driver installed in the system.
	3. Multiple IPMI drivers installed in the system. e.g. when both MS IPMI & Intel IPMI drivers installed in the system.

UEFI:
----
a. A/C Power cycle is recommended after each FW update
	

11. Changes since previous release
----------------------------------
Includes fixes for trackers raised on the previous release.


12. Legal Information
--------------------

========================================================

                               LEGAL INFORMATION

========================================================

Information in this document is provided in connection with Intel Products

and for the purpose of supporting Intel developed server boards and systems.

No license, express or implied, by estoppel or otherwise, to any intellectual 

property rights is granted by this document. Except as provided in Intel's 

Terms and Conditions of Sale for such products, Intel assumes no liability 

whatsoever, and Intel disclaims any express or implied warranty, relating to 

sale and/or use of Intel products including liability or warranties relating 

to fitness for a particular purpose, merchantability, or infringement of any 

patent, copyright or other intellectual property right. Intel Corporation may 

have patents or pending patent applications, trademarks, copyrights, or other 

intellectual property rights that relate to the presented subject matter.  

The furnishing of documents and other materials and information does not 

provide any license, express or implied, by estoppel or otherwise, to any 

such patents, trademarks, copyrights, or other intellectual property rights.  

Intel products are not intended for use in medical, life saving, or life 

sustaining applications. Intel may make changes to specifications and product 

descriptions at any time, without notice.

 

Intel is a registered trademark of Intel Corporation. 

 

*Other names and brands are the property of their respective owners.

 

Copyright (c) 2011 Intel Corporation.



(end)