This release note and the software that accompanies it are copyright (c) 2018, 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 Expanders
========================
This download supports Intel(R) RAID Expanders RES3FV288, RES3TV360 and JBOD2312S3SP, 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
===================
Firmware Version B057
CPLD code for RES3FV288 expander version FV_p00361_20171130 (Revision EE)
CPLD code for RES3TV360 expander version TV_p00363_20171130 (Revision AA)

==================
Known Restrictions
==================
1) Firmware/CPLD code update require the expander to be connected to a compatible Intel(R) RAID controller (IT/IR or MR) or SAS adapter, see below for the HBA compatibility list.

MR RAID controllers 
RS3MC044, RS3DC080, RS3DC040, RS3SC008, RS3WC080, MS3HC080, RMS3CC080, RMS3CC040, RMS3AC160, RSP3TD160F,RSP3MD088F, RSP3DD080F, RSP3WD080E, RMSP3HD080E

IT/IR RAID controllers or SAS adapters
RS3FC044, RS3UC080, RS3UC080J, RS3GC008, RMS3JC080, RMS3VC160, RMSP3JD160J, RSP3QD160J, RSP3GD016J

 
2) Firmware update can be done from the EFI shell or from the OS with some restrictions:
The firmware update from the EFI shell can be done only if the expander is connected to a MR RAID controller (see compatibility list above). 
The Firmware update can be done from the OS with the expander connected to any RAID controller or SAS adapter.

3) CPLD code update can only be done from the OS (Windows or Linux).


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

Name:					Description:
---------------------------------------------------------------------------------------------
Update_Package_B057.txt			This file
binary\*				Firmware binary folder
cpld\*					CPLD code binary folder
utility\*				Update utilities folder for Windows, Linux or UEFI
License_v2.pdf				License Agreement
StorCli_MR7.4_rel-notes.txt		StorCli readme


==========================
Installation instructions:
==========================
The Utility folder has one of the next three folders inside, Windows, Linux or UEFI depending on the package version.
Refer to the readme file on each folder depending on the update method.




======================
CPLD Fixes/Updates 
======================
6/5/2018 - CPLD modified for SFF8448 compliance on upstream connectors for use with newer Intel Tri-mode RAID controllers


======================
Firmware Fixes/Updates 
======================


FW B003
- Initial release

(B005)
- Support French Valley and Truchas Valley card with one single image.
- SAS/SATA Buffering feature is disabled.

(B008)
- SAS/SATA 12G buffering feature enabled
- Added FAN status fix (-R only)
- Reports the firmware version B00x in the product revision-level field
- Reports the "Not Available" status when power supply is present but power cable is unplugged (-R only)
- Update threshold values (-R only)

(B011)
- Add two temperature sensor elements to SES element pages
- Set temperature sensor thresholds
- Resolve MegaRAID LED update issue
- Change connector definition on RES3FV288 PHY 20 - 23 to miniSAS HD connector type (Resolves MegaRAID Bad PHY log entry) 

(B012) Production Release
- Remove PBA temperature sensor element from the SES element page
- Add support for 32K buffer size during firmware update
- Increased SATA 3G signal strength to increase margin

(B014)
- Enable 3G SAS/SATA buffering
- Add SES enclosure element for (JBOD)
- Add custom string buffers for (JBOD)

(B016)
- Enable 4th fan support for (JBOD)
- Enable 12G connection management (init string) (JBOD)
- Add cooling element control page support (JBOD)

(B017)
- Add 2 degree cooling hysteresis to fan control algorithm (JBOD)

(B018)
- Disable system good status when critical/warning set (JBOD)
- Update fan speed control settings (JBOD)

(B020)
- Update fan speed control settings (JBOD)
- Halt commands to MCU after power cycle bit is set (JBOD)

(B021)  
- Change TWI settings to increase hold time margin (JBOD)
- PSU events set enclosure noncritical status (JBOD)

(B022)  
- PSU event "Not Installed" status OK (JBOD)

(B023)  
- Set SES enclosure status byte 1 INFO bit when power supply status changes (JBOD)
- Update EMIP code to support SATA 4Kn drives

(B024)  
- Fix bug in EMIP code for 512 / 512e SATA drives

