This release note and the software that accompanies it are copyright (c) 2012, Intel Corporation or its suppliers, and may only be installed and used in accordance with the license that accompanies the software.

This Software is furnished under license and may only be used or copied in accordance with the terms of that license. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. The Software is subject to change without notice, and should not be construed as a commitment by Intel Corporation or its suppliers to market, license, sell or support any product or technology. Unless otherwise provided for in the license under which this Software is provided, the Software is provided AS IS, with no warranties of any kind, express or implied. Except as expressly permitted by the Software license, neither Intel Corporation nor its suppliers assumes any responsibility or liability for any errors or inaccuracies that may appear herein. Except as expressly permitted by the Software license, no part of the Software may be reproduced, stored in a retrieval system, transmitted in any form, or distributed by any means without the express written consent of Intel Corporation.

==========================
Supported RAID Controllers
==========================
This download supports Intel(R) RAID controllers using SAS software stack (RS25AB080, RS25SB008, RMS2PB080, RMS25PB040, RMT3PB080, RMS25CB080, RMS25CB080N,MS25PB080N, RMS25CB040, RMT3CB080, RS25NB008, RS25DB080, RS2VB080, RS2VB040, RT3WB080, RS2WC040, RS2WC080, RS2SG240, RS2WG160, RMS2MH080, RMS2AF080, RMS2AF040, RS2MB044, RS2BL080, RS2BL080DE, RS2BL040, RS2PI008DE, RS2PI008, SRCSASBB8I, SRCSASLS4I, SRCSASJV, SRCSASRB, SRCSATAWB, SROMBSASFC, SROMBSASMP2, SROMBSASMR, SRCSASPH16I, SRCSAS18E, SRCSAS144E, SROMBSAS18E), please verify that this utility has been tested with the RAID card you have chosen to use by checking the drivers web page for your controller at http://support.intel.com.

===================
Package Information
===================
Version = 2.03.03.s6

OS supported = UEFI (EFI v2.0)

==================
Known Restrictions
==================
This download does NOT support EFI v1.1 environment. Please use the EFI shell command “ver? which will display the EFI version, to identify the EFI version.

NVRAM clear will not work if FW CLI doesn't have support for this command. 

=======================
Contents on the package
=======================
The following files are included in this zip:

Name					Description
cmdtool2.efi				Command Line Utility
CMDTool2_UEFI_v2.03.03.S6_rel-notes.txt	This file
License_v2.pdf				License Agreement

==========================
Installation instructions:
==========================
This utility is a EFI Based command line utility that can be used to query the controller and attached devices  for status, Update Firmware, and create/manage logical drive configuration.
Extract package contents to a user specified location such as = a:\

The utility supports many command line options, which can be seen by running help.

The help can be seen in the following ways ?

Cmdtool2 -? -aN
Gives the complete help regarding the command line options and their usage in brief. 


