Patch-ID# 103290-02 Keywords: pln pln.conf soc ssd ssafirmware SSA SUNWssaop SUNWssadv Synopsis: SPARCstorage Array 2.0: SSA Jumbo patch for Solaris 2.4 11/94, HW395 Date: Apr/15/96 Solaris Release: 2.4 (HW395 and 11/94) SunOS Release: 5.4 Unbundled Product: SPARCstorage Array Unbundled Release: 2.0 Relevant Architectures: sparc BugId's fixed with this patch: 1189610 1191184 1188369 1151364 1197175 1189452 1186929 1193885 1201147 1203291 1201916 1205374 1199867 1201909 1194007 1207531 1209125 1198022 1207426 1213545 1208492 1215956 1215898 1215177 1210487 1215266 1210459 1221633 1222772 1225980 1223585 1210986 1221891 1220077 1219355 1229005 1223482 1219952 1222661 1220380 1226481 1193331 1233881 1232080 1199767 1218530 1234801 1227470 1232506 1201365 1230526 1223384 1237625 1231771 1233108 1189480 1229048 1242923 1220754 1247488 1247694 Changes incorporated in this version: 1229048 1242923 1220754 1247488 1247694 For Solaris 2.4 (HW395) : Patches accumulated and obsoleted by this patch: 103309-01 102459-01 102460-01 102432-10 For Solaris 2.4 (11/94) : Patches accumulated and obsoleted by this patch: 102458-01 102347-10 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: For Solaris 2.4 11/94: kernel/drv/pln kernel/drv/ssd kernel/drv/soc opt/SUNWssa/lib/3.6/ssafirmware (Version 3.6) opt/SUNWssa/bin/ssacli opt/SUNWssa/bin/ssaadm opt/SUNWssa/man/man1m/ssaadm.1m etc/init.d/ssa_sync etc/rc0.d/K90ssa_sync For Solaris 2.4 HW395: kernel/drv/pln kernel/drv/ssd kernel/drv/soc /usr/lib/firmware/ssa/ssafirmware (Version 3.6) /usr/sbin/ssacli /usr/sbin/ssaadm etc/init.d/ssa_sync etc/rc0.d/K90ssa_sync Problem Description: This patch is applicable to Solaris 2.4 11/94 with unbundled SSA and Solaris 2.4 HW395 with bundled SSA. ******************************************************************* ******************************************************************* IMPORTANT NOTICE: The ssafirmware must be downloaded into the SSA after installing this patch. See the "Special Install Instructions:". ******************************************************************* ******************************************************************* 1242923 Stale SDS data read out of NVRAM. 1229048 pln: High load on 2 SSAs on a single SOCHA leads to performance degredation. 1220754 SSA Firmware: missing cmds when using suspend/resume. 1247488 SSA Firmware 3.6 install notes needed to be corrected. 1247694 Readme for 103290 does not document SSA booted machines. (from 103290-01) 1233881 SSA firmware 3.3 sometimes restarts during poweron sequence. 1223384 soc, soc_ucode.c: SSA "Timeout recovery being invoked" OFFLINE/ONLINE. 1232080 pln_ctlr: pdb system paniced with a data fault. 1234801 RFE: Upgrade ssd to handle predictive failure sense codes. 1232506 ssaadm display of a SSA210 module appears as a SSA100 module. 1230526 SSA lcd icons go to sleep under certain circumstances. 1233108 soc login logic is faulty. 1231771 ssaadm: solaris 2.4, VM2.1, hotspare replace worked but error messages continue. 1237625 ssd pln soc: Add code for Cray Research suspend/resume functionality + bug fixes. 1227470 System hangs when inserting disktray in ssa102 after 'ssaadm stop -tn c n'. 1226481 SSA: Need new ssaadm/ssacli for pluto 2 and fast_write capability 1222661 ssaadm, ssd: display controllerNumber fails if other host has disk(s) reserved 1220380 ssaadm does not report clearly whether or not NVRAM is enabled 1218530 On Sunfire core not dumped on SSA even though it says so. 1201365 On dual-ported SSA, IO from one host can prevent access by other host. 1199767 pln_ctlr doesn't check for root when running a USCSI command. 1189480 if sparc storage array present wants it to pause during boot til ssa is ready. (from 102432-10 and 102347-10) 1229005 SSA V3.x is needed for Pluto2 (aka SSA11x or SSA21x) 1225980 ssd, pln: there should be retries for both read/write in case of media/hw error 1223585 ssd ssafirmware: Don't retry ABORTED commands forever. 1223482 ssa firmware: ESC: data corrupt when doing many SYBASE inserts on SSA 1222772 Downloading SSA FW and Resetting SSA has created some malfunctioning. 1220077 Heavy I/O causes pluto2 to panic 1221891 pln: Set up and pass Task Attribute values based on tagged queuing flags. 1221633 ISP DMA failure transferring data during reads while testing with the scsirw_test. 1219952 SSA: 3.1 fw causes recursive condition on pluto 200 1219355 SSA: P200 needs to support 7 disk targets 1215956 Duplicate of 1208492 1215898 Disks do not spin up after a tray is pulled out and pushed back in a SSA. 1215266 /etc/init.d/ssa_sync doesn't find ssacli nor ssaadm 1215177 Energizer found callback thread problem under Fault Injection testing. 1213545 SSA and ODS together hangs on a disk failure 1210986 ssd: Raid5 : Double failure reported when one disk fails. 1210487 pln enters invalid state after reset recovery. 1210459 pln enters reset recovery before link is taken offline. 1209125 ssd: add retry on writes because of transient write faults 1208492 disk drive in array offline hangs array and system hangs on reboot 1207531 SSA soc driver timeout, offlines SSA on PDB SERVER 1207426 ss2000 running 2.4 panics with soc_callback and pln_cmd_callback routines 1205374 pln: pln enters "Timeout recovery being invoked..." loop after tray is pulled 1203291 ssd,sd: watchdog reset on transport failure 1201909 pln: DKIOCGVTOC of slice opened O_NDELAY on OFFLINE SSA very slow 1201916 pluto recursively panics on power cycle 1201147 pln: watchdog reset cycling power on SSA 1199867 clustmon fibre channel connections don't connect to real pluto port 1198022 script to flush NVRAM on shutdown 1194007 soc: messages are displayed indicating timeouts and offline/online of the fiber link 1193885 ssd: dumping to pluto doesn't work 1189452 sd: reuse of bp after biodone 1186929 system panics: rmalloc from sd or ssd driver The system takes a rmalloc panic because the sd and ssd drivers are referencing a bp that they have biodone'ed. A layered driver's private iodone routine, or a fs's private iodone routine, may significantly alter the buf, or may even free it, before returning. A bp should not be referenced after it is biodone'ed. 1151364 KAIO support in ssd driver - Includes the sdaread and sdawrite entry points for asynchronous reads and writes. The KAIO patch must be installed or the loading of ssd will fail with these messages: /kernel/drv/ssd: undefined symbol anocancel /kernel/drv/ssd: undefined symbol aphysio 1189610 System gets a Watchdog Reset when SPARCstorage array is powered off. 1188369 - Duplicate of 1189610 pln: Watchdog Reset then accessing SSA with power-failure 1191184 pln: sytem hangs for 20 minutes when one mirrored storage array is turned off 1193331 soc: pln.conf: fix for soc chip problem, multiple INITCHILD's In order to work with the newer host adapter FCode (1.33) we changed the names in pln.conf to SUNW,pln and SUNW,soc. This caused pln to be 'init'ed twice per SSA so we added a check in soc to return (DDI_FAILURE) for the second init. We do this because there may be entries generated by both the OBP-built device tree and from the .conf file. This bug is applicable only to Solaris 2.4 11/94. 1197175 Incorrect depend & copyright files used on -01 patches. Patch Installation Instructions: -------------------------------- Refer to the Install.info file for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. Any other special or non-generic installation instructions should be described below as special instructions. Special Install Instructions: ----------------------------- After installing the patch, here is how one goes about upgrading the firmware: 1. Enter the following command to see what the firmware level is in your SPARCstorage Array: For Solaris 2.4 3/95: # /usr/sbin/ssaadm display controller For Solaris 2.4 11/94: # /opt/SUNWssa/bin/ssacli display where controller is either the logical controller name (given as cX) or the physical path of the controller (given as /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr). For more information, see the ssaadm.1m man page. 2. Look at the output for a line similar to the following to find the firmware level: Firmware Rev: 3.4 3. Determine if you need to upgrade the firmware. If the firmware level produced from the ssaadm command (Step 2) is lower than 3.6 then you must upgrade your firmware. Go to Step 4. If the firmware level produced from the ssaadm command (Step 2) is 3.6 or higher then you do not have to read any further in these instructions, since your firmware is already at the proper level. 4. If the firmware level produced from the ssaadm command is lower than 2.4 you MUST complete the following steps for those SPARCstorage Arrays that contain firmware revision lower than 2.4. If the firmware is 2.4 or higher you don't need to do step 4 so go to step 5. a) Enable the SSA fastwrite capability: For Solaris 2.4 HW 3/95: # /usr/sbin/ssaadm fast_write -se For Solaris 2.4 11/94: # /opt/SUNWssa/bin/ssacli -se fast_write b) Disable the SSA fastwrite capability: For Solaris 2.4 3/95: # /usr/sbin/ssaadm fast_write -sd For Solaris 2.4 11/94: # /opt/SUNWssa/bin/ssacli -sd fast_write where controller is either the logical controller name (given as cX) or the physical path of the controller (given as /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr). CAUTION: This operation may take a few minutes to complete. Do NOT interrupt the operation before it is finished or the system may not be able to communicate with the SPARCstorage Array. 5. Download the SPARCstorage Array firmware to your SPARCstorage Array. If the host is booted off a SSA, the host MUST be rebooted for this operation. If the host is being rebooted only the steps 'e' and 'f' below need to be executed. The following steps must be completed on each SSA to download the firmware safely: a) Stop all I/O activity on the SPARCstorage Array. b) Perform a sync_data to the SSA: For Solaris 2.4 3/95: # /usr/sbin/ssaadm sync_cache For Solaris 2.4 11/94: # /opt/SUNWssa/bin/ssacli sync_cache c) Unmount any filesystems residing on the SSA disks. d) Stop all Veritas Volume manager (VxVA) volumes and/or Solistice Disk Suite (SDS) metadevices (if any) running on the SSA. Also insure that ownership of any SDS diskset metadevices have been released since an implicit I/O stream exists while ownership of a diskset is maintained. Please refer to the metaset(1M) manpage for details on taking/releasing ownership of disksets. e) Execute the ssaadm download command to download the new firmware: For Solaris 2.4 3/95: #/usr/sbin/ssaadm download -f /usr/lib/firmware/ssa/ssafirmware For Solaris 2.4 11/94: #/opt/SUNWssa/bin/ssacli -s -f /opt/SUNWssa/lib/3.6/ssafirmware download where controller is either the logical controller name (given as cX) or the physical path of the controller (given as /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr). CAUTION: This operation may take a few minutes to complete. Do NOT interrupt the operation before it is finished or the system may not be able to communicate with the SPARCstorage Array. f) The SSA(s) will now need to be reset for the changes to take effect. If the host is booted off an SSA then the host MUST be shutdown at this point. Reset your SSA(s) by pushing the SYS OK button in the back of the unit(s). This causes the SPARCstorage Array to reboot using the new revision of firmware. If your host boots off an SSA it can now be booted up again. g) Restart the Veritas Volume manager (VxVA) and/or SDS metadevices and reclaim ownership of any SDS diskset metadevices that were relinquished. h) Remount the filesystems that reside on the SSA disks. 6. The firmware download is now complete. I/O activity on the SPARCstorage Array can be restarted.