Microcode Revision Level 3.30X1 for F/C 6227 Contents * 1.0 Overview <#ov> * 2.0 Systems Affected <#Systems_Affected> * 3.0 Firmware Description and Revision History <#3.0_Firmware_Descriptions_and_Revision_> * 4.0 Cautions and Important Notes <#Cautions_and_Important_Notes> * 5.0 To Determine Adapter Microcode Levels <#5.0_To_Determine_Adapter_Microcde_Level> * 6.0 Downloading and Unpacking the Firmware Update Package <#6.0_Downloading_and_Unpacking_the_Firmw> * 6.1 Internet Package <#Internet_Package> * 6.2 CORE (Current Object REpository) Package <#6.1_CORE_(Current_Object_REpository)_Pa> * 7.0 Update the Adapter's Microcode <#7.0_Update_the_Adapter's_Microcode> * 7.1 Using the AIX Command-Line Method <#7.1_Using_the_AIX_Command-line_Method> * 7.2 Using the Update Flash Diagnostic Service Aid Method <#7.2_Using_the_Update_Flash_Diagnostic_S> * 7.3 Verifying the Update <#7.3_Verfying_the_Update> * 8.0 Machine Records <#8.0_Machine_Record> 1.0 Overview This is the Current Level of Microcode for The IBM RISC System/6000 Gigabit Fiber Channel PCI Adapter, which replaces microcode Revision Level 3.22A1 Back to Contents <#Contents> ------------------------------------------------------------------------ *2.0 Systems Affected* * *This update provides new adapter firmware for adapter FC 6227 PN 09P4038, 09P1162, 03N4167, or 24L0023. The firmware level is 3.30X1. The typical time to install the microcode is .3 hr. Back to Contents <#Contents> ------------------------------------------------------------------------ *3.0 Firmware Description and Revision History* This firmware update contains the following features and fixes: Level Description 3.30X1 1. Fix Multi boot menu Hang 2. Inactive exchange control blocks now have their X_ID obscured to insure that they will not affect active exchanges. (CR 3916, 3917, 3653, 3656) 3. Adapter firmware invalidly resets the sequence flags on an S_ID mismatch. This was found only under very heavy load, in extreme circumstances, in target mode. This has been fixed. (CR 3792, 3791) 4. Improved operation of E_D_TOV timer when closing exchange. (CR 3794, 3793) 5. Corrected self-test problem reporting wrong internal test number. (CR 3788, 3803) 6. Improved wake-up failure reporting capability. Added the ability to read the additional wake-up errors from SLIM memory. (CR 3804, 3807) 7. Due to the length of time required to close out an aborted exchange with a remote port which is not responding, the "early abort notification" is now forced into the active state for timed-out commands. (CR 3853, 3854) 8. Solved a timeout problem when switching from LOOP to P2P when connected to a switch port. (CR 3806, 3856) 9. Added extra delay to TX/RX DMA timeout trap to allow for special PCI bus designs. (CR 3860, 3861) 10. Corrected HBA memory initialization problem with the Boot BIOS utility setting P2P mode on the LP8000. (CR 3647) 11. Corrected response to READ_LA mailbox command so that valid current and link down state information is returned. (CR 3630, 3635) 12. A method of detecting and correcting a single-bit FLASH error was added for the 128K FLASH boot sector. This addresses all known instances of charge migration in the FLASH. (CR 3709, 3710) 13. An alternate method of handling PCI Lock during self-test was put into place to significantly lower the chances of a self-test failure hanging the PCI bus. (CR 3707, 3708) 14. Allocated four extra buffers for FICON performance enhancement. (CR 3629, 3632) 15. Corrected problem with reviving expired exchange during ABTS processing. (CR 3631, 3636) 16. Changed SLI Target to operate as a PLDA type device in order to achieve better resiliency in target mode. (CR 3493, 3494) 17. During research on a different problem, an analyzer trace showed that the adapter was replying to TEST and ESTC frames. This was corrected to issue no reply and to ignore the frames. (CR 3394, 2898) 18. Adapter firmware ignored ABTX ELS command and did not respond to the host. Fixed by issuing LS_RJT (link service reject) in response. (CR 3521, 3533) 19. An issue where a boot failed due to a fast BIOS ROM read request timeout of a particular model of host computer was fixed by speeding up the self-test in the firmware. (CR 3397, 3534, 3495) 20. A problem with buffer compare errors after running a certain test program for a period of days with a LIP every 15 seconds was resolved. (CR 3460, 3579) 21. A feature enhancement was added to the SLI by customer request. (CR 3345, 3110) 22. A particular request from the driver which would cause a stall when connected to the fabric but not when connected to an N-port was fixed. (CR 3344, 3465) 23. Corrected a firmware-to-driver response problem when closing an FCP-2 tape exchange. (CR 3583, 3586) 24. Changed SLI-2 feature indicator level from 2 to 3 to reflect the recently added features. (CR 3604, 3605) 25. The firmware now cleans up any outstanding parity error bits in the ASIC immediately after startup. (CR 4046, 4075) 26. The current version of Emulex ASIC does not interrupt the firmware on the HBA if there is a PERR during a PCI Memory Write. This firmware change will poll the status bit in the ASIC instead. (CR 4030, 4062) 27. Fixed problem with LIP causing internal B-bus parity error. (CR 4130, 4170) 28. Modifying the FCP-2 recovery protocol to match FCP-2 Rev 7 caused problems with non-compliant targets. Therefore, the modifications were removed. (CR 3581, 3584, 3585, 4165, 4169) 29. Using TAR to transfer data to a tape drive caused a timeout upon close, because the adapter was sending a wrong type code with REC ELS. (CR 4221, 4213) 30. Due to speed negotiation and other initialization when connecting to a switch port for the first time, the HBA internally times out and goes into bypass mode, shutting down the port. The LIP timeout when entering point-to-point negotiation was removed. (CR 4205, 4224) 31. There was a problem with GEN_REQUEST response data buffering under certain conditions, which resulted in a timeout. (CR 4318, 4296) 32. The READ_LNK_STAT command now returns the correct Receive Counter value, which properly reflects the buffer credits. (CR 4353, 4346) 33. A race condition in firmware resulted when an exchange was aborted only if there were no outstanding exchanges left. (CR 4354, 4351) 34. Clear ARBF0s exception bit at the start of LIFA phase.(CR 5290) 35. Properly fill in the S_ID and D_IS fields for the P_RJT in all cases.(CR 5457) *The Firmware Levels Below Are No Longer Supported* *By IBM Once They Have Been Removed From The Microcode Down Load Website.*** It is best practices to update to the latest FW level not only for IBM support of these products, but for optimal performance and to ensure that all of the required HW/FW fixes are installed. Once new FW has been released to the field, we will provide a 6 month grace period for customers to update these products to the currently supported FW level * Please Update To The Latest Level At Your Earliest Convenience* 3.22A1 1. SAN Boot Support 2. Fixed bug on inputting a invalid LUN number 3. Fixed bug on inputting a invalid WWPN number and continue to access LOGO and PLOGI instead of exit. 4. Disable the message "Can't open disk label package" for non-bootable disks. 5. Bug fixed for FCODE map-in doesn't match decoded register error. 6. Bug fixed for "Error: can't free iommu-list" due to the data structure memory allocation problem on true 64-bit machine. 7. Enhanced the behavior to relogin if a target logs out during the boot sequence. 8. Added new multiple topologies mode 9. Added default setting mode to set everything into default value 10. Change the encode-fcp-unit such as when lun is nonzero, the return string is "wwpn,unit", and if the lun is zero, the return string will be only "wwpn" and no comma and no 0's. 11. Changed the new behavior for 64-bit machine which running under 32-bit format with 64-bit machine. 12. Make CT timeout to be 2 * R_A_TOV instead of 1 sec before. 13. Reduced Io_sequence timeout value if ABTS happened. 14. Added set-els-err in cmd-fcp to update the IOSTAT_LOCAL_REJECT and IOERR_SEQUENCE_TIMEOUT if a Rad Box issued a logout during SCSI command. 15. Added new feature, the host can able to determine 32bit BAR versus 64bit BAR base on the system firmware. 16. Bug fixed on reservation conflict which fail to exit after exceeded 8 times of retries on executed a SCSI command. 17. Replace the WWPN to LOGO payload instead of D_ID. 18. Added one more retry for CT Response after retries on timeout. 19. Change back number of retry of SCSI-command to 0 when system issues a "Reservation Conflict" of status byte code due to the IEEE standard. 20. Change number of retry of SCSI-command to 10 times when system issues a "Check Condition" of the status byte code . Back to Contents <#Contents> ------------------------------------------------------------------------ *4.0 Cautions and Important Notes* The Diagnostic Microcode Download software has been updated to support microcode download during normal operations. If you are on 4.3.3, please install APAR IY26204 from FIXDIST. If you are on AIX5.1.0, please install APAR IY26249 from FIXDIST. Back to Contents <#Contents> ------------------------------------------------------------------------ 5.0 To Determine Adapter Microcode Level Before you install the microcode, it is important to determine the FRU Number and Microcode level of the adapter installed in the target system. Use the following instructions to read the FRU number stored in the adapter's non-volatile memory. 1. List the Fiber Channel PCI adapters installed in the system by typing: *lsdev** -C | grep "fcs"* Note the device names of all the Gigabit Fiber Channel PCI Adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. 2. To check the current microcode level for the adapter enter the following command *lscfg** -vl fcsX* Where X is the number of the adapter returned by the previous lsdev command. The Command will produce output similar to DEVICE LOCATION DESCRIPTION fcs0 00-04 IBM Gigabit Fiber Channel PCI Adapter ROS Level and ID...........02903291 Device Specific (Z9).......SS3.22A1 Part Number....................09P4038, 09P1162, 03N4167, 24L0023 Serial Number..................00000000 Device Specific.(YL).......P2-I5 If the ROS Level and ID is less than 02903331 then you should update the microcode. Back to Contents <#Contents> ------------------------------------------------------------------------ *6.0 Downloading and Unpacking the Firmware Update Package* Instructions for downloading and unpacking firmware update packages follow. *6.1 Internet Package* The adapter firmware, in AIX and DOS formats, are located at the web site *http://www.rs6000.ibm.com/support/micro/* Follow the instructions on this web page. You must read and agree to the license agreement to obtain the password (case sensitive) for unpacking the firmware package. In the table for Adapter Microcode, scroll down to the entry for Gigabit Fibre Channel Adapter for PCI Bus. The download choices are: o Description (Instruction document) o AIX format (For downloading to an AIX system) o Dos format (For downloading to a DOS, OS2, Windows workstation. You will want a copy of the description and one of the above formats. You may transfer the files to the target system in one of the following ways: o Download the AIX format to the target AIX system o Download the AIX format to an AIX system and ftp the file to the target system.. o Download the AIX format to an AIX system and use a diskette to transfer the file to the target system. o Download the DOS format to a DOS, OS2 or Windows workstation. Detailed download /unpacking instruction follow for each format. *6.1.1 Downloading AIX Format File to target AIX system* Note: The following instructions use AIX commands. AIX commands are CASE SENSITIVE (lower and upper) and must be entered exactly as shown. 1. Create a directory on the AIX system to receive the files type mkdir /tmp/ucode press enter If the directory already exists, make sure that it is empty 2. Transfer the AIX format file to the /tmp/ucode directory (using "Save as ...") 3. Unpack the file as follows: cd /tmp/ucode chmod +x * ./FC6227FW.bin You will need the password provided from the license agreement. The following file will be unpacked: df1000f7.330301 README.330301.txt 4. Move the microcode to the microcode directory. mv /tmp/ucode/df1000f7.330301 /etc/microcode/df1000f7.330301. *6.1.2 Downloading AIX Format File and FTP the file to target system* If you are not on the target machine, you can ftp the df1000f7.330301 file to the target system as follows: type : the command that is typed in. enter: the pressing the enter key (name of the target system): the name of the target system response : the response displayed following the pressing of the enter key. you will need the root password of the target system. type and enter ftp (name of target system) response Connected to (name of target system) 220 (target system FTP server ( Version) ready name (name of machine: user): type and enter root response Password: (root password) type the root password and enter response 230 User root logged in ftp> type and enter cd /tmp response 250 CWD command successful ftp> type and enter bin response 200 type set to I. ftp> type and enter put df1000f7.330301 response 200 PORT command successful 150 opening data connection for df1000f7.330301 ( xx bytes) 226 Transfer compete ftp > type and enter quit response 221 Goodbye The firmware is now on the target system in the /tmp directory. Move the firmware to the correct directory as follows: mv df1000f7.330301 /etc/microcode/df1000f7.330301 *6.1.3 Downloading AIX Format and Use a diskette to transfer file to target system* You can use a diskette to transfer the file to the target system as follows: 1. Change directory to the directory that contains the firmware cd /tmp/ucode 2. Create a directory with just the firmware mkdir 330301 3. Copy the firmware to the new directory cp df1000f7.330301 330301/. 4. cd to the new directory cd 330301 5. back up the firmware to a diskette find . | backup -iv the firmware is now on the diskette 6. place the diskette in the target system's diskette drive 7. On the target system, cd to the directory to receive the firmware and transfer the firmware to the system cd /etc/microcode. restore The firmware is now on the target system. Move the firmware to the correct directory as follows: mv df1000f7.330301 /etc/microcode/df1000f7.330301 *6.1.4 Downloading DOS Format file* 1. Prepare a directory for receiving the DOS/Windows format file. Enter: md [path]\ucode If the directory already exists, make sure that it is empty 2. Transfer the DOS/Windows format file to the [path\ucode directory (using "Save as ...."). The file df1000f7.exe will now be in the directory. 3. Change directory to the directory that contains the firmware. cd [path]\ucode 4. Place a diskette in the diskette drive and execute the self extracting file. df1000f7.exe Follow the instructions on the screen to build the diskette image. 5. Place the diskette in the target system's diskette drive 6. On the target system, cd to the directory to receive the firmware and transfer the firmware to the system cd /etc/microcode. restore the firmware is now on the target system. Back to Contents <#Contents> ------------------------------------------------------------------------ *6.2 CORE (Current Object REpository) Package* Adapter firmware are provided in the package under pSeries-RS/6000-Microcode-Adapter/Servie. Look for df1000F7.exe. You will want to read the update description and the latest installation instructions. When you launch the firmware update selections in CORE, follow the instructions on the PC. Back to Contents <#Contents> ------------------------------------------------------------------------ 7.0 Update the Adapter's Microcode The Diagnostic Microcode Download software supports the following naming convention for the microcode binary file : * df1000f7.330301 * where the 330301 is the version of the file. Back to Contents <#Contents> ------------------------------------------------------------------------ *7.1 Using the AIX Command-Line Method* You are now ready to FLASH the EPROM in the adapter using the single command: * diag -d fcsX -T download* Where X is the number found from the "lsdev -C | grep fcs " command. Self-explanatory menus will step you through the microcode installation. Repeat each step above for all the cards that need the update. Back to Contents <#Contents> ------------------------------------------------------------------------ *7.2 Using the Update Flash Diagnostic Service Aid Method* From the command line login, log in as root. Enter *diag* Select *Task Selection (Diagnostic, Advanced Diagnostics, Service Aids, etc).* Select *Download Microcode* Select the device returned from 5.0 above. *fcs**** Press enter when prompted to download the microcode. Upon completion, a message will state that the firmware has been successfully downloaded and that the new level is 330301. Exit Back to Contents <#Contents> ------------------------------------------------------------------------ *7.3 Verifying the Update* 1) List the Fiber Channel PCI adapters installed in the system by typing: *lsdev** -C | grep "fcs"* Note the device names of all the Gigabit Fiber Channel PCI Adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. 2) To check the current microcode level for the adapter enter the following command *lscfg** -vl fcsX* Where X is the number of the adapter returned by the previous lsdev command. The Command will produce output similar to DEVICE LOCATION DESCRIPTION fcs0 00-04 IBM Gigabit Fiber Channel PCI Adapter ROS Level and ID...........02903291 Device Specific (Z9).......SS3.22A1 Part Number....................09P4038, 09P1162, 03N4167, 24L0023 Serial Number..................00000000 Device Specific.(YL).......P2-I5 If the ROS Level and ID is 02903331, the firmware has been updated. Back to Contents <#Contents> ------------------------------------------------------------------------ *8.0 Machine Record* Back to Contents <#Contents> ------------------------------------------------------------------------ Privacy | Legal | Contact IBM