Supported options in CmdTool2
==============================
CmdTool2 -v -aN|-a0,1,2|-aALL
CmdTool2 -help|-h|? -aN|-a0,1,2|-aALL
 -adpCount 
 -adpList 
 -AdpSetProp {CacheFlushInterval -val}|{ RebuildRate -val} 
    |{PatrolReadRate -val}|{BgiRate -val}|{CCRate -val} 
    |{ReconRate -val}|{SpinupDriveCount -val}|{SpinupDelay -val} 
    |{CoercionMode -val}|{ClusterEnable -val}|{PredFailPollInterval -val} 
    |{BatWarnDsbl -val} |{EccBucketSize -val} | {EccBucketLeakRate -val} 
    |{AbortCCOnError -val} | AlarmEnbl | AlarmDsbl | AlarmSilence 
    |{SMARTCpyBkEnbl -val} | NCQEnbl | NCQDsbl -aN|-a0,1,2|-aALL 
    |{SSDSMARTCpyBkEnbl -val} -aN|-a0,1,2|-aALL 
    |{EnblSpinDownUnConfigDrvs -val} -aN|-a0,1,2|-aALL 
    |{EnblSSDPatrolRead -val} -aN|-a0,1,2|-aALL 
 -AdpSetProp -AutoDetectBackPlaneDsbl -val -aN|-a0,1,2|-aALL 
       val - 0=Enable Auto Detect of SGPIO and i2c SEP. 
             1=Disable Auto Detect of SGPIO. 
             2=Disable Auto Detect of i2c SEP. 
             3=Disable Auto Detect of SGPIO and i2c SEP. 
 -AdpSetProp -CopyBackDsbl -val -aN|-a0,1,2|-aALL 
       val - 0=Enable Copyback. 
             1=Disable Copyback. 
 -AdpSetProp -LoadBalanceMode -val -aN|-a0,1,2|-aALL 
       val - 0=Auto Load balance mode. 
             1=Disable Load balance mode. 
 -AdpSetProp -UseFDEOnlyEncrypt -val -aN|-a0,1,2|-aALL 
       val - 0=FDE and controller encryption (if HW supports) is allowed. 
             1=Only support FDE encryption, disallow controller encryption. 
 -AdpGetProp CacheFlushInterval | RebuildRate | PatrolReadRate | BgiRate 
    | CCRate | ReconRate | SpinupDriveCount | SpinupDelay | CoercionMode
    | PredFailPollInterval | EccBucketSize | EccBucketLeakRate | EccBucketCount
    | ClusterEnable | BatWarnDsbl | AbortCCOnError | AlarmDsply 
    | AutoDetectBackPlaneDsbl| CopyBackDsbl | LoadBalanceMode | SMARTCpyBkEnbl | SSDSMARTCpyBkEnbl | EnblSpinDownUnConfigDrvs
    | EnblSSDPatrolRead 
    | NCQDsply -aN|-a0,1,2|-aALL 
    | UseFDEOnlyEncrypt -aN|-a0,1,2|-aALL 
 -AdpAllInfo -aN|-a0,1,2|-aALL  
 -AdpGetTime -aN|-a0,1,2|-aALL  
 -AdpSetTime yyyymmdd hh:mm:ss -aN   
 -AdpBIOS -Enbl |-Dsbl | -SOE | -BE | -Dsply -aN|-a0,1,2|-aALL 
 -AdpBootDrive {-Set -Lx}|-Get -aN|-a0,1,2|-aALL 
 -AdpAutoRbld -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL
 -AdpCacheFlush -aN|-a0,1,2|-aALL
 -AdpPR -Dsbl|EnblAuto|EnblMan|Start|Stop|Info|{SetDelay Val} | SSDPatrolReadEnbl | SSDPatrolReadDsbl 
         -aN|-a0,1,2|-aALL
 -FwTermLog -BBUoff|BBUoffTemp|BBUon|Dsply|Clear -aN|-a0,1,2|-aALL
 -PDList -aN|-a0,1,2|-aALL 
 -PDGetNum -aN|-a0,1,2|-aALL 
 -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL  
 -PDOnline  -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PDOffline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PDMakeGood -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PDHSP {-Set [-Dedicated [-ArrayN|-Array0,1,2...]] [-EnclAffinity] [-nonRevertible]} 
     |-Rmv -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PDRbld -Start|-Stop|-ShowProg 
        -PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL  
 -PDClear -Start|-Stop|-ShowProg 
        -PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL  
 -PdLocate {[-Start] | -stop } -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PdMarkMissing -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL 
 -PdGetMissing -aN|-a0,1,2|-aALL 
 -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -aN 
 -PdPrpRmv [-UnDo] -physdrv[E0:S0] -aN|-a0,1,2|-aALL  
 -EncInfo -aN|-a0,1,2|-aALL 
 -PhyInfo -phyM -aN|-a0,1,2|-aALL  
 -LDInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL 
 -LDSetProp  {-Name LdNamestring} | -RW|RO|Blocked | WT|WB|RA|NORA|ADRA 
        | Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU
        -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL 
 -LDGetProp  -Cache | -Access | -Name | -DskCache -Lx|-L0,1,2|-LALL  
        -aN|-a0,1,2|-aALL 
 -LDInit {-Start [-full]}|-Abort|-ShowProg -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL 
 -LDCC {-Start [-force}|-Abort|-ShowProg -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL 
 -LDBI -Enbl|-Dsbl|-getSetting|-Abort|-ShowProg -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL  
 -LDRecon {-Start -rX [{-Add | -Rmv} -Physdrv[E0:S0,...]]}|-ShowProg 
        -Lx -aN 
 -LdPdInfo -aN|-a0,1,2|-aALL 
 -LDGetNum -aN|-a0,1,2|-aALL 
 -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached]
        [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]]
        [-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] [-Force] [FDE|CtrlBased] -aN 
 -CfgEachDskRaid0 [WT|WB] [NORA|RA|ADRA] [Direct|Cached] 
        [CachedBadBBU|NoCachedBadBBU] [-strpszM] |[FDE|CtrlBased] -aN|-a0,1,2|-aALL
 -CfgClr -aN|-a0,1,2|-aALL 
 -CfgDsply -aN|-a0,1,2|-aALL 
 -CfgLdDel -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL 
 -CfgFreeSpaceinfo -aN|-a0,1,2|-aALL 
 -CfgSpanAdd -r10 -Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...] -aN 
 -CfgSpanAdd -r50 -Array0[E0:S0,E1:S1,E2:S2,...] -Array1[E0:S0,E1:S1,E2:S2,...] 
        [-ArrayX[E0:S0,E1:S1,E2:S2,...] ...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached] 
        [CachedBadBBU|NoCachedBadBBU][-strpszM][-szXXX[-szYYY ...]][-AfterLdX]| 
        [FDE|CtrlBased] -aN
 -CfgAllFreeDrv -rX [-SATAOnly] [-SpanCount XXX] [WT|WB] [NORA|RA|ADRA] 
        [Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-strpszM]
        [-HspCount XX [-HspType -Dedicated|-EnclAffinity|-nonRevertible]] | 
        [FDE|CtrlBased] -aN
 -CfgForeign -Scan | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL    
 -CfgForeign -Dsply [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL    
 -CfgForeign -Preview [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL    
 -CfgForeign -Import [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL    
 -CfgForeign -Clear [x]|[-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL    
        x - index of foreign configurations. Optional. All by default. 
 -AdpEventLog -GetEventLogInfo -aN|-a0,1,2|-aALL 
 -AdpEventLog -GetEvents  -f <fileName> -aN|-a0,1,2|-aALL 
 -AdpEventLog -GetSinceShutdown  -f <fileName> -aN|-a0,1,2|-aALL 
 -AdpEventLog -GetSinceReboot -f <fileName> -aN|-a0,1,2|-aALL 
 -AdpEventLog -IncludeDeleted -f <fileName> -aN|-a0,1,2|-aALL 
 -AdpEventLog -GetLatest n -f <fileName> -aN|-a0,1,2|-aALL 
 -AdpEventLog -GetCCIncon -f <fileName> -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL 
 -AdpEventLog -Clear -aN|-a0,1,2|-aALL 
 -AdpFwFlash -f filename [-NoSigChk] [-NoVerChk] -aN|-a0,1,2|-aALL  
 -AdpGetConnectorMode -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL  
 -AdpSetConnectorMode -Internal|-External|-Auto -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL  
 -PhyErrorCounters -aN|-a0,1,2|-aALL  
 -PDCpyBk -Stop|-ShowProg|-ProgDsply -PhysDrv[E0:S0] -aN|-a0,1,2|-aALL 
 -PDReprovision -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL 
 -LDMakeSecure -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL 
 -DestroySecurityKey | [-Force] -aN 
 -CreateSecurityKey -SecurityKey sssssssssss | [-Passphrase sssssssssss] |[-KeyID kkkkkkkkkkk] -aN 
 -ChangeSecurityKey -OldSecurityKey sssssssssss | -SecurityKey sssssssssss| 
          [-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN
 -GetKeyID [-PhysDrv[E0:S0]] -aN 
 -SetKeyID -KeyID kkkkkkkkkkk -aN 
 -VerifySecurityKey -SecurityKey sssssssssss -aN 
 -GetPreservedCacheList -aN|-a0,1,2|-aALL 
 -DiscardPreservedCache -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL 

       sssssssssss  - Minimum 8 characters alpha and numeric with at least one special character. 
       kkkkkkkkkkk - Must be less than 256 characters. 

    Note: The directly connected drives can be specified as [:S] 

    Wildcard '?' can be used to specify the enclosure ID for the drive in the 
      only enclosure without direct connected device or the direct connected 
      drives with no enclosure in the system.

    The following option may be given at the end of any command above, except 'adpcount' : 

    [-Silent] [-page[N]]
                  N - Number of lines per page. 

=============
Fixes/Updates
=============
Version 2.03.00.s6
1) Fixed - In CLI help file "UEFI" command is not added in version commands.
2) Fixed - "Version uefi a0" failed to show UEFI version in EFI host CLI

Version 2.02.00.s6
1) Fixed backward compatibility for 1068 in BIOS, EFI Driver and EFI CLI
2) Add Clear NVRAM to EFI CLI, however, NVRAM clear will not work if FW CLI doesn’t have support for this command.

*Third-party trademarks are the property of their respective owners.
