Custom Instructions for mptlinux device driver update: *********************** Update Instructions *********************** The following are the instruction to update the Driver using RPM after OS is Installed: Download the file "dkms-mptlinux-2.05.16-1_A09.tar.gz" on a system that needs to be updated and follow the following instruction to update the driver. 1. gunzip dkms-mptlinux-2.05.16-1_A09.tar.gz 2. tar -xvf dkms-mptlinux-2.05.16-1_A09.tar 3. rpm -Uhv dkms-1.12-1.noarch.rpm Note:Must install the dkms-1.12-1.noarch.rpm beffore mptlinux-2.05.16-1dkms.noarch.rpm 4. rpm -Uhv dkms-1.12-1.noarch.rpm beffore mptlinux-2.05.16-1dkms.noarch.rpm 5. dkms status 6. reboot the system for changes to take effect NOTE: The mptlinux module in only installed for the kernel currently running. ************************ Enhancements ************************ Major Changes and Enhancements from 2.05.05 (Native driver RHEL 3) • Performance enhancements were made • Added code to check for QAS enabled or disabled in SCSI Port Page 0. Ultra 320 negotiations will reflect the QAS setting in SCSI Port Page 0. • Added code to obtain IOC Page 2 data in order to provide Volume data in Target Info Data returned by an IOCTL request. • Fixed Target Info code to prevent overrunning the data buffer length provided by the application. Also fixed that code to include checking for the last id on the IOC. • Added code in the data underrun response processing to return an error code if no data was transferred. • If a data underrun condition exists and the amount of data transferred is less than the command’s underflow amount, an error status is returned rather than a good status. This prevents a false good status from being returned and allows the upper SCSI layer to retry the command if needed. • A “for” loop replaces a “while” loop during adapter detection. This prevents a possible infinite loop during initialization. • If the SCSI layer request an abort or bus reset for an IO that is not currently running, an error status is returned and the scsi_done call is not performed. This prevents problems when the IO has completed before the abort or bus reset is received. • Added the following sequence to allow the ID of a SAF-TE device to be stored in IOC Page 4. Step 1): Gather full INQ data; 2) If 56 bytes are available, and the INQ data indicates SCSI Processor, check for SAF-TE device; 3) If #2 indicates SAF-TE device, add this ID to IOC Page 4; 4) If #2 has insufficient INQ data, check for SCSI Processor, if true make this the SAF-TE device ID stored in IOC Page 4; 5) #4 is only true if command line option SAF-TE:1 is in effect. • In conjunction with the above, if kernel 2.5 or 2.6 is in effect, the first INQ will always be 36 bytes. If the kernel determines it’s okay, then the driver may ask for additional INQ up to 256 bytes and do so immediately after the initial INQ. This data may be parsed to determine if the device at that ID is a SAF-TE device that should have its ID stored in IOC Page 4.