(B039)
- Fix: SATA IO timed out with SSSF temperature monitoring enabled
- Fix: Host received 'FUNCTION FAILED' response after PHY was disabled or reset
- Fix: Firmware failed to send XFER RDY frames correctly when SSSF split mode was enabled
- Fix: Firmware logic for setting Negotiated Logical Link Rate field (NLLR) to RESET IN PROGRESS needed changes to comply with SAS specification
- Fix: Firmware assertion during SMP target discovery
- Fix: SAS analog parameters were not applied to the correct Logical PHY during initialization
- Added Feature: Log entries were added to track PHY up/down event
- Added Feature: Firmware disables forwarding of SATA_HOLD in receiving channel and replaces SATA_HOLD with ALIGN primitive
- Added Feature: Cache parity error detection and recovery support
- Fix: pmc-flash-imge-gen.sh did not read BUILD_BUMBER from correct file
- Fix: Incorrect handling of PIO data command in SATA buffering logic
- Fix: SATA buffering logic in firmware would miss CLOSE (CLEAR AFFILIATION) primitive
- Fix: SATA buffering enhancement: Chunk size of READ IO was changed to 16K
- Fix: SMP PHY Disable Command handling violates the SAS Specification timing requirements
- Fix: SATA drives taken offline by controller due to delay in drives sending Initial FIS
- Fix: Firmware download failed with new Linux utility
- Fix: SATA drive was not recognized by host when the LSB of SAS address was set to 0x40 on PM8054
- Fix: Bootloader Partition protection feature
- Fix: Implemented additional log entry points to enhance firmware debugging
- Fix: Coverity detected issues
- Fix: RTC timer running out of range
- Fix: Cross-Open error handling enhancement
- Fix: OPEN request timeout occurred with SAS Buffering OAF Early Accept disabled
- Fix: SDB FIS Active tag incorrectly set when forwarded to host
- Fix: Host detected IO timeout with media error occurred on the drive
- Added Feature: SMR drive support for SATA Buffering
- Fix: Firmware did not return proper status when handling SMP PHY test request
- Added Feature: SATA-Interlace
- Added Feature: Enable Multi-Lun support in SAS Buffering
- Fix: SATA media error handling in SATA Buffering
- Fix: CRC error handling in SATA Buffering
- Fix: Wrong Initiator Connection Tag issue for multi-host
- Fix: SXP firmware needs to expose xfer_rdy split mode to the host
- Fix: Multi-host cross-open deadlock
- Fix: Firmware error while processing MODE SENSE command
- Fix: Incorrect logic in smpstd_phy_test_req_fr_params_proc()
- Fix: Report General returned SSP SAS address instead of enclosure logical identifier
- Added Feature: Implementation of Firmware download authentication
- Fix: AWT and Pathway Block Count Not Incrementing during OPEN_REJECT (PATHWAY_BLOCKED) Causing Command Timeout
- Fix: Persistent OPEN REJECT (RETRY) Observed During Controller Reset Test with SXP12G SAS Buffering
- Fix: Data Miscompare When Read While Rebuild with Bad Blocks on SATA Drives
- Fix: SSSF Can Only Handle SATA NON-NCQ Commands with Sector Count < 256
- Fix: SSSF Failed To Handle the SATA PIO Command with Multi PIO FISes
- Fix: SSSF Did Not Check the Length of Each DATA FIS for SATA FPDMA READ Command
- Fix: Write Log Ext Command with Sector Count Larger Than 0xff Failed On SATA Drive
- Fix: Read Log Ext Command with Sector Count Larger Than 1 Failed On SATA Drive
- Fix: Failed to create RAID array when SATA 4Kn drives were used behind expander
- Fix: SAS Thread Watchdog Kick Change
- Fix: RAID Controllers Unable to Find SAS/SATA Drives Behind Expander After Reboot
- Fix: Controller Cannot Find SAS Drives During Reboot Test
- Fix: Attached PHY ID Not Set Correctly in SMP Discover Response
- Fix: Incorrect Usage for NUMBER OF ENCLOSURE CONNECTOR ELEMENT INDEXES
- Fix: DEVICE SLOT NUMBER Field in SMP DISCOVER Response Is Not SPL-2 Compliant
- Fix: Last Packet's Command Caused Timeout When Updating Firmware
- Fix: Duplicate XFER_RDY from SSSF to Host with SSD in use
- Fix: SSSF Retransmitted RESPONSE frame has CRC Error if no ACK/NAK received
- Fix: Bandwidth degradation of a single drive module comparing 6G connection management enabled/disabled
- Fix: Double bit ECC errors observed in SSSF MBUF0 during WRITE DATA error handling
- Fix: SSSF does not send Task Management Function to device after XFER_RDY from SSSF to host received NAK during mix of WRITE and READ I/Os
- Fix: SSSF did not send a frame and the target detected DONE Timeout after CRC error injection to Write command
- Fix: SSSF did not flush buffer after Initiator Retry Timeout
- Fix: Open Address Frame from target was never accepted by SXP when a single disparity error was injected and SAS buffer was enabled
- Fix: SSSF did not send XFER_RDY frames from target after Task Management Function LU Reset was completed
- Fix: Constant Open Reject (Retry) after Notify (Power Loss Expected)
- Fix: Received OPEN_REJECT (PROT NOT SUPPORTED) when 6G SSD tried to OPEN to a controller with buffering enabled
- Fix: I/O Timeouts during dual-domain fail over test with buffering enabled
- Fix: LINK: 12G SERDES BCT and Target Amplitude are not ideally suited for Backplane operation [342171]
- Fix: SXP PACK AWT incrementing after OPEN timeout
- Fix: No response received for TMF LUN RESET from host to SXP12G after link up
- Fix: Design of SSP initiator and target can lead to the nexus Frame Transmit Request (FTR) being queued multiple times
- Fix: Firmware does not consider all programmed link rate conditions causing PHY link to remain down after link reset
- Fix: SMP Zone Unlock response is dropped during LINK RESET
- Fix: Zone Group Number does not match in responses of REPORT GENERAL and REPORT ZONE PERMISSION TABLE
- Fix: Continuous hard reset of a PHY connected to HDD causes controller crash
- Fix: SXP36x12G firmware crashes when logical PHY ID of a disk is greater than the maximum PHY count
- Fix: PMCFW_ASSERT hangs before initialization string is read
- Fix: sgpio_hw_reinit() function may not comply with the SFF-8485 Specification
- Fix: SGPIO Rx/Tx only supported on Bus 0
- Fix: Add stretch time for TWI master port
- Fix: TWI non-ThreadX driver returned incorrect data when running at 100KHz
- Fix: SXP12G - Device Technology 9 does not have length decoded correctly and results in length=0x0
- Fix: References to uninitialized variables found by static analysis tool
- Fix: Rename test pattern identifiers for accuracy
- Added Feature: New functionality to report Uncorrectable ECC errors from SSSF
- Fix: SAS/SATA buffering: OPEN timeout in neighboring PHY when injecting CRC error in Open Frame from SSSF to Initiator
- Fix: INITIATOR CONNECTION TAG (ICT) field in OPEN frame to the initiator may not be updated correctly when using SAS buffering
- Fix: In SAS buffering mode SSSF does not respond to OPEN after ACK/NAK timeout sent to SAS target
- Fix: After DONE(ACK/NAK Timeout) error handling completes, subsequent SSP frames encounter CRC error
- Fix: In-connection CRC error counter is invalid when buffering is enabled
- Fix: SATA HDD cannot achieve link up when disabling buffering before a HDD inserted
- Fix: SXP Firmware reported watchdog timeout and entered minimal mode
- Fix: TX BCT VPP MAX field in init string does not limit tuning
- Fix: Non-spec compliant response to an error TTIU in BCT
- Fix: Active Copper Cable cannot link up with Unmanaged Connector Type 0b01 setting in initialization string
- Fix: LSI 12G HBA cannot find drives attached to SXP12G
- Fix: PHY change count is not incremented when attached device type is forced to smpstd_no_device
- Fix: OPEN REJECT (NO DESTINATION) starving lower priority threads until IT Nexus Loss
- Fix: SXP stuck in self-configuring status
- Fix: TASK TAG handled improperly in sia_msg_cmd_cmpl_proc()
- Fix: Two different behaviors are seen from the SXP SSP target when SOF for a Data Frame is removed
- Fix: General exception in SIA thread after power cycle
- Fix: SIA Watchdog timeout due to failed buffer allocation
- Fix: Micron SPI programming failure causing WDG NMI and Exceptions
- Fix: FLM write exception when ECC is enabled
- Fix: Add support for offset width configuration of TWI Slave Port
- Fix: UART FIFO timeout should be dynamic depending on serial rate
- Fix: Zone info dirty bit being cleared incorrectly
- Fix: PHYs not being seen in zones as expected
- Fix: Zone cannot be unlock by zone lock inactivity timer after NDSR
- Fix: Modifying the zone permissions can cause SAS thread to enter an infinite loop on the next zone lock request
- Fix: Serial EEPROM/Zoning Settings in initialization String
- Fix: Zoning crash due to illegal memory access
- Fix: Firmware assert on diagnostic send
- Fix: Command server function cmdsvr_sxp_indirect_ecbi_rd() polled wrong busy bits
- Fix: The response is incorrect when setting SSC to Down-spreading in SXP-Specific Diagnostics Page for SAS (0x3F)
- Added Feature: Increase upper limit of `Disk Drive Count` parameter
- Fix: Firmware was calling threadx functions to output log messages when handling fatal error dump
- Fix: Host detected IO timeout when using 12G SSD and enabling 12G Connection Management 
- Fix: SSSF does not close connection after forwarding 22K frames to host for 6G SAS Buffered Read
- Fix: Repetitive SMP PHY CTRL Hard reset may get SATA SSD lost when enabling buffering feature


(B057)
- Fix: MP PHY CONTROL where the host received FUNCTION FAILED
- Fix: SAS analog parameters were not applied to the correct Logical PHY during initialization
- Added Feature: firmware logic for setting Negotiated Logical Link Rate field (NLLR) to RESET
- Added Feature: connector virtual index.
- Added Feature: SES device types were added
- Added Feature: Log entries to track PHY up/down event


 

