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 provides support for the Intel(R) C600 chipset on both AHCI Capable SATA Controller and SATA/SAS Capable Controller in Intel(R) Embedded Server RAID Technology 2 (ESRT2) mode. 

This package also includes drivers for other Intel(R) Embedded Server RAID Technology 2 RAID products, but support for those products is on a product by product basis - please see the individual product Tested Hardware and Operating System List (THOL) for support details. The additional products include Intel(R) Embedded Server RAID Technology 2 RAID adapter products (Intel(R) RAID controller SASMF8I and Intel(R) RAID SAS controller AXX4SASMOD); and EPSD Server boards that support ESRT2 on the chipset SATA controller via the ICH9R, ICH10R, S5000 (ESB2), and 3420 PCH chipsets (including S5000PAL, S5000XAL, S5000PSL, S5000XSL, S5000XVN, SC5400RA, S5000VSA, S5000VCL, S5300SF, S5400SF, S5520HC, S5520HCT, S5500HCV, S5520SC, S5500WBV, S5500WB, S5520UR, S5520URT, S5500BC, S3000AHX, S3000AH, S3000AHV, S3200SHX, S3200SHC, S3200SHL, S3200SHV, S3000SHC, X38MLST, S3420GPX, S3420GPC, S3420GP, S3420GPV, S3420GPR, S7000FC4UR, S1200BT, and S1200BTS)

Please verify that this package has been tested with the RAID Controller and Operating System combination you have chosen to use by checking the drivers web page for your controller at http://support.intel.com.

=================
Package Information
=================
Driver Version = 15.04.2013.1016
OS supported = RHEL5u6/u7/u8/u9, RHEL6GA/.1/.2/.3/.4, SLES10sp4, SLES11GA/sp1/sp2/sp3; (both x86 & x64 versions for these OS versions).

The 'megasr-xx.xx.xxxx.xxxx-1-sles1x-ext-xxx-xxx.img files contain the XEN kernel drivers for SLES10 and SLES11 - these images are ONLY required if the XEN kernel is being used, and they then need to be added as a SECOND FLOPPY during installation (see section 3.1.6 below). 

This driver is production release driver set for RAID 0/1/10 and RAID 5 (when enabled).
 
====================
Attention!
====================
***See included 'megasr_DUD_readme.txt' and 'Software RAID Driver Installation Guide.doc' (from website or CD) for latest Linux distribution specific installation requirements. Failure to follow installation instructions may result in an unstable or failed OS installation***


================
Known Restrictions
================
1. May need to type "brokenmodules=ahci" (or "blacklist=ahci") at kernel parameter line (or while loading driver) during SuSE* Linux Enterprise Server 10.x or 11.x and RedHat Enterprise Linux 6.x installations (if using the AHCI controller for ESRT2 RAID). See included 'megasr_DUD_readme.txt' for latest Linux distribution specific installation requirements

2. May need to type "blacklist=isci" line at kernel parameter line during SuSE* Linux Enterprise Server 11.x (or while loading driver) or RedHat Enterprise Linux v.6.x installations, depending on which device is being used with ESRT2 driver. See included 'megasr_DUD_readme.txt' for latest Linux distribution specific installation requirements.

3. Intel(R) ESRT2 does not support UEFI functionality. A UEFI driver is planned/expected to be made available in the future.

4. The on-board C600 SATA/SAS Capable Controller does not support ODD devices. No Optical Devices should be connected to the SATA/SAS controller at any time (ODD devices are not supported in any mode), but the onboard AHCI capable ports do support ODD devices (in all modes).

5. RAID 5 feature is enabled only if the appropriate Intel(R) RAID Upgrade Key is present in the system. 

6. RAID 5 is not supported on XEN.

7.  There is an OS limitation where SuSE* Linux Enterprise Server may be unable to boot after basic installation. Refer to the following URL for installation guidance. http://www.intel.com/support/motherboards/server/sb/CS-025446.htm

8. Remote driver loading through an Intel(R) Remote Management Module (RMM) may not ensure the successful installation of Operating Systems. If this limitation is encountered, please use local driver loading through a USB Key or Floppy.

