Microcode Level df1000fd.271304 (2.71x4) with FCode Level 1.50x1 for FC 5758, 1905 *05/19/2009: See Document Change History <#Change history> for details on changes to this document.* Contents * 1.0 Overview <#ov> * 2.0 Adapters Affected <#2.0 Systems Affected> * 3.0 Microcode Description and Revision History <#3.0 Firmware Description and Revision History> * 4.0 Cautions and Important Notes <#4.0 Cautions and Important Notes> * 5.0 To Determine Adapter Microcode Levels <#5.0 To Determine Adapter Microcode Levels> o 5.1 AIX Systems o 5.2 Linux Systems * 6.0 Downloading and Unpacking the Microcode RPM Package <#6.0 Downloading and Unpacking the Microcode RPM Package> o 6.1 AIX System RPM Package <#6.1 AIX RPM Package> o 6.2 Linux System RPM Package <#6.2 Linux RPM Package> * 7.0 Updating the Adapter's Microcode <#7.0 Update the Adapter's Microcode> o 7.1 Using the AIX Command-Line Method <#7.1 Using the AIX Command-Line Method> o 7.2 Using the AIX Diagnostic Service Aid Method <#7.2 Using the Download Microcode Diagnostic Service Aid Method> o 7.3 Using Linux lputil Method <#7.3 Using the Linux lputil Method> * 8.0 Verifying the Update <#8.0 Verifying the Update> o 8.1 Verifying the Update on AIX <#8.1 Verifying the Update on AIX> o 8.2 Verifying the Update on Linux <#8.2 Verifying the Update on Linux> * Document Change History <#Change history> ------------------------------------------------------------------------ 1.0 Overview This is the current level of microcode for the IBM 4 Gigabit PCI-X 2.0 Single Port Fibre Channel Adapter. Back to Contents <#Contents> ------------------------------------------------------------------------ *2.0 Adapters Affected* This microcode is for: * FC 5758: PN 03N5014, PN 46K6838 * FC 1905: PN 03N5014, PN 03N5005 To determine the part number of fibre channel adapters on an AIX system, on the command line key in: *lscfg -vl fcsX* where fcsX represents the adapter. The typical time to install the microcode is .4 hr. Back to Contents <#Contents> ------------------------------------------------------------------------ *3.0 Microcode Description and Revision History* *Microcode Level* *Changes* 271304 (2.71x4) with FCode Level 1.50x1 * Corrects an out of resources problem where a buffer fills up with transmit requests doing class 2 traffic. Class 2 traffic is used by AIX for communicating with the switch during device discovery and during recovery from SAN errors. * Corrects a hang problem when installing microcode. Note that you may encounter a hang installing this level of microcode. Should you experience a hang, *a reboot may be required*. Future installations will not hang once this level of microcode is installed. 210308 (2.10x8) with FCode Level 1.50a4 Added new Kill Board behavior used to quiesce the adapter. 210305 (2.10x5) with FCode Level 1.50a4 This is the level of microcode that initially shipped with the aapter when it became generally available. Back to Contents <#Contents> ------------------------------------------------------------------------ *4.0 Cautions and Important Notes* * *Concurrent Download* The microcode installation supports concurrent download while the adapter and attached drives are available for use. *HOWEVER, *because of a hang problem that may occur when installing the 271304 microcode, it is recommended that installation of this level be scheduled during a maintenance window. * *Required AIX APARs* The following APARs are required for support of the 271304 microcode image and to correct a problem to ensure that the adapter is taken off-line if there are hardware problems with the adapter. It is recommended the APAR be installed prior to installing the new microcode. o AIX 6.1 Technology Level 2 (6100-02) use APAR IZ12626 (scheduled for release 4Q08) o AIX 6.1 Technology Level 1 (6100-01) use APAR IZ12075 (scheduled for release 2Q08) o AIX 6.1 Technology Level 0 Service Pack 3(6100-00-03) use APAR IZ13262 o AIX 5.3 Technology Level 9 (5300-09) use APAR IZ11139 (scheduled for release 4Q08) o AIX 5.3 Technology Level 8 (5300-08) use APAR IZ09827 o AIX 5.3 Technology Level 7 Service Pack 2 (5300-07-02) use APAR IZ11769 o AIX 5.3 Technology Level 6 Service Pack 5 (5300-06-05) use APAR IZ06749 o AIX 5.2 Technology Level 10 Service Pack 5 (5200-10-05) use APAR IZ07197 Fixes can be obtained from the IBM Fix Central website located at http://www.ibm.com/eserver/support/fixes. * *VIOS Requirements* If the adapter is in a partition running VIOS, it is required that VIOS v1.5.2.0 or later be installed. If VIOS is not at this level, install Fix Pack 11.1 prior to installing the new microcode. This will ensure that the required AIX APARs are installed. The Fix Pack can be obtained from the Virtual I/O Server website located at https://www14.software.ibm.com/webapp/set2/sas/f/vios/download/home.html . Back to Contents <#Contents> ------------------------------------------------------------------------ 5.0 To Determine Adapter Microcode Levels Before you install the microcode, it is important to determine the current microcode level of the installed adapter. *5.1 AIX Systems* 1) List the fibre channel adapters installed in the system by typing on the command line: *lsdev -C | grep fcsX* Note the device names of all the fibre channel adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. There will be an fcsX listing for each FC 5758/1905 adapter. 2) Determine the current microcode level on the adapter by typing on the command line: *lsmcode -d fcsX * where X is the number of the adapter returned from the "lsdev" command above. A screen similar to the following will be displayed: ------------------------------------------------------------------------ DISPLAY MICROCODE LEVEL 802111 fcs8 FC Adapter The current microcode level for fcs8 is 210308. Use Enter to continue. F3=Cancel F10=Exit Enter ------------------------------------------------------------------------ If the current microcode level is not 271304, then the microcode image on the adapter is not at the latest level. Back to Contents <#Contents> *5.2 Linux Systems * On Linux systems one of two possible methods may be used to determine the current level of microcode on installed adapters. The method used depends upon the version of Linux installed on the target server. If one method does not display the microcode level, try the other method. Both methods assume you are logged on as root user and one or more fibre channel adapters are installed. *Method 1* The first method generally works on systems running Linux 2.4 kernels and some systems running 2.6 kernels which do not have full support for the /sys file system. List fibre channel adapter information for all installed adapters by typing: *cat /proc/scsi/lpfc/** The output will display information for each installed fibre channel adapter. Make note of the driver version, Emulex LightPulse model, and the firmware version: Emulex LightPulse FC SCSI 7.2.4 Emulex LightPulse *LP11000* 4Gigabit PCI Fibre Channel Adapter Firmware Version: 2.10 (H2D*2.10x8*) *Method 2* The second method works on systems running Linux 2.6 and higher kernels which support the /sys file system. 1. Determine which host numbers are assigned to all installed Fibre Channel PCI adapters by typing: *cd /sys/class/scsi_host* *find . -name "lpfc_drvr_version" -print* The output will list relative path names for each installed Fibre Channel PCI adapter. Note the host{n} portion of each path. ./*host2*/lpfc_drvr_version ./*host1*/lpfc_drvr_version 2. Determine the common driver version for installed Fibre Channel PCI adapters. Type the following command, replacing host {n} with one of the lpfc hosts listed in step 1. The driver version should be noted as it will be required later when the microcode is updated. *cat host{n}/lpfc_drvr_version* The driver versions may vary but output will be similar to that shown here: Emulex LightPulse FC SCSI 7.2.4 3. Display the Emulex LightPulse model name for each installed Fibre Channel PCI adapter. Type the following command, replacing host{n} with one of the lpfc hosts listed in step 1. Take note of all LP11000 model hosts. *cat host{n}/modelname* Repeat for each host listed to identify the LP11000 models. Model will display as follows: LP11000 4. Display the firmware version for each installed Fibre Channel PCI adapter. Type the following command, replacing host{n} with the lpfc hosts for model LP11000 listed in step 3: *cat host{n}/fwrev* Repeat for each host model LP11000. The firwmare version will display as follows: 2.10 (H2D*2.10x8*) If, as shown in *bold* text above, the Emulex LightPulse model is *LP11000* and the microcode version is /not/ *2.71x4*, then the microcode needs to be updated. Back to Contents <#Contents> ------------------------------------------------------------------------ *6.0 Downloading and Unpacking the Microcode RPM Package* There are two microcode packages available from this microcode download site; an RPM package for AIX systems and an RPM package for Linux systems. Use the appropriate method for the installed OS on the target server. *6.1 AIX System RPM Package* Use this method to install the AIX RPM package on an AIX system. Note that the commands are case senstitive and must be entered exactly as shown, including file names. 1. If the /etc/microcode directory does not exist, make a directory to receive the RPM format file. On the command line type: *mkdir /etc/microcode* 2. Transfer the RPM format file, df1000fd-271304.aix.rpm to any temporary directory on the target server. 3. Unpack the file. On the command line type: *rpm -ihv --ignoreos df1000fd-271304.aix.rpm* 4. If the microcode package unpacks successfully, the microcode file will be added to the /etc/micrococde directory. If a message is received saying the "package ** is already installed", you will need to uninstall the rpm package. On the command line type: *rpm -e * where is the name of the package that was returned in the message. Return to step 3 and attempt to unpack the file again. 5. Verify the file size and checksum of the df1000fd.271304 file in /etc/microcode. File size: 853416 Checksum: 51588 Back to Contents <#Contents> *6.2 Linux Sytem RPM Package* Use this method to install the Linux RPM package on a Linux system. Note that the Linux commands are case senstitive and must be entered exactly as shown, including file names. 1. Transfer the Linux rpm file, 10dffd00-2.71x4.Linux.rpm, to a temporary directory on the target server such as /tmp. 2. Unpack the rpm file by typing: *rpm -ihv /tmp/10dffd00-2.71x4.Linux.rpm * 3. If the microcode package unpacks successfully, the microcode file will be added to the /lib/firmware directory. If a message is received saying the "package ** is already installed", you will need to uninstall the rpm package. On the command line type: *rpm -e * where is the name of the package that was returned in the message. Return to step 2 and attempt to unpack the file again. 3. Verify the microcode image, pci.10dffd00.01.271304, was installed in the /lib/firmware directory. 4. Verify the file size and checksum of the pci.10dffd00.01.271304 file in /lib/firmware. File size: 853416 Checksum: 51588 Back to Contents <#Contents> ------------------------------------------------------------------------ *7.0 Update the Adapter's Microcode* *7.1 Using the AIX Command-Line Method* Login as root user. From the command line key in: *diag -d fcsX -T download* where fcsX is the adapter you on which you want to install the microcode. Self-explanatory menus will step you through the microcode installation. Repeat this command for all of the adapters. Back to Contents <#Contents> *7.2 Using the AIX Diagnostic Service Aid Method* Login as root user. From the command line key in: *diag* Select: *Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)* Select: *Microcode Tasks* Select: *Download Latest Available Microcode* Select: *file system* * /etc/microcode* Select the device: *fcs** Press enter when prompted to download the microcode Upon completion, a message will state that the microcode has be successfully downloaded and that the new level is 271304. Back to Contents <#Contents> *7.3 Using the Linux lputil Method* To update the Fibre Channel PCI adapter microcode on installed adapters in a Linux system, the Emulex lputil flash program must be used. The lputil flash program must be installed on the system using an Application Kit available only from the IBM OEM web pabes on the Emulex web site. Some driver versions may also requre an Application Helper Module Kit. If the Application Helper Module Kit is required, it will be listed on the IBM OEM web page along with the Application Kit. Be sure to look at all Kits on the web page. To begin, open the IBM OEM web page located at http://www.emulex.com/ts/docoem/framibm.htm. The page is a matrix with driver versions in the first column and storage systems/platforms in the first row. Find the OS release and driver version currently installed on your system as determined in section 5.2. Click on any link in this row. This page will contain the Application Kit, a User's Guide, and the Application Helper Module for this dirver version if it is required. Download the Application Kit and, if listed, the Application Helper Module to any temporary directory on the target server. Follow the installation instructions as provided in the User's Guide to install the downloaded packages. 1. Begin by confirming proper installation of the Application Kit and the Application Helper Module. * Verify the lputil command is present by typing: *ls /usr/sbin/lpfc/lputil* * The output should list the file path for the lputil command. * Verify the Driver Module (lpfc or lpfcdd) is loaded by typing: *lsmod* * Examine the output for the presence of lpfc or lpfcdd in the loaded module list. * If it is not present, type: *modprobe -a lpfc *or* modprobe -a lpfcdd *to examine the console messages for reported errors. * If an Application Helper Module kit was installed, verify the Application Helper Module (lpfcdfc) is loaded by typing: *lsmod* * Examine the output for the presence of lpfcdfc in the list. * If it is not present, type: *modprobe lpfcdfc *to examine the console messages for reported errors. If any of the verification checks fail, review the installation documentation and ensure all steps were completed. Look for any errors reported during installation. If problems can not be resolved, contact IBM service. 2. Since the microcode update will reset the fibre channel adapters, you should ensure that all I/O activity to storage devices controlled by the adapter being updated is stopped prior to proceeding. *Caution:* Do not interrupt this process, shutdown the system, or remove power until the microcode update process is complete. 3. Start the utility by typing:* /usr/sbin/lpfc/lputil* 4. From the main menu, enter *1, List Adapters*. Note which adapters are* LP11000* adapters. 5. From the main menu, enter *3, Firmware Maintenance.* 6. If more than one adapter is installed, select the adapter to be update. 7. Enter *1, Load Firmware Image*. 8. Enter the full path name to the firmware image: */lib/firmware/pci.10dffd00.01.271304* and press enter 9. Wait for a message indicating Image Successfully Downloaded and the Firmware Maintenance Menu to be displayed. the firmware update has now been written to the selected adapter. 10. Repeat steps 4 through 10 to update firmware on each LP11000 adapter. 11. To exit the utility, enter *0, Return to Main Menu*, followed by *0, Exit*. Back to Contents <#Contents> ------------------------------------------------------------------------ *8.0 Verifying the Update* *8.1 Verifying the Update on AIX* 1) List the fibre channel adapters installed in the system by typing on the command line: *lsdev -C | grep fcsX* Note the device names of all the 4G fibre channel single port adapters installed. The adapter device names will be fcsX, where X is 0,1, or some other number. There will be an fcsX listing for each FC 5758/1905 adapter. 2) Determine the current microcode level on the adapter by typing on the command line: *lsmcode -d fcsX * where X is the number of the adapter returned from the "lsdev" command above. A screen similar to the following will be displayed: ------------------------------------------------------------------------ DISPLAY MICROCODE LEVEL 802111 fcs8 FC Adapter The current microcode level for fcs8 is 271304. Use Enter to continue. F3=Cancel F10=Exit Enter ------------------------------------------------------------------------ If the current microcode level is 271304, then the microcode has been updated. Back to Contents <#Contents> 8.2 Verifying the Update on Linux On Linux systems one of two possible methods may be used to determine the current level of microcode on installed adapters. The method used depends on the version of Linux installed on the target server. If the one method does not display the microcode level, try the other method. Both methods assume you are logged on as a root user and one or more fibre channel adapters are installed. *Method 1* The first method generally works on systems running Linux 2.4 kernels and some systems running 2.6 kernels which do not have full support for the /sys file system. List fibre channel adapter information for all installed adapters by typing: *cat /proc/scsi/lpfc/** The output will display information for each installed fibre channel adapter. Verify the firmware version: Firmware Version: 2.71 (H2D*2.71x4*) *Method 2* The second method works on systems running Linux 2.6 and higher kernels which support the /sys file system. 1. Determine which host numbers are assigned to all installed Fibre Channel PCI adapters by typing: *cd /sys/class/scsi_host* *find . -name "lpfc_drvr_version" -print* The output will list relative path names for each installed Fibre Channel PCI adapter. Note the host{n} portion of each path. ./*host2*/lpfc_drvr_version ./*host1*/lpfc_drvr_version 2. Display the firmware version for each installed Fibre Channel PCI adapter by typing: *cat host{n}/fwrev* where host{n} is from the previous step. The firmware version will display as follows: 2.71 (H2D*2.71x4*) If the microcode level displayed using either method above is 2.71x4, then the microcode has been updated. Back to Contents <#Contents> ------------------------------------------------------------------------ Document Change History *Date* *Changes* 05/19/2009 Section 4.0: Clarified VIOS Requirements 11/21/2008 Section 2.0: Added new part number 46K6838 for feature code 5758 05/28/2008 Section 3.0: Corrected FCode Level for the 271304 firmware image Section 3.0: Highlight need to reboot if the system hangs during firmware installation Section 4.0: Corrected Technology Levels/Service Pack info for APAR IZ13262 Section 4.0: Added additional APAR info for newly released Technology Levels 5200-10 and 5300-8 Section 4.0: Added additional APAR info for future releases 04/25/2008 Section 4.0: Added VIOS Requirements 04/23/2008 Section 4.0: Corrected reference to AIX Technology Level for APAR IZ06749 04/15/2008 Section 3.0: New release of microcode documented Section 4.0: Updated to include APAR information Minor corrections and formatting changes throughout the entire document Back to Contents <#Contents> ------------------------------------------------------------------------ Privacy | Legal | Contact IBM