Patch-ID# 103290-08 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: Oct/16/97 Solaris Release: 2.4_HW395 NOTE: (HW395 and 11/94) SunOS Release: 5.4_HW395 Unbundled Product: SPARCstorage Array Unbundled Release: 2.0 Relevant Architectures: sparc BugId's fixed with this patch: 1261305 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 BugId's fixed with this patch: 1220380 1226481 1193331 1233881 1232080 1199767 1218530 1234801 1227470 1232506 1201365 1230526 1223384 1237625 1231771 1233108 1189480 1229048 1242923 1220754 1248311 1220596 1241003 1223884 1190977 1238425 1248015 1234710 1223140 1189853 1208892 1246302 1243658 BugId's fixed with this patch: 1247175 1242298 1247694 1247488 1257125 1263860 1263860 1246211 1263893 1260753 1253752 1262768 1184878 1229082 1263633 1249597 4006384 4011826 4015226 4013372 4010863 4007520 1263860 1263893 1260753 1253752 1262768 1184878 1229082 1263633 1249597 4006384 4011826 4015226 4013372 4010863 4007520 Changes incorporated in this version: 4077919 4022233 4059100 4040095 4063760 4060752 4005293 Patches accumulated and obsoleted by this patch: 103309-01 102459-01 102460-01 102432-10 102458-01 102347-10 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /kernel/drv/pln /kernel/drv/ssd /kernel/drv/soc /opt/SUNWssa/lib/3.12/ssafirmware /opt/SUNWssa/bin/ssacli /opt/SUNWssa/bin/ssaadm /opt/SUNWssa/man/man1m/ssaadm.1m /etc/init.d/ssa_sync /etc/rc0.d/K90ssa_sync /usr/lib/firmware/ssa/ssafirmware /usr/sbin/ssacli /usr/sbin/ssaadm /etc/init.d/ssa_sync /etc/rc0.d/K90ssa_sync NOTE: For Solaris 2.4 11/94: /kernel/drv/pln /kernel/drv/ssd /kernel/drv/soc /opt/SUNWssa/lib/3.12/ssafirmware (Version 3.12) /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.12) /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:". ******************************************************************* ******************************************************************* 4077919 Disk reservation causes sibling host to receive ssd_synchronize_cache failed 4022233 SPARCstorage ARRAY suddenly slow down. 4059100 Quantum 4.2 Gbyte does not spin up at power on, ssa1xx hangs because of failed d 4040095 Pluto controller rejects uscsi Log Sense/Select commands 4063760 4.2GB (VK45J05)and 2.1 GB (VK22J05) Quantum disc don't spin up after warm swa 4060752 ssa firmware needs awareness of HDD-download - TUR-timeout/reset can cripple HDD 4005293 System Panics with data fault from vol_release_ilock (from 103290-07) 1261305 SSA drivers retry 20 times (26mins) when I/O times out - entire mirror hangs See bug report for additional info on this problem. (from 103290-06) 4007520 HA 1.2 hangs, does not boot up with mirror disk failure. 1263633 pln driver does not do dma_sync for reads using consistent memory. 1249597 resync drivers with BSD changes. 4006384 Transport error: incomplete error after installing ssa fw 3.9. 4011826 SSA drivers for patch 103766-02 break Detach/Attach for Starfire. 4015226 sd/ssd : Should allocate space for sense information if ARQ is enabled. 4013372 sd/ssd: should not issued untagged command for start_stop unit. 4010863 sd driver returns incorrect residual count. (from 103290-05) 1263893 SSA: ssd will not permit replaced disk to have different geometry. 1260753 ssd/sd: improve PFA code. 1253752 ssdopen in biowait too long causes HA-Oracle node-abort (single-disk fa ilure). 1262768 ssd: panic with program running uscsi command to SSA disk. 1184878 sd/ssd driver continues to probe and print Warning messages about bad d isks. 1229082 sd doesnot set resid properly when a partial xfer during recoverred err or happen. (from 103290-04) 1246211 Pulling a disk on a VxVM managed RSM disk hangs the SCSI bus. 1263860 SSA: performance degradation with 3.8 firmware. 1257125 Patch 103766-01: download 3.7 f/w to SSA causes FW option get lost. 1220596 SSA200 needs to support RSM 8th non-disk target ES card 1241003 offline/online looping problem with 3.5 firmware 1223884 SSA resets itself when a tray is pulled under heavy load 1190977 When a disk tray is removed, the led does not note it 1238425 Pulling out a tray causes SSA to lose all disk reservations on tray 1248015 pln driver does not report scsi errors back to the target drivers corre ctly. 1234710 ssd/pln: attach/detach problems. 1223140 pln: pln_private() function does not return errors correctly. 1189853 pln_attach can crash system on transport error. 1208892 ssa/pln drivers display grabled messages on console. 1246302 sd,ssd: sd_uselabel() function needs to return error if disk label is b ad. 1243658 sd/ssd drivers need to handle command timeout and abort correctly. 1247175 Bad 2.1 drive reset entire SSA in H/A config thus all metadevices were hot spared. 1242298 soc: Remove segalign restriction from default_soclim. 1247694 Readme for 103290 and 103017 does not document SSA booted machines. 1247488 SSA Firmware 3.6 install notes need to be corrected (from 103290-02) 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. (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 SSA-2xx 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 SSA (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 SSA-2xx 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 SSA 200 1219355 SSA: SSA200 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 SSA recursively panics on power cycle 1201147 pln: watchdog reset cycling power on SSA 1199867 clustmon fibre channel connections don't connect to real SSA 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 SSA 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.9 3. Determine if you need to upgrade the firmware. If the firmware level produced from the ssaadm command (Step 2) is lower than 3.12 then you must upgrade your firmware. Go to Step 4. If the firmware level produced from the ssaadm command (Step 2) is 3.12 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 the SSA, the host MUST be rebooted for this operation from another device. This device can be either another SSA that is not to have it's firmware updated, another disc or a CDROM. 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.12/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.