9. BIOS communicates the presence/absence of specific Intel(R) RAID C600 Upgrade keys (RKSATA4R5, RKSATA8R5, RKSAS4R5 and RKSAS8R5) using configuration data on disk (DDF) and through device registers from BIOS. If the driver does not read a valid DDF, it will disable R5 creation. The driver may not see valid DDF if (A) user does not configure using BIOS Ctrl+M; or (B) if no drives were present at the boot time and all the drives were hot-inserted after OS is booted. In both cases, user must create initial configuration using BIOS Ctrl+M utility.

10.A RAID 5 logical drive can recover from  a single drive failure by reconstructing missing data from the data and parity contained on the remaining drives. The assumption underlying this ability is that the data in the remaining drives is consistent. This assumption becomes invalid if there is a power loss during write operation(s). If there is a loss of power during a write operation, data inconsistencies may occur because data and parity writes may have completed only partially. After subsequent reboot the logical drive has inconsistent data on that particular stripe. If a drive were to fail at this point, missing data (for the inconsistent stripe alone) cannot be reconstructed from remaining drives. To correct an inconsistency, the drivers starts a back ground initialization (BGI) at reboot. While BGI is in progress, the inconsistent stripe(s) are vulnerable to drive failure. One way to avoid this window of vulnerability is to run check consistency on the logical drive using the BIOS utility. Another way is to prevent an unplanned shutdown (e.g. using UPS).

11.The LITE-ON SH S752K model CD/DVD ROM device does not respond to 0x55 & 0x51 MMC commands properly. The device hangs when these commands are issued multiple times. The driver resets the device when it hangs; but reset adversely affects DVD burning. This behavior can be consistently observed using K3B DVD burning software. K3B aborts DVD writes when 0x55 is failed and device is reset.

12. RAID 5, by its very nature, cannot tolerate double failures. The double failure can be a combination of a single drive failure and either; additional drive failures or an unplanned power failure in the RAID system. Unplanned power failures can  include but not be limited to a loss of power  or an unusual system shutdown. Unplanned power failures while there are medium errors on the drives is also considered as a double failure condition.

13. Multiple drive failures would result in a data loss condition. A single drive failure combined with any additional unplanned failure can cause loss of data integrity. To avoid loss of data integrity during a power failure, it is highly recommended to provide an uninterrupted power supply to the server to protect the RAID 5 subsystem during the event of a degraded or rebuilding state. Medium errors on the disks, combined with an unplanned power failure can also cause loss of data integrity, but this occurrence would be very unlikely.


====================
Contents in the package
====================
This package includes a ./DUD subdirectory with .img installation packages for all supported Linux variants (see above listing for specifics).

There is also an ./RPM directory that includes the .rpm package for installation within the already installed Linux distribution.

The partial source files of this driver are also included in the package, which allows for compilation on many Linux distributions not pre-compiled and provided otherwise. However, this does not imply any level of support for the partial source files, the build process, nor for other Linux distributions. These files are all located in the ./shim subdirectory.

This updated driver can be applied using the normal OS installation options.

1 The purpose of this document is to provide clear instructions on how to install OS on drives attached to the Intel(R) Embedded Server RAID Technology II Software RAID device.

2 Prepare Installation disk(s)
2.1 Driver files are available on the CD that shipped with the product or can be downloaded from http://support.intel.com. 
2.2 Create install disk(s)
User requires a system with either Microsoft Windows or a Linux based Operating System and fresh floppy diskette(s) to prepare the install disk(s).  The required Installation Diskettes can be created on any system. Extract the disk image to a floppy disk using rawrite or another image extraction utility.


-----------------
3 Installation methods
-----------------
There are different types of installation possible with the installation package provided. Those are explained in different sections.

-----------------
3.1 OS installation on RAID
-----------------
This mode of installation is selected when user needs to install the Operating system on a fresh RAID configuration. For this kind of installation the driver update disc is used at the starting of the installation and the installer will update the system with driver images for the required kernels. Follow the procedure given below to install Intel(R) Embedded Server RAID Technology II RAID Stack at the time of Installation.

