// Name: disable_ignoreAVT8192_HPUX.scr
// Date: 03/13/2005
// Revision:
// 
// Description:
// To disable the following DS4000 storage subsystem functionality for HP-UX 
// host servers only that was implemented with the DS4000 storage subsystem 
// controller firmware 06.12.xx.xx or later - disabling the DS4000 storage 
// subsystem AVT requests for the HP-UX server specific read patterns of 
// 2 blocks (1024 bytes) at LBA 8192.
// 
// Summary of the HP-UX AVT storm problem in server configurations with LVM 
// mirrored volumes:
//
//    For HP-UX server configurations with LVM mirrored volume, a fix was 
//    implemented to prevent a possible occurrence of an AVT storm caused by 
//    the HP-UX server probing in the wrong order of available paths to the 
//    volume(s) when it detect server to LUN path failure. This fix requires 
//    the controller firmware and NVSRAM be at version 06.12.xx.xx or later. 
//    The fix is to disabling the DS4000 storage subsystem AVT requests for 
//    the HP-UX server specific read pattern of 2 blocks at LBA 8192. 
//    Please contact IBM support for additional information, if required.
//
//
// IMPORTANT:
// The controllers must be reset or power-cycled before these settings take affect.
//
//
// disable_ignoreAVT8192_HPUX 
// Host NVSRAM region 7 (HP-UX) - IBM version of NVSRAM file only
// If bit 2 of the host-specific NVSRAM byte offset 0x27 is set to 0,
// the disabling of AVT for LBA 8192 read functionality is disable.
//
show "Showing the current state of NVSRAM setting"; 
show controller[a] hostNVSRAMbyte[7,0x27]; 
show controller[b] hostNVSRAMbyte[7,0x27]; 
//   
// ... = mask, value where a 1 in mask will allow the change
// the order of the bit is Highest  ---> Lowest
// 
show "Setting to disable ignoring AVT 8192 for each controller ..."; 
set controller[a] hostNVSRAMbyte[7,0x27] = 0x04,0x00;
set controller[b] hostNVSRAMbyte[7,0x27] = 0x04,0x00;
//
show "Showing the state of NVSRAM setting after being updated"; 
show controller[a] hostNVSRAMbyte[7,0x27]; 
show controller[b] hostNVSRAMbyte[7,0x27]; 
//
// For fw 5.3x.xx.xx and later ...,  you can reset the
// controller using these two script commands. Otherwise, you
// must manually reset the controller. To prevent the controllers from 
// restarting, add ’//’ to the beginning of each of the lines below. 
// This will comment out the restart of the controllers. Important: 
// The controllers will have to be restarted for the changes in this script
// to take effect. 
show "Resetting controller A"; 
reset Controller [a]; 
show "Resetting controller B"; 
reset Controller [b]; 

