 **********************************

 Linux Driver Package Release Notes

 **********************************


 OEM Name:         	LSI Logic Corporation.
 Release Date:      	08/01/03
 Product Name:     	Linux x86 package v1.18j


 Component Name(s) and Version #:
 ------------------------------------------------
 Components:  For Redhat Linux 8.0/9.0

 Kernels Tested: 2.4.x 
 ------------------------------------------------
   Current Release:      Driver Package version:      v118j
                         Driver Version: 	      v118j
                         Megamgr: 		      v5.15


   Previous Release:     Driver Package version:      v118h 	
                         Driver Version: 	      v118h
                         Megamgr: 		      v5.15

 Driver Standard Features:
 ========================
 Multithreaded
 Multiple Processor Support
 Non-Disk Support
 Forty Logical Drive Support

 
 Megamgr Standard Features:
 =========================
 -Utility supports 12-adapters including of all types of cards supported by it.  It supports SCSI and Intelligent 
  IDE/SATA MegaRAID cards viz.
         428/434/438/466/467/490
         471/475/493/511(IDE)/518/520/523(sata6)/Sata4/531/1035
 -Utility does now allow Raid-0 spanning.
 -Max 40-arrays support on 40-ld card, 8-arrays on 8-ld card
 -Spanning across partial arrays are disallowed 
 -Shows Predictive failure ,if any, in physical drive properties menu
 -Utility allows user to initialize OPTIMAL logical drives
 -Supports consistency checking of OPTIMAL non-RAID0 logical drives
 -Utility does not allow the user to exit the rebuild/check consistency/init progress screen without 
  aborting the operation.
 -Utility allows the user to view ongoing REBUILD on all the physical drives.
 -Shows Battery options in MainMenu->Objects->Adapter menu since ver 5.14. Earlier it was available in 
  Main Menu->Object menu. This is now available only when theres battery on the adapter.
 -Supports Reconstruction (RLM + OCE)
 -Ongoing Reconstruction detection and stop other activities on that card till reconstruction is over.
 -Supports RAID=0,1,3 (not on U320 controller),5,10,30 (not on U320),50
        No RAID 3/30 option on U320 controller.
        RAID 3/ RAID 30 is not allowed on SATA cards since ver 5.15.
 -Default logical drive properties are:
        Write policy: 
              WriteThru for any board in cluster mode
              Else follow that of last logical created in this session
              If none created 
              then   
                  if the board is 518/520 and it has battery 
                  then Writeback 
                  else WriteThru for other cases
              endif
        Read policy:  Normal
	  Cache Policy: Direct I/O
	  Stripe Size:  64KB

 
 Megaraid Driver Changes -- Since previous release
 =================================================
 1. A buffer overflow error was occuring in the /proc/megaraid/0/stat file.  This was fixed.


 Linux Megamgr Changes/Bug Fixes/Enhancements -- Since previous release
 ======================================================================
 LSI : Linux : Megamgr.bin & Megamgr : Ver 5.15 : March 27, 2003

 CHANGES:
 -------
 NONE
   
 Known Driver and Megamgr Bugs/Limitations/Restrictions:
 ======================================================
  
 Driver Known Restrictions:
 -------------------------
 NONE
   
   
 Driver Known Bugs:
 -----------------
 1.  The passthru interface is broken in the driver for systems with physical memory >4GB and therefore 
     should not be used in such environments.  

 2.  When running heavy IOs with certain commands on the controller (i.e. -- check consistency 
     rebuilds, etc) some SCSI commands will timeout.
	

 Driver Installation:
 ===================

 There are two types of driver installations that one might choose to adopt:

   1.  Source compilation method
   2.  Driver Update Disk (DUD) method

 The second option is quite easy, and it doesn't require knowledge of kernel intricacies.


 Source Compilation Method:
 =========================

 The linux driver package contains the megaraid.c and megaraid.h file.
 You will need to copy these files to /usr/src/linux/drivers/scsi/ and
 choose to replace the existing source files. 

 The file /usr/src/linux/drivers/scsi/sd.c needs to be edited, and the following line changed from:

 # define SD_TIMEOUT (15 * HZ)

 to:

 # define SD_TIMEOUT (30 * HZ)
   

 Next step is to run "make menuconfig" from /usr/src/linux and configure your kernel as desired.  Make sure that 
 under the <SCSI>sub-menu the option for "probe all LUN's" is selected, and under the low-level driver section 
 there is an asterisk next to MegaRAID (or an M to build as a module).  After making the necessary changes, exit 
 and save.

 Then recompile the kernel with the following command:

 # make dep clean zImage modules modules_install
  (or bzImage for larger kernels)

 After the kernel has finished compiling, copy the image from arch/i386/boot/ to /boot and name it according to the 
 naming convention that you are using. Make the appropriate changes to  /etc/lilo.conf.

 An example

 For systems containing a single processor on the motherboard alone

 # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.15-20

 and if the system has more multiple processors on the motherboard
 the general convention is

 # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.12-20smp


 # mkinitrd /boot/initrd-{linux kernel version}.img  {version of the kernel}

   An example is given below
   (for linux kernel 2.2.12-20)

 For systems containing single processor on the motherboard alone
 # mkinitrd /boot/initrd-2.2.12-20.img 2.2.12-20

 and if the system has multiple processors on the motherboard
 the general convention is

 # mkinitrd /boot/initrd-2.2.12-20smp.img 2.2.12-20smp

 Make sure that the new entries created in the /etc/lilo.conf for the new
 kernel is updated with the latest kernel and initrd parameter

 An example entry for the lilo.conf that contains new entries

 For systems containing one processor provision in the motherboard alone

 image=/boot/vmlinuz-2.2.12-20
       label=linux-ami
       initrd=/boot/initrd-2.2.12-20.img
       read-only
       root=/dev/sda1

 and if the system has more than one processor provision in the motherboard
 the general convention is

 image=/boot/vmlinuz-2.2.12-20smp
       label=linux-amismp
       initrd=/boot/initrd-2.2.15-20smp.img
       read-only
       root=/dev/sda1

 Note: if you are using a built-in RAID extension slot on an Intel
 Madrona motherboard, figure out which scsi id the SAF_TE processor
 is using (can be found in Ctrl+M utility) and add the line
 append="megaraid=skipXX" to the section for the current image in
 lilo.conf (replace XX with the scsi id of the SAF_TE processor).
 The driver will crash if it tries to scan this id, so this lets
 it know to skip it.

 When finished editing lilo.conf, run lilo and reboot.  When it comes
 up again, the RAID controller and all disks attached should be
 detected.


 Driver Update Disk ( DUD ) Method
 =================================

 The latest driver can be installed during the installation of the OS itself.
 First extract the contents of the file mraid [driver version]

 Although the DUD disk contains a few very small files, the image 
 is in 1,440k image format.  This requires that you use the provided 
 "rwfloppy" utility to convert the image to floppy.  


 Rwfloppy utility:
 ================-

 Note: 

 Rwfloppy expects the standard 7+3 format for file names. Therefore
 the maximum file name length can not exceed seven characters and 
 must include a three character extension. Thus if a file is named
 dud7.0-1.15.img, then it should be renamed to 115.img or 
 redhat.img, etc. 


 rwfloppy -r <filename> converts floppy in a: to 1440k image format.
 rwfloppy -w <filename> writes 1440k image to a dos format floppy.

 You will need to use the second method to convert the DUD image 
 so that it is usable during the Linux install.
	

 When installing the OS, type 'linux dd' when the cd boots. This will 
 prompt you to insert the driver update disk ( DUD ). At this time 
 insert the driver update disk ( DUD )and press OK to continue. 

 The driver should load immediately.  You can use <ctrl><alt><F2> 
 to verify that the latest driver is being loaded.

 After this step continue with install as normal.

 Note:  Redhat 6.2 requires that you type 'expert' at the beginning
 of the CD install.  Then follow the prompts and choose "Add Device"
 and then select the MegaRAID driver.


 In some instances the kernel images and ramdisk image may not be created
 properly.  This will keep the system from rebooting and resulting in a
 panic. In order to verify that the images were created, you will use the
 following steps. If the vmlinuz image and initrd image are present you can
 skip the rest of this section


 At the very end of installation, BEFORE you select "Exit" switch
 (Ctrl+Alt+F2) screens then do the following

 1. 'chroot /mnt/sysimage'
 2. edit /etc/conf.modules and delete the 'unknown adapter' line
 3. cd /boot
 4.'/sbin/mkinitrd initrd-2.2.14-50smp.img 2.2.14-50smp' (for smp kernel's)
 -- .'/sbin/mkinitrd initrd-2.2.14-50.img 2.2.14-50' (for UP kernels)
 5. edit /etc/lilo.conf to add both of the above lines to the appropriate
 place...for example

 image=/boot/vmlinuz-2.2.14-50smp
         label=linux
         initrd=/boot/initrd-2.2.14-50smp.img
         read-only
         root=/dev/sda1

 image=/boot/vmlinuz-2.2.14-50
         label=linux-up
         initrd=/boot/initrd-2.2.14-50.img
         read-only
         root=/dev/sda1

 6. type '/sbin/lilo'
 7. type 'exit' to leave the chroot shell.
 8. Change back to F1 for text installs or F7 for Gnome installs and select the reboot option.

   
 Megamgr Installation
 ====================

 This version of Megamgr comes in a script version.  There are two files:

 (a) megamgr (script)
 (b) megamgr.bin (binary)

 Both of these should be in the same directory prior to invocation. 

 Change the permissions of both the script and the binary by typing

 chmod +x ./megamgr
 chmod +x ./megamgr.bin

 Then invoke the utility with
   
 ./megamgr

 -------------------------------------------------------------------------