-----------------
3.1.1 Installing RHEL4U7-U9 on RAID
-----------------
1) Create a RAID array using the Intel Embedded Server RAID Technology II RAID BIOS Configuration Utility.  
2) Boot your system using RHEL disc one. 
3) At boot prompt type "linux dd" (Note: for Intel(R) 3420 PCH based products, type "linux dd nostorage" at boot prompt)  
4) Insert driver update floppy disc when asked. 
5) Complete installation with RHEL CD

-----------------
3.1.2 Installing RHEL5U5-U7 on RAID
-----------------
(Refer to 'Known Restrictions' section for additional installation notes.)

In order to support XEN mode, the system needs to have its Virtualization feature enabled in BIOS as a first step, and XEN software package in the OS needs to be loaded during installation.

1) Create a RAID array using the Intel(R) Embedded Server RAID Technology II RAID BIOS Console.
2) Connect USB floppy drive and insert the floppy disk with RAID driver
3) Boot your system using RHEL5.x DVD
4) At boot prompt type "linux dd noprobe=ata1 noprobe=ata2 noprobe=ata3 noprobe=ata4"
5) And then you'll see a page that shows "loading usb-storage driver", and then it will ask you "Do you have a driver disk". Choose "Yes"
6) Then it will ask you which one do you choose as a driver disk, choose "sda" which is the USB floppy disk. And then click OK to continue, you'll see the message "Reading driver disk",  after it finishes, it will ask "Do you wish to load any more driver disks?" choose No if you do not have any more driver to load.
7) (If XEN mode feature is needed, the OS installatng KEY is necessary and then XEN software package needs to be loaded)  Then continue with the RHEL automatic installation, you can see that in the page where we select drives to use for installation, you can only see 1 disk (Intel MegaSR), this means the raid is recognized. 
8) At the last step of the installation (after all the packages are installed) RHEL5 prompts you to reboot. Do not click reboot button. Press Ctr+Alt+F2 to go to the text console prompt.
9) type "cat /proc/partitions" you will see some info about the partition.  For example, you might find several rows, one row might include sdb. You might find like this

	major	minor	#blocks	name
	8	16	1440	sdb
	(If 1440 is not the value under #blocks column, may need to remove and reinsert the USB floppy drive, then to run "cat /proc/partitions" again.)

10) type "mknod /dev/sdb b 8 16"  (8 and 16 are copied from the major and minor numbers in step #9, so that the numbers could change according to what is seen in step #9)
11) type "mkdir /temp"
12) type "mount /dev/sdb /temp"
13) type "ls /temp" and you can find all the driver files are now in /temp
14) Use cd command to enter /temp directory
15) type "./replace_ahci.sh" to execute the script. It will remove ahci from /etc/modprobe.conf and blacklist ahci in /etc/modprobe.d/blacklist (replace_ahci.sh is also an example, and please implement the script even if the *.sh is with other name).
16) Go back to graphic screen and reboot the system in order to finish the installation.


-----------------
3.1.3 Installing SLES10 or SLES11 on RAID
-----------------
(Refer to 'Known Restrictions' section for additional installation notes.)

In order to support XEN mode, the system needs to have its Virtualization feature enabled in BIOS as a first step, and XEN software package in the OS needs to be loaded during installation.

1) Create a RAID array using the Intel(R) Embedded Server RAID Technology II RAID BIOS Console.
2) Connect USB floppy drive and insert the floppy disk with RAID driver (the driver here refers to the standard driver without EXT in the name of the image)
3) Boot your system using SLES CD 
4) When first screen comes up press F5 key to load a driver and select 'Yes'
5) In the text tab, depending on which device is being used, type the appropriate inbox driver restriction (it does not hurt to add this line, even if the distribution doesn't have an inbox driver of this name):
	a) For AHCI, type either 'brokenmodules=ahci' or 'blacklist=ahci' (to prevent the inbox ahci non-RAID driver from loading)
	b) For the SCU SAS/SATA controller, type 'blacklist=isci' (to prevent the inbox isci non-RAID driver from loading)
