Release Notes for Firmware and PIA Flash Update Utility(FWPIAUPD)
Version 14.1 Build 10

Dec 28, 2016
Copyright (c) 2017 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. Change List
11. Instructions to end-user
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 or 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 by sending commands through the BMC to update another controller on the IPMB in a firmware transfer mode. After the code is updated, it is compared with the code from the hex/bin file to make sure the write was done correctly.  Finally, the controller is put back into operational mode.
 
2. Supported Platforms
---------------------------------
  Intel(R) Server Board based on Intel(R) Xeon(R) processor Scalable family

3. Supported Operating Systems
-----------------------------------------------
   UEFI Shell
   WinPE* 4.0 (x64)

4. Pre-requisites
-----------------
    1. Boot to the appropriate WinPE Environment OR EFI shell.

5. Installation and Un-installation (WinPE)
-----------------------------------------------
   Installation:
   ---------------
     1. Unzip the zip file on any windows machine and take the folder and copy to any external media.
     2. Connect the external media to the system.
     3. There will be ReleaseNotes.txt and folders named "Drivers", "Win_x64". Go to "Drivers\win\x64" folder and run "install.cmd" as administrator to install drivers.
     4. Go to "Win_x64" folder where you can find the fwpiaupd.exe, imbapi.dll, libipmi.dll and msipmi.dll files.

   Uninstallation:
   ----------------
     1. To uninstall the FWPIAUPD utility, manually delete the contents of the directory where the utility is present.
     2. To uninstall the drivers, please follow this path : Drivers->win->x64 and run the uninstall.cmd command.

6. Installation and Un-installation (UEFI)
-----------------------------------
   Installation:
   -------------
   1. Unzip the zip file on any windows machine and take the folder and copy to any external media.
   2. Connect the external media to system
   3. Go to the directory where fwpiaupd.efi is present in the external media. fwpiaupd_temp.efi is internal temporary file, please do not remove or use it.
   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 Syntax:
	----------------------

	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.
	-(u)pload     Uploads 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.
	-(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.
	-r            Restores the BMC configuration to defaults.
	-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.


8. Known Issues
---------------
1. The BMC FW update using KCS interface takes 
	12 minutes (UEFI)
	26 minutes (WinPE MSIPMI driver)
	12 minutes (WinPE Intel IMB driver)
2. The BMC update with force update jumper set, is not supported on WinPE OS. This feature is applicable only to UEFI currently. On UEFI the time taken for the update is around 22 minutes.
3. BMC FW update using USB interface takes 12 minutes in which USB file transfer takes 9 minutes. BIOS team is investigating this issue.

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

   None.

10. Change List
---------------
   Build 10
   Support new BMC version format

   Build 9
   Support new SKU

   Build 8
   Support new SKU

   Build 7
   Fix exception hang issue under EFI shell

   Build 6
   Add USB device polling for BMC update
   Add "-r" to restore BMC default for BMC update

   Build 5
   Support a new SKU
   Update supported OS list 

   Build 4
   Improve USB failover to KCS for BMC update

11. Instructions to end user
---------------------------
WinPE:
------
a. 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.
   If the user wants to install the Intel IPMI driver, the following command needs to be explicitly given,  as the install.cmd script currently does not do it.
   DeviceSetup.exe -v install IMBDrv.inf *IMBDRV. 
   
UEFI/WinPE:
----------
a. A system event log will be generated when there is a BMC update failure. This will happen only for inappropriate images of S1600, S1400, S2600, S2400 and S4600 platform series. With any other images, though the utility errors out, an event log will not be generated.


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) 2017 Intel Corporation.



(end)
