Sas4: g4Xrecovery utility

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

(*) THIS UTILITY IS NOT FULLY TESTED
(*) This release is only to get baseline set for the pre-liminary reviews


On Windows Platform, 
	- FTDI based USB Dongles (Incl. Broadcom/Avago/LSI Dongles) must have changed the latency reduced in Device Manager.
		o Device Manager --> Right click on COM (appropriate USB) --> Port Settings --> Advanced
		o Under BM Options reduce Latency Timer (msec) to lowest value for better & optimal performance.
	- Keyspan has different chip than FTDI based chips. 
 		o Modify in Device Manager to have the Faster performance & Bulk data transfer.
		o These options can be located in Device Manager --> Right Click on COM --> Port Settings --> Advanced

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

Usage of the utility:

g4Xrecovery -sdb <com port> [Command Name]

eg:

   To print interface help,
   g4Xrecovery -h

   To list commands,
   g4Xrecovery -sdb <com port> help

   Other options,
   g4Xrecovery -sdb com1 reset -wd
   g4Xrecovery -sdb com1 erase -f -s
   g4Xrecovery -sdb com1 dl -fw sas4xfw.fw

For expander, only sdb is supported.
===================================================================================================


Known Limitations:

1) Performing any operations using SDB will stop the ARM processor, thus it will disrupt the host link and can cause system halt
   or configuration change or reboot, if not taken care properly. Xrecovery is supported as a recovery tool for bricked devices. 
   It should not be used on operational device connected in local Host machine.
2) Because of an errata in the hardware, the auto flash may not work correctly. 
   It is recommended to use the manual flash when the auto flash fails.
3) The complete Flash upload/download through sdb may take a long time.

The below needs to be followed for cub/cobra (for sdb):

1) If the Download process is interrupted, user must power cycle or hard reset the Expander to detect the expander
2) Upon active firmware download using firmware, it is advised to reset and/or power cycle to refresh the regions.

Note:

When Secure Status is displayed as "Configurable Secure", this will mean that FW can boot as a configured secure or unsecure. 
It is software configurable. User can use the cli rev command in g4xdiagnostics to get the exact status.