6) Select Installation menu option
7) Press Enter
8) The following message should be displayed: 'Driver Updates added - LSI MegaRAID Software RAID module'. Press Enter. 
9) (if XEN mode feature is wanted, apart from the standard driver being loaded as recorded in step 2 above,  insert a floppy disk that contains EXT driver to be loaded after the standard load.  If XEN is not wanted, no need to load EXT driver)  The following message should be displayed: 'Select Driver Update Medium'. Press 'Esc'   
10) Proceed with installation until it gets to the 'Installation Settings' screen
11) Click on 'Partitioning' link
12) Select 'Base Partition Setup on This Proposal' if you want to keep default partitions. Click Next.
13) Whether you need to change default partitions or not, you need to change Fstab options for each partition on /dev/sdb
    a) Select partition /dev/sdb1
    b) Click 'Edit'
    c) click 'Fstab Options'
    d) Select 'Volume label' for 'Mount in /etc/fstab by'
    e) Enter a name for the volume into 'Volume Label' field, for example 'vol1', 'vol2', ...
    f) Click OK
    g) Repeat steps a-f for partition /dev/sdb2 and for any other partitions on /dev/sdb device
    h) Click Finish
14) Proceed with the installation (load XEN software package if needed)
15) If user choose to enter XEN mode after reboot, system may start YaST in non-graphic mode. After configuration completes, graphic mode will work normally again.

-----------------
3.2 Installing RAID driver as a secondary device - stand alone module.
-----------------
This mode of installation is preferred if RAID device is used as a secondary device.  It requires a manual installation of the RAID driver module at each boot of the system. Follow the procedure below:

1) Create RAID array on on the RAID controller using the RAID BIOS Console Utility. 
2) Boot the OS from primary controller and mount the dud floppy. 
	#mount /dev/fd0 /mnt/floppy.  
3) Unzip modules.cgz file on driver update disc to get driver images for different kernel versions
	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called modules.
	#cpio -ivd < modules

4) Load scsi mid layer modules and Install megasr driver for running kernel 
	#modprobe scsi_mod 
	#cd /home/megasr
	#insmod <running kernel>/megasr.o

-----------------
3.3 Installing RAID driver as a secondary device - built into initrd image
-----------------
This is preferred if RAID controller is used as a secondary device.  Here megasr driver will be build with the initrd image and there is no need to do insmod at every reboot of the system. 

1) Create RAID array on RAID Controller using Intel Embedded RAID Technology II RAID BIOS Console Utility. 
2) Boot the OS from primary controller/Disk.
3) Mount the dud floppy. #mount /dev/fd0 /mnt/floppy
4) Unzip modules.cgz file in driver update disc to get driver images for different kernel versions

	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called  modules.
	#cpio -ivd < modules

5) Install megasr driver module
	#cd /home/megasr
	#cp <kernel version>/megasr.o  /lib/modules/<kernel version>/update/megasr.o
6) Create megasr driver Entry in Configuration file. RedHat configuration file is /etc/modules.conf. If megasr entry is not present in /etc/modules.conf add following line.
	alias  scsi_hostadapter megasr
then run this command:
      #depmod <kernel version>
7) Create new initrd image for the required kernel. RedHat uses mk_initrd utility to create initrd image  following command will create an initrd image for RedHat EL4.0   kernel  in boot directory. See mk_initrd man page more information
8) Modify lilo.conf/grub.conf  file. Add newly created initrd(s) as a new entries in /etc/lilo.conf file. The best suggested method is to copy an existing lilo entry in the file and  past it as a new one. Then modify its kernel image name, initrd image name and label name.

Sample Lilo Entry
	image=/boot/vmlinux-<kernel version>
	label=linux-new
	initrd=/boot/initrd-<kernel version>.img.new
	read-only
	appened="root=LABEL=/"


Sample Grub Entry
	title Red Hat Linux (<kernel version> with megasr driver)
	root (hd0,0)
	kernel /vmlinuz-<kernel version> ro root=LABEL=/ 
	initrd /initrd-<kernel version>.img.new 
9) Update boot loader. If the boot loader is Lilo run lilo command to update boot loader
	#lilo
