Patch-ID# 105375-29 Keywords: luxadm sf socal FCIO_DIAG_XRAM SCSI PLOGI l_forcelip_al Synopsis: SunOS 5.6: sf & socal driver patch Date: Sep/23/2002 Install Requirements: Install in Single User Mode Reboot after installation See Special Install Instructions Solaris Release: 2.6 SunOS Release: 5.6 Unbundled Product: Unbundled Release: Xref: Topic: SunOS 5.6: sf & socal driver patch *********************************************************** NOTE: This patch may contain one or more OEM-specific platform ports. See the appropriate OEM_NOTES file within the patch for information specific to these platforms. DO NOT INSTALL this patch on an OEM system if a corresponding OEM_NOTES file is not present (or is present, but instructs not to install the patch), unless the OEM vendor directs otherwise. *********************************************************** NOTE 1: SENA stands for Sun Enterprise Network Array. NOTE 2: Please see notice below for instructions related to the A5000 product. Relevant Architectures: sparc BugId's fixed with this patch: 1241630 4015886 4025409 4030734 4031041 4036472 4036749 4047301 4050519 4051284 4052989 4054687 4054760 4055040 4055228 4056709 4057005 4058194 4058805 4058810 4059228 4060193 4060307 4060560 4062000 4063084 4063493 4063496 4063497 4063499 4063742 4064114 4064166 4064279 4064482 4064549 4065043 4065321 4065385 4065417 4065420 4065940 4066322 4066415 4066713 4067130 4067384 4067387 4068175 4068954 4069476 4069480 4069883 4070007 4070592 4071327 4071488 4071594 4073562 4073760 4075971 4076393 4076803 4078020 4078980 4080541 4080808 4080854 4081122 4081476 4083412 4083546 4083799 4085407 4085409 4085991 4086742 4087136 4088087 4088433 4095654 4097503 4099594 4100296 4100443 4100605 4101561 4103990 4104809 4106624 4106779 4108240 4109787 4110058 4110306 4112951 4115628 4116879 4118183 4119615 4121257 4121455 4121615 4122222 4126345 4126347 4127968 4135264 4137818 4137843 4138400 4138453 4139161 4144915 4145080 4147776 4157938 4163232 4166309 4167039 4168974 4170833 4171180 4173215 4173432 4174203 4174408 4175643 4178514 4178550 4179070 4179119 4179506 4180833 4181098 4183049 4184487 4188044 4190846 4191621 4199373 4201182 4202933 4204363 4205222 4208731 4209342 4209393 4212185 4214498 4220076 4220725 4224244 4227827 4228914 4229485 4229491 4229498 4229760 4230230 4230882 4230929 4232311 4233293 4233453 4236366 4236557 4237214 4238790 4241949 4245426 4246258 4247164 4247808 4248126 4249003 4252142 4255008 4255926 4255942 4257384 4259911 4263091 4265345 4265357 4270032 4272887 4277697 4281044 4285968 4292988 4292989 4300684 4301249 4301468 4303182 4306461 4307129 4307282 4307585 4308889 4309126 4322210 4322825 4327372 4327766 4328635 4328845 4330062 4331309 4332727 4348775 4349481 4354574 4363126 4409677 4451550 4589401 4643768 4657427 Changes incorporated in this version: 4657427 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /kernel/drv/socal /platform/sun4d/kernel/drv/sf /platform/sun4u/kernel/drv/sf /platform/sun4u1/kernel/drv/sf /usr/include/sys/scsi/adapters/sfvar.h /usr/lib/liba5k.so.2 /usr/lib/libg_fc.so.2 /usr/lib/locale/C/LC_MESSAGES/a5k_g_fc_i18n_cat /usr/lib/locale/C/LC_MESSAGES/ibfirmware /usr/sbin/luxadm Problem Description: 4657427 panic: 'sf_scsi_impl_pktfree: freeing free packet' (from 105375-28) 4451550 Sol2.6: ssd driver's timeout does not occur for more than 10 mins. 4589401 bad rmfree panics on 2.6 system 4643768 Secondary E10k , 5.7 panic in socal_intr_solicited (from 105375-27) 4409677 sf driver makes `luxadm remove_device` fail. (from 105375-26) Note: Patch 105375-26 no longer contains fcode updates. Please refer to hardware patch 109400-03 or newer for the most current fcode version. 4328845 liba5k doesn't define all its dependencies 4331309 interface name change requested for d_dev_bypass_enable, d_bp_bypass_enable 4332727 luxadm should not use libthread 4348775 g_get_port_state() is not available in 2.6 4354574 Remove fcode from the SUNWluxop package and patches 4363126 "luxadm -e p_online ..." command on failure, displays wrong error message (from 105375-25) 4307282 cannot see any drive in A5000 in multi-initiated loop after simultaneous boot 4330062 sf: Need longer abort timeout to support Purple Partner Group Clusters 4328635 INCOMPLETE DMA XFER should be a hard error. 4322210 System panics with "bad rmfree" during socal_attach() in rmfree() 4301468 socal/photon sequential throughput regression 4303182 does not connect A5200 with on-board SOC+ after Power ON/OFF 4307129 Incorrect Payload length on FCP status 4259911 SOC+ HA may generate a bad map sometimes (from 105375-24) 4349481 Package SUNWluxop has wrong directory permissions and ownerships (from 105375-23) 4300684 boot sometimes panic if a loop (other than bootdevice loop) does offline/online. 4327766 sf: recursive mutex_enter panics in OS 2.6 (from 105375-22) 4174203 Add luxdiag functionality to luxadm. 4306461 In single port config, luxadm display enclosure,f2 shows port b as BYPASSED 4308889 need to provide method to free memory cleanly if rdls function fails 4309126 'luxadm insert' with missing /dev/es directory fails. 4322825 luxadm display fails on a non-enclosure FC drives (from 105375-21) 4058194 socal needs to be enhanced for Prism usage 4137818 sf driver sf_reset can fail silently. 4307585 socal driver hits a deadbeef panic if the device is recovering from a dma error 4285968 sf: Report Lun/Inquiry limited retries cause purple DMP crash 4327372 sf: Limit heroic error recovery for Report lun and Inquiry commands (from 105375-20) 4205222 Create luxadm that uses the liba5k and libg_fc libraries. 1241630 Typo in enabling fast writes message from ssaadm 4052989 some luxadm messages are not internationalized 4174408 luxadm should not abort rdls on error 4184487 core dumped using luxadm disp (luxadm usage with ifp) 4201182 luxadm sysdump is truncating logical path names on large configs 4208731 A5x00 22 disks + metaset -t + luxadm display = Panic ! 4214498 Add FCode download support for PCI QLGC HBA (isp2100, isp2200) 4220725 luxadm forcelip command on the split loop doesn't generate lips on the both loops 4228914 luxadm insert is not printing the new device nodes (ifp) to stdout 4229485 luxadm/library: Can't power-on the entire enclosure using power_on subcommand 4229491 can't power off a reserved disk with -F (force) option. 4229498 power_off subcommand on a bypassed disk gives an incorrect error message. 4229760 luxadm download with invalid ibfirmware file reports invalid path error 4230230 luxadm insert_device does not check for devices that are already online 4230882 luxadm remove_device reports incorrect usage when incorrect option is supplied 4230929 fc_s_download error message has a typo 4232311 L_state local variables in liba5k occupy too much stack memory 4233293 memory leaks in liba5k and libg_fc 4233453 luxadm power_off reports invalid error. 4236366 luxadm return erroneous EXIT STATUS. 4237214 luxadm insert_device does not work on offlined and bypassed devices 4241949 g_i18n_catopen() is not MT-safe 4245426 luxadm display -r shows incomplete output 4247164 Segmentation fault when doing "luxadm start c2 0" 4249003 New interfaces are required in libg_fc and luxadm to offline/online ports. 4265345 luxadm -e bypass/enable - -f enclosure fails with 'Bad address' msg. 4265357 l_new_name() and l_get_ib_status() prototypes have to be exposed 4270032 SCSI error with 'check' status gets a wrong error message. 4277697 display -r either gets no output or info from a wrong node. 4292988 Remove .a version of library liba5k from installation/gate 4292989 Remove .a version of library libg_fc from installation/gate 4301249 conflicting message number present in errormsgs.c (from 105375-19) 4272887 sf: Newly created LUNs do not appear on Solaris 7 4281044 sf driver does not detect device open failures 4248126 panicstr: sf: completing idle packet %x 4255926 In transparent mode switch with heavy load and lip, the system hangs or (from 105375-18) 4257384 luxadm probe / display rewinds tape media, silent loss of backed up data 4255942 wrong display on luxadm -e bypass 4249003 New interfaces are required in libg_fc and luxadm to offline/online (from 105375-17) 4227827 Need Hard AL_PA Address support in the SOC+ Firmware 4220076 BAD TRAP occurred in module "sf" due zeroed page. 4252142 socal: Spurious FC-AL transmissions (from 105375-16) 4238790 socal: bad trap with DR disconnect 4236557 Lack of LUN information in messages file 4246258 panic in sf driver with 105375-12 loaded 4137843 unclear sf error message. 4202933 soc+ does not handle PLOGO from targets 4191621 sf driver has wrong devo_power routine specified 4263091 race condition can cause duplicate completion 4147776 high io load and lbf utility causes socal_intr to loop hanging machine. 4247808 luxadm fcal_s does not work on SunOS 5.7 4255008 LOOPBACK ioctls return failure on success (from 105375-15) 4199373 hardware failures do not allow loop to hard hang and use dmp (from 105375-14) 4209393 "Display Disabled ? ..." shown on FPM when download IB 1.0I 4180833 System booting was very slow or hung at the 2nd booting host with long wave (from 105375-13) 4224244 Add code for multi-lun handling 4204363 Photon HA reset results in "fw date code:" being printed 4112951 soc/socal: LP64 drivers neeed to cleanup id32_alloc() code - 2.7 only 4209342 Offline Timeout --> requeue of command fails (long wave) (from 105375-12) 4208731 A5x00 22 disks + metaset -t + luxadm display = Panic ! 4212185 luxadm queries return very slowly (from 105375-11) 4208731 A5x00 22 disks + metaset -t + luxadm display = Panic ! 4212185 luxadm queries return very slowly (from 105375-10) 4106779 E3500 should have utility to get status on internal FCAL drives 4138453 luxadm: Printing of enclosure abnormal condition will not work 4167039 luxadm power_off enclosure does not work with no logical path device 4085991 Incorrect error msg when doing inquiry to a powered off drive 4168974 power_off cmd will take place on busy devices under volume manager. 4095654 luxadm display wrong enclosure when WWN=0 4171180 luxadm reports status of backplane element incorrectly when bypassed. 4175643 Implement bypass, enable & sysdump subcommands in luxadm 4179070 Device Type:Disk device displayed for device in enclosure. 4178514 luxadm -e bypass doesn't give a usage error message 4179506 luxadm -e bypass backplane not showing correct status 4181098 Segmentation Fault (core dumped) when try to remove drive with WWN0s 4121257 luxadm: power_off subcommand with -F option is giving Usage errors. 4116879 luxadm doesn't check return from devctl_acquire correctly 4135264 luxadm disp on /dev/es/ses# sees disks it shouldn't!!! 4139161 luxadm remove -F does not work on reserved and unreserved paths 4115628 luxadm fcal does not see the FC100/S cards. 4138400 luxadm: drive with reservation is shown with "SCSI Error" 4190846 IB goes into failed state while running load-stress tests on 22-drive Cheetah dr 4173432 sf: sfioctl does not free devctl_iocdata on success 4178550 "fc packet status = 34" messages at every lip 4157938 panic on 251 OS with intermixing 14/22 drive photons, no-27, dual host testing 4170833 Since upgrading I/B firm to 1.07, installing patch 105375-09 and disk firm to 13 4163232 lip on one loop causes SCSI transport failed/rejected on other loop [S2.5.1] 4173215 misreported Lost Frame messages 4188044 io hang with lips on the heavy io loop 4166309 SF - removing one drive from an E3500 hangs system 4183049 Unused FCAL port is reported as OFFLINE timeout 4179119 STORtools: System panic while running Installation Verification (from 105375-09) 4083412 socal, sf: needs to support DETACH/SUSPEND/RESUME 4106624 luxadm prints "Error: SCSI Error - Sense Byte: busy" when devices report busy. 4108240 ifp not getting response from PHOTON (from ABTS after LIP) 4110058 data corruption with data stored on photons 4119615 sf: assertion failed: prev_state != SF_STATE_IDLE 4121455 i/o hung on 2 photon disks 4121615 panic while dual host testing with ultraII 4122222 dd command was aborted with another system booted 4126345 sf: issues unnecessary logouts when host adapter al_pa changes 4126347 sf: can cause retry and ultimate failure of recovered commands 4127968 sf: sf state marked incorrectly, sf_reset&sf_abort pass incorrect timeouts 4144915 I/O 's can hang for a dual ported FC drive in error recovery cases 4145080 IB f/w does not work with 11 slot backplanes. (from 105375-08) 4118183 DMP failover not working with Solaris 2.6 (from 105375-07) 4097503 initialization of loop fails to creat links with 2 racks using 2 HA's. 4101561 luxadm insert_device fails to insert a new disk during disk replacement 4086742 kernel panic due to bad token from soc+ microcode 4104809 BAD TRAP occurred in module "ses" due to an illegal access to a user address 4070007 one or more SENA racks fails to come online in multi-rack configuration 4078020 sf: WWN for the Host Adapter in the loop map is zero. 4087136 host drivers can't complete login to any devices on loop. 4088433 Fibre Channel online/offline during booting 4015886 ssd: add support for hotplug event callbacks 4100296 no response from SOC+ to rdls els request 4100605 sf driver could return with out releasing target mutex 4080541 luxadm: l_forcelip_all does not understand multiple loops 4109787 luxadm: luxadm does not remove links when removing multi-hosted disks 4108240 ifp not getting response from SENA (from ABTS after LIP) 4088087 parallel downloads not supported on SENA's in a luoop 4085407 FPM: Wrong ICON used in one of the FPM backplane screens 4085409 FPM: It takes 2 times to online both backplanes in FPM screens 4099594 A5000 : Replacing interface board causes restarting SENA 4067387 fcode doesn't recover from the lip while booting from a SENA disk 4081476 PRLI ACC payload returned by SENA is incorrect 4073562 ibfirmware: Reset to IB fails (from 105375-06) 4103990 luxadm remove_device should provide an option to open a device in non EXCL mode. (from 105375-05) 4064114 in multipath configuration, seagate disk reservation is not consistent 4065321 power_off subcommand offlines reserved disk or busy disks 4065940 luxadm -e dump_map does not accept the socal node as a parameter 4070592 luxadm should report an error when host tries to release someone's rsrvd. disks 4110306 luxadm: typo and error displaying reserved status found in code test/review (from 105375-04) 4100443 2nd instance of RUN dd test gets timeouts on E3000+ internal drives (from 105375-03) 4071594 SENA: error recovery problems triggered by SCSI parity error 4073760 panic in sf caused by Data Fault 4078980 Patch 2 binaries and veritas (I/O hang) 4083546 Symon 1.5 panics on E4K with onboard soc+ and SENA. 4075971 Bad Trap PANIC when utilizing SENA under heavy I/O load with DR/AP 4076393 sf: panic when swapping out SENA's on idle system 4083799 heavy I/O and running lbf test caused panic on E10000. 4065417 enatest FATAL: "Could not communicate with the enclosure 4065420 socaltest FATAL: "Failed ioctl FCIO_DIAG_XRAM" 4076803 SENA drivers should report target numbers consistently 4080854 socal: facility to verify token returned (debug mode) 4047301 luxadm: Remove need for led_on subcommand for SENA by updating remove subcommand 4066415 luxadm: remove_device offlines the SENA disks while doing I/O to the disks. 4069883 luxadm: luxadm reports open failed when IB is on multiple loops. 4071327 luxadm: remove_device fails to offline all the disks in an enclosure 4066322 if remove_dev subcmd. fails then it should restore the device's original state 4068175 can't power on the disks from one host if they are powered off from another host 4064482 ibfirmware: The Rqst Insert bit in the device element does not stay set. 4067384 assertion failure due to soc+ microcode returning incorrect loop map. 4080808 firmware: PLOGI payload isn't being sent fully. 4081122 sf: els packets can be freed twice 4066713 drive hang doing dual port write 4071488 remove_device: cannot remove the enclosure in dual-host configuration 4073562 ibfirmware: Reset to IB fails. [IB 1.03] (from 105375-02) 4071594 SENA: error recovery problems triggered by SCSI parity error 4073760 panic in sf caused by Data Fault 4078980 Patch 2 binaries and veritas (I/O hang) 4083546 Symon 1.5 panics on E4K with onboard soc+ and SENA. 4075971 Bad Trap PANIC when utilizing SENA under heavy I/O load with DR/AP 4076393 sf: panic when swapping out SENA on idle system 4083799 heavy I/O and running lbf test caused panic on E10000. 4065417 enatest FATAL: "Could not communicate with the enclosure 4065420 socaltest FATAL: "Failed ioctl FCIO_DIAG_XRAM" 4076803 SENA drivers should report target numbers consistently 4080854 socal: facility to verify token returned (debug mode) 4047301 luxadm: Remove need for led_on subcommand for SENA by updating remove subcommand 4066415 luxadm: remove_device offlines the SENA disks while doing I/O to the disks. 4069883 luxadm: luxadm reports open failed when IB is on multiple loops. 4071327 luxadm: remove_device fails to offline all the disks in an enclosure 4066322 if remove_dev subcmd. fails then it should restore the device's original state 4068175 can't power on the disks from one host if they are powered off from another host 4064482 ibfirmware: The Rqst Insert bit in the device element does not stay set. 4067384 assertion failure due to soc+ microcode returning incorrect loop map. 4080808 firmware: PLOGI payload isn't being sent fully. (from 105375-01) 4036749 Data Access Error during boot due to device not coming online 4064279 disks: luxadm display subcmd. doesn't print the multiple paths to SENA disks 4057005 display -r output format should be aligned properly 4063493 ibfirmware: no way to determine rev level for ibfirmware image 4031041 insert_device (hotplug feature) command is not adding a new device to the sys. 4064549 kernel panics while booting from a SENA disk 4055228 loop hangs while doing heavy IOs to all four SENA's in a single loop. 4058805 luxadm hot-plug: Need to tell the IB to do drive_off after stopping the drives. 4063499 luxadm display commands do not show box ID 4051284 luxadm: User can't use WWN as path to device if multiple boxes have same name. 4025409 luxadm, ssaadm: Problem parsing path when in /devices/... directory 4030734 luxadm is not evaluating the command line argument properly for the probe subcom 4036472 luxadm restricts possible box names. 4064166 luxadm, ssaadm: fcal_s_download/fc_s_download dumps core on sun4d 4065385 luxadm fcal_s_download breaks with SSA HA in system. 4067130 luxadm fc_s_download -f fcal_s_fcode can blitz SSA HA's 4068954 luxadm: fc_s_download subcommand fails when -F option is used 4065043 multiple paths to an enclosure prints different temperature info 4060193 FPM doesn't print the Loop Type properly in split loop configuration 4050519 FPM:setup: naming the SENA does not go into a confirm screen to save changes 4054687 FPM : warning sign(!) is not displayed when Interconnect assembly has bad image. 4055040 FPM: do not display Temperature status on the Back plane screen 4054760 FPM: can not clear using back-space key on Name screen 4056709 fcode: Can't boot from a SENA disk in a dual host scenario. 4058810 firmware: Reset to the SENA causes the firmware to halt. 4063497 SENA error recovery takes too long due to OFFLINE/ONLINE sequence 4060307 In split loop config. ses driver is not creating the /dev/es/ entries properly 4060560 sf driver hba event notification handling incorrect - needs to use scsa 4062000 sf driver send ABTS too soon for target reset; seen in luxadm download -sf 4063084 socal: system will hang if polled commands timeout 4063496 socal: not using WWN from fcode dev tree property 4069480 socal: provide a fcal_transport function to dump soc xram 4069476 panic: freeing a free packet on E6000 and 6 rack configuration 4059228 remove_device subcommand removes the reserved disks from a different host 4063742 remove_device displays incorrect warning message (could not blink Yellow LED) 4066415 remove_device offlines the SENA disks while doing I/O to the disks. ******************************************************************* ******************************************************************* IMPORTANT NOTICE FOR A5X00 PRODUCT: !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! Failure to read and follow the "Special Install Instructions" BEFORE attempting to install this patch could result in disabled A5X00 Interface Boards. In some cases, boards disabled by not following the "Special Install Instructions" may have to be replaced. Make sure you read the "Special Install Instructions" section in this README file BEFORE installing this patch. If a firmware upgrade failure has already occurred, see the section at the end of the Special Install Instructions titled "What to do in case of IB firmware upgrade failure". !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! The A5X00 IB firmware may have to be downloaded to the IBs after installing this patch. The FC100/S Host Adapter fcode may have to be downloaded into the FC100/S Host Adapter after installing this patch. The following patches (or newer versions) need to be installed together and in the following order: 103346-xx - Only required for Sun Enterprise I/O boards with onboard FCAL. 105356-09 105357-04 105375-xx - This patch! 107280-02 - PCI systems only.. 106129-07 - A5x00 only Do not reboot the system until all of these patches have been installed. ******************************************************************* ******************************************************************* Patch Installation Instructions: -------------------------------- Refer to the Install.info file within the patch 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. Special Install Instructions: ----------------------------- Note - Upgrading IBs with firmware revision level 1.01 requires extra steps to complete the upgrade safely. There are two ways that the upgrade may be performed: A. Interface Boards (IB) with firmware revision 1.01 must be upgraded to revision 1.03 BEFORE being upgraded to revision 1.09. IB firmware revision level 1.03 is available in patch 105375-04, which may be available from your service representative. B. IBs on A5X00s with firmware revision 1.01 must be upgraded one at a time, which involves temporarily removing one IB while the other is upgraded. Later on in the patch install instructions you will be asked to choose one of these methods. Note that method A is preferred and requires that patch 105375-04 be available if it is not already installed on the system. The following patches need to be installed together and in the following order: 103346-xx - Only required for Sun Enterprise I/O boards with onboard FCAL. 105356-09 105357-04 105375-xx - This patch! 107280-02 - PCI systems only.. 106129-07 - A5x00 only Do not reboot the system until all of these patches have been installed. Then and ONLY then reboot the system. See FINI0382-x Before installing this patch on the system, you must check the Interface Board (IB) firmware level for all A5X00s on the system: 1. Enter the following command to see what the firmware revision is for each A5X00 on your system: # /usr/sbin/luxadm display where enclosure is the name of the A5X00. For more information, see the luxadm.1m man page. Look at the output for a line similar to the following to find the firmware level: Revision:1.09 Box ID:0 Node WWN:5080020000000398 Enclosure Name:macs0 The firmware level is referred to as the Revision number. For the example above, the firmware level is 1.09. 2. Based on the firmware levels for all A5X00s on the system, decide what to do next: - If all A5X00s on the system have firmware revision 1.03 or higher, go to step 13. 3. Due to IB firmware revision level incompatibilities between revisions 1.01 and 1.09, upgrading between these revisions requires additional steps. There are two methods to accomplish this upgrade: Method A -------- If you have not already done so, you can install older patch 105375-04, which contains IB firmware revision 1.03, upgrade all A5X00s to IB firmware revision level 1.03, and then continue with the installation of this latest patch and subsequent upgrade to IB firmware revision 1.09. -or- Method B -------- You can temporarily remove IB A on all A5X00s during the firmware upgrade. Note - If you have already installed this latest patch, on the system, you MUST follow method B above, or you may remove this latest patch and select method A. Older patch 105375-04 may be available from your local Service representative. 4. Select method A or B above. Method A is the preferred approach. Method B should only be used if it is not possible to get older patch 105375-04. If you select method A, make sure you have the older patch 105375-04 on hand before continuing and go to step 5. If you select method B, go to step 6. 5. Install the older patch 105375-04 on the system. Follow the "Special Install Instructions" in the patch README file to upgrade all A5X00s on the system to IB firmware revision 1.03. Ignore the instructions to upgrade fcode. Go to step 13. 6. This step applies only to A5X00s that have IB firmware revision 1.01 or lower. It is not necessary to perform this step on A5X00s that have IB firmware revision 1.03 or higher. Temporarily remove IB A on all A5X00s with IB firmware revision 1.01 or lower. If there is only one cable connected to the A5X00, through IB A, connect the cable to IB B. 7. Install this latest patch on the system. 8. Download the firmware to all A5X00(s) on the system. Note - If the boot device is a part of a A5X00, the host MUST be rebooted from another boot device other than a A5X00 as firmware cannot be downloaded while booted from a A5X00. Note that you will need access to the luxadm utility and the A5X00 firmware file to do the download. a) Stop all I/O activity on the A5X00. b) Unmount any filesystems residing on the A5X00 disks. c) Stop all Sun Enterprise Volume Manager (SEVM) volumes (if any) running on the A5X00. d) Put the system in single user mode using the init command: # /etc/init s NOTE - The following step must be completed for each A5X00 to download the firmware safely: e) Use the luxadm download command to download the new firmware to each A5X00 on the system. Download the firmware to only one A5X00 at a time: # /usr/sbin/luxadm download -s -f where enclosure is the name of the A5X00(s) and firmware_file is the firmware image for the A5X00, which is usually located in /usr/lib/locale/C/LC_MESSAGES/ibfirmware. For more information, see the luxadm.1m man page. 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 A5X00. Note that the luxadm command may complete BEFORE the firmware update completes on the A5X00. Verify that the A5X00 has completed by checking the firmware level for all Interface Boards on your A5X00(s) through the Front Panel Module (FPM). 9. After you verify that all A5X00s have IB firmware revision 1.09, power off all A5X00s on which you removed IB A, from step 6 above. 10. Re-install IB A on these A5X00(s) and temporarily remove IB B on these A5X00s. Re-cable the A5X00 if necessary. 11. Turn on power to these A5X00s and wait until the FPM says the A5X00 is OK. 12. Re-install IB B on these A5X00s. Wait until the A5X00 re-initializes. Verify the IB firmware level for all Interface Boards on your A5X00(s) through the FPM. 13. Install this latest patch on the system. After installing the patch, check to see if you have to upgrade the firmware for the A5X00 and/or the fcode for the FC100/S Host Adapter. 14. Enter the following command to see what the firmware level is for each A5X00 on your system: # /usr/sbin/luxadm display where enclosure is the name of the A5X00. For more information, see the luxadm.1m man page. Look at the output for a line similar to the following to find the firmware level: Revision:1.09 Box ID:0 Node WWN:5080020000000398 Enclosure Name:macs0 The firmware level is referred to as the Revision number. For the example above, the firmware level is 1.09. 15. Determine if you need to upgrade the firmware. If the firmware level reported by the luxadm command (Step 1) is 1.09 or higher for ALL A5X00s on the system then you do not have to upgrade your firmware as it is already at the proper level. Go to step 18. 16. Download the firmware to your A5X00, if necessary. If the boot device is a part of a A5X00, the host MUST be rebooted from another boot device other than a A5X00 as firmware cannot be downloaded while booted from a A5X00. Note that you will need access to the luxadm utility and the A5X00 firmware file to do the download. a) Stop all I/O activity on the A5X00. b) Unmount any filesystems residing on the A5X00 disks. c) Stop all Sun Enterprise Volume Manager (SEVM) volumes (if any) running on the A5X00. d) Put the system in single user mode using the init command: # /etc/init s NOTE - The following step must be completed for each A5X00 to download the firmware safely: e) Use the luxadm download command to download the new firmware to each A5X00 on the system. Download the firmware to only one A5X00 at a time: # /usr/sbin/luxadm download -s -f where enclosure is the name of the A5X00(s) and firmware_file is the firmware image for the A5X00, which is usually located in /usr/lib/locale/C/LC_MESSAGES/ibfirmware. For more information, see the luxadm.1m man page. 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 A5X00. Note that the luxadm command may complete BEFORE the firmware update completes on the A5X00. Verify that the A5X00 has completed by checking the firmware level for all Interface Boards on your A5X00(s) through the FPM. 17. The firmware download is now complete. What to do in case of IB firmware upgrade failure ------------------------------------------------- An upgrade failure could happen under the following circumstances: - Attempting to upgrade from IB firmware revision 1.01 to 1.09 without following the steps outlined above. - Interrupting the luxadm download command before it has time to complete. - Interrupting the re-initialization of the A5X00 after the completion of the "luxadm download" command, say because of power failure to the A5X00. - On very rare occasions, upgrading from IB firmware revision 1.03 to revision 1.09. Such a failure may manifest itself in one of several ways: - The A5X00 is non-responsive to probing as with the "luxadm probe" command. - The disks in the A5X00 become unavailable to the system. - The A5X00 goes offline and does not come back online after more than 5 minutes during the upgrade process. - The FPM on the A5X00 exhibits a flashing warning sign - a triangle with an exclamation point inside - and the failure is traced down to one or both of the IBs. - The FPM is blank, scrambled or otherwise unreadable and is not responsive to queries. If such a failure is encountered, it may be possible to recover by following this procedure: R1. If it is possible to use the FPM, determine if either of the IBs has a valid copy of IB firmware. See the A5X00 service manual for instructions on how to determine IB firmware revision level from the FPM. If both IBs on the A5X00 have valid, matching revisions of firmware, then the problem may be in the cable, Host Adapter, or GBICs. R2. If only one of the IBs has a valid firmware revision, power off the A5X00 and remove the IB that is invalid. If neither of the IBs have a valid revision of firmware or the A5X00 is unresponsive, go to step R6. R3. Put the IB with a valid revision in slot B and power on the A5X00. Wait until the A5X00 initializes and verify that the IB in slot B has a valid firmware revision. Note - It may be possible that the revision will be different after this operation is complete. R4. Power off the A5X00 and remove the IB in slot B. Insert the other IB into slot A. Power on the A5X00. Wait until the A5X00 initializes and verify that the IB in slot A now has the same firmware revision as the other IB. If the A5X00 does not initialize, go to step R6. R5. Insert the other IB in slot B. - If both IBs now have IB firmware revision 1.09, then IB firmware upgrade for this A5X00 is complete. Continue with the upgrade process above. - If both IBs now have firmware revision 1.03 or 1.01, follow the instructions above to upgrade the IBs to revision 1.09. R6. If it is not possible to use the FPM, power-cycle the A5X00, and wait until it initializes. If initialization does not complete and the A5X00 does not complete POST, remove one of the IBs and power cycle again. If initialization still does not complete, swap the IBs and power cycle again. If initialization still does not complete it is necessary to replace the IB board(s). Contact your local service representative to replace the IB boards. README -- Last modified date: Monday, September 23, 2002