10) Reboot the system to the new initrd entries.

-----------------
3.4 Updating RAID driver on already installed system
-----------------
This method is used to update megasr driver in a system, which is already installed with an older driver version. Here this procedure explains the manual process of updating the driver.  Follow the steps given to update driver.

1) Create RAID array on RAID Controller using Intel Embedded RAID Technology II RAID BIOS Console Utility.
2) Boot the OS from primary controller/Disk.
3) Mount the dud floppy. 
	#mount /dev/fd0 /mnt/floppy
4) Unzip modules.cgz file in driver update disc to get driver images for different kernel versions  
	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called  modules.
	#cpio -ivd < modules

5) Update megasr driver module for the  required kernels.
	#cd /home/megasr
	# cp <kernel version>/megasr.o  /lib/modules/<kernel version>/update/megasr.o
6) Create megasr driver Entry in Configuration file. RedHat configuration file is /etc/modules.conf. If megasr entry is not present in /etc/modules.conf add following line.
	alias  scsi_hostadapter megasr
then run this command:
      #depmod <kernel version>
7) Create new initrd image for the required kernel. RedHat uses mk_initrd utility to create initrd image following command will create an initrd image for  RedHat EL4.0   kernel  in boot directory. See mk_initrd man page more information
	#mkinitrd /boot/initrd-<kernel version>.img.new <kernel version>
8) Modify lilo.conf/grub.conf  file. Add newly created initrd(s) as a new entries in /etc/lilo.conf file. The best suggested method is to copy an existing lilo entry in the file and  past it as a new one. Then modify its kernel image name, initrd image name and label name.

Sample Lilo Entry
	image=/boot/vmlinux-<kernel version>
	label=linux-new
	initrd=/boot/initrd-<kernel version>.img.new
	read-only
	appened="root=LABEL=/"

Sample Grub Entry
	title Red Hat Linux (<kernel version> with megasr driver)
	root (hd0,0)
	kernel /vmlinuz-<kernel version> ro root=LABEL=/ 
	initrd /initrd-<kernel version>.img.new
9) Update boot loader. If the boot loader is Lilo run lilo command to update boot loader
	#lilo
10) Reboot the system to the new initrd entries.


================
Fixes/Updates
================
Version 15.04.2013.1016
1. SWR 1.34 release package.
2. PnP ID's added for several platforms
3. Several minor issues resolved

Version 15.02.2013.0414
1. SWR 1.32 release package.
2. PnP ID's added for several platforms
3. Several minor issues resolved

Version 15.01.2013.0115
1. Several issues resolved, including a Patrol Read issue when global spares were present, some power state functionality (up and down), and issues with some large capacity drives
2. PnP ID's added for several platforms

Version 15.00.1205.2012
1. Several issues resolved, including a Patrol Read issue when global spares were present, some power state functionality (up and down), and issues with some large capacity drives
2. PnP ID's added for several platforms

Version 15.00.1205.2012
1. Several bug fixes, including issues with >2TB drives on both AHCI and SCU controllers
2. PnP ID's added for several platforms
3. Unified code stream to include prior chipset generations

Version 15.00.0927.2012
1. Issue resolved with PnP ID for S2600CP2 board

Version 15.00.0725.2012
1. Quarterly maintenance release, with several minor issues resolved
2. Support added for RHEL6.3 (to the full package release)
3. PnP ID's added for several platforms

Version 15.00.0528.2012
1. Resolved an issue with a large number of events being reported by BMC during rebuild
2. PnP ID's added for several platforms

Version 15.00.0329.2012
1. Bug fixes, including several SGPIO LED changes, a fix for a possible kernel panic during drive pull-push (RHEL5.8 in particular, but possible in others), and a possible hang condition in RHEL5.7 installations
2. Added PNP ID's for several products

Version 15.00.0224.2012
1. Minor bug fixes, including a repetitve hot plug issue
2. Revision of several readme text files
3. Added PNP ID's for several new products in development

Version 15.00.0120.2012
1. Initial public release

Note: For more information of fixes and updates, please contact your Intel Sales Representative.


*Other names and brands may be claimed as the property of others.