• VMware

    Learn about VMware virtualization for its products like vsphere ESX and ESXi, vCenter Server, VMware View, VMware P2V and many more

  • Linux

    Step by step configuration tutorials for many of the Linux services like DNS, DHCP, FTP, Samba4 etc including many tips and tricks in Red Hat Linux.

  • Database

    Learn installation and configuration of databases like Oracle, My SQL, Postgresql, etc including many other related tutorials in Linux.

  • Life always offers you a second chance ... Its called tomorrow !!!

    Friday, September 16, 2016

    How to downgrade HP Emluex CNA NIC card firmware version

    This article will guide you with steps used to perform upgrade as well as downgrade of Emulex Converged Network Adapters firmware version running on HP hardware

    For the demonstration of this article I will be using FlexFabric 20Gb 2-port 650FLB Adapter.

    Check the NIC adapter type installed in your blade
    # dmidecode |grep  'NIC'
    HP BIOS NIC PCI and MAC Information
            NIC 1: PCI device 06:00.0, MAC address 00:17:A4:77:00:02
            NIC 2: PCI device 06:00.1, MAC address 00:17:A4:77:00:04
            NIC 3: PCI device 06:00.2, MAC address D0:BF:9C:F0:80:69
            NIC 4: PCI device 06:00.3, MAC address D0:BF:9C:F0:80:71
            NIC 5: PCI device 06:00.4, MAC address D0:BF:9C:F0:80:6A
            NIC 6: PCI device 06:00.5, MAC address D0:BF:9C:F0:80:72
                    NIC.FlexLOM.1.1
                    HP FlexFabric 20Gb 2-port
    650FLB Adapter - NIC
                    NIC.FlexLOM.1.2
                    HP FlexFabric 20Gb 2-port 650FLB Adapter - NIC
                    NIC.FlexLOM.1.3
                    HP FlexFabric 20Gb 2-port 650FLB Adapter - NIC
                    NIC.FlexLOM.1.4
                    HP FlexFabric 20Gb 2-port 650FLB Adapter - NIC
                    NIC.FlexLOM.1.5
                    HP FlexFabric 20Gb 2-port 650FLB Adapter - NIC
                    NIC.FlexLOM.1.6
                    HP FlexFabric 20Gb 2-port 650FLB Adapter - NIC

    To check the currently installed firmware and driver version on the NIC card
    # ethtool -i eth0
    driver: be2net
    version: 10.7.110.29
    firmware-version: 10.7.110.34
    bus-info: 0000:06:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: no

    As you see my firmware version is 10.7.110.34 while the driver version of the NIC card is 10.7.110.29
    This set of firmware and driver is from HP SPP 2016.04, so let us first perform a downgrade of the firmware to SPP 2015.04

    The CNA firmware version available with SPP 2015.04 is "hp-firmware-cna-emulex-2015.02.02-1.1.x86_64.rpm"

    Steps to downgrade NIC firmware

    Install the CNA rpm
    # rpm -Uvh /tmp/hp-firmware-cna-emulex-2015.02.02-1.1.x86_64.rpm
    Preparing...                ########################################### [100%]
       1:hp-firmware-cna-emulex ########################################### [100%]

    Unlike any other rpm the above command doesnot exactly installs the firmware, instead it will just extract the rpm content to it's respective location.

    Content of the firmware rpm is as below
    # rpm -ql hp-firmware-cna-emulex-2015.02.02-1.1
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/.cpq_package.inc
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/.hpsetup
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/CP025738.xml
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/elxflashStandalone-linux-10.2.477.23-1.zip
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/fwmatrix.txt
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/installer
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/readme.txt
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1/reference.xml
    /usr/lib/x86_64-linux-gnu/hp-scexe-compat
    /usr/lib/x86_64-linux-gnu/hp-scexe-compat/CP025738.scexe

    # cd /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2015.02.02-1.1

    # unzip elxflashStandalone-linux-10.2.477.23-1.zip

    # cd elxflashStandalone-linux-10.2.477.23-1/lx

    Next execute the below command to start the downgrade
    # ./elxflash.sh /ucna /sysfs  /f
    Thu Sep 15 23:52:01 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=00:17:A4:77:00:08,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    Thu Sep 15 23:52:01 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=00:17:A4:77:00:08,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    Thu Sep 15 23:52:01 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=30:8D:99:62:FF:75,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    Thu Sep 15 23:52:02 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=30:8D:99:62:FF:7D,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    Thu Sep 15 23:52:02 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=30:8D:99:62:FF:76,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    Thu Sep 15 23:52:02 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=30:8D:99:62:FF:7E,
    Update=Firmware, Image=oc14-10.2.477.23.ufi, New=10.2.477.23, Old=10.7.110.34, Status=Success

    elxflash: All required firmware and/or boot code downloads succeeded - Return Code=0

    Please reboot system to activate new firmware.

    So the script executed successfully with Return Code "0"

    The new firmware version is as seen below
    # ethtool -i eth0
    driver: be2net
    version: 10.7.110.29
    firmware-version: 10.7.110.34 [
    10.2.477.23]
    bus-info: 0000:06:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: no

    NOTE:  A reboot is required to activate the new firmware

    Steps to update NIC firmware

    Currently installed firmware
    # ethtool -i eth0
    driver: be2net
    version: 10.2.477.6
    firmware-version: 10.2.477.23
    bus-info: 0000:06:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: no

    So the currently installed NIC driver version is 10.2.477.6 and the firmware version is 10.2.477.23 which are from SPP 2015.04

    Let us update the NIC card to the firmware version from HP SPP 2016.04 i.e. "hp-firmware-cna-emulex-2016.02.02-1.1.x86_64.rpm"

    Install the rpm
    # rpm -Uvh /tmp/hp-firmware-cna-emulex-2016.02.02-1.1.x86_64.rpm
    warning: /tmp/hp-firmware-cna-emulex-2016.02.02-1.1.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID b1275ea3
    Preparing...                ########################################### [100%]
       1:hp-firmware-cna-emulex ########################################### [100%]

    Content of the rpm is as below
    # rpm -ql hp-firmware-cna-emulex
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/.cpq_package.inc
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/.hpsetup
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/CP029026.xml
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/elxflashStandalone-linux-10.7.110.34-1.zip
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/fwmatrix.txt
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/hpsetup
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/readme.txt
    /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1/reference.xml
    /usr/lib/x86_64-linux-gnu/hp-scexe-compat
    /usr/lib/x86_64-linux-gnu/hp-scexe-compat/CP029026.scexe

    Follow the below steps to perform the update

    # cd /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1

    # ll
    total 38932
    -r--r--r-- 1 root root    64057 Jan 13  2016 CP029026.xml
    -rw-r--r-- 1 root root      271 Jan 13  2016 .cpq_package.inc
    drwxr-xr-x 5 root root     4096 Jan  9  2016 elxflashStandalone-linux-10.7.110.34-1
    -r--r--r-- 1 root root 38047305 Jan 13  2016 elxflashStandalone-linux-10.7.110.34-1.zip
    -r--r--r-- 1 root root      881 Jan 13  2016 fwmatrix.txt
    -r-xr-xr-x 1 root root     6737 Jan 13  2016 hpsetup
    -r-xr-xr-x 1 root root  1653176 Jan 13  2016
    .hpsetup
    -r--r--r-- 1 root root      423 Jan 13  2016 readme.txt
    -r--r--r-- 1 root root    18222 Jan 13  2016 reference.xml

    # ./.hpsetup
    ---------------------------------------------------
    Loading references...done.
    Performing discovery...
    Preparing the Emulex Kit...done
    Performing flash -- DO NOT INTERRUPT!
    Executing flash engine: ./elxflashStandalone*/lx/elxflash.sh /ucna /sysfs  /update 1>> /var/cpq/Component.log 2>> /var/cpq/Component.log 3>> /var/cpq/Component.log
    Flash Engine exit code: 0
    All updates were successful.  Reboot needed.
    Flash complete [1]

    So the update has completed successful with Exit Code 1 which means a reboot is required to activate the new firmware

    OR the update can also be done as we did our downgrade using the below steps

    # cd /usr/lib/x86_64-linux-gnu/hp-firmware-cna-emulex-2016.02.02-1.1

    # unzip elxflashStandalone-linux-10.7.110.34-1.zip

    # cd elxflashStandalone-linux-10.7.110.34-1/lx/

    # ./elxflash.sh /ucna /sysfs  /update

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=00:17:A4:77:00:4A,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=00:17:A4:77:00:4A,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B1,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B1,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B2,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B2,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B3,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success

    Fri Jul  1 13:18:28 2016
    HBA=OCe14100-NIC, Port Type=NIC, MAC=70:10:6F:58:3B:B3,
    Update=Firmware, Image=oc14-10.7.110.34.ufi, New=10.7.110.34, Old=10.2.477.23, Status=Success


    elxflash: All required updates succeeded - Return Code=0

    Please reboot system to activate new firmware.

    Either way you will can perform the NIC firmware update.

    Updated NIC firmware version can be seen below.
    # ethtool -i eth0
    driver: be2net
    version: 10.2.477.6
    firmware-version: 10.2.477.23 [
    10.7.110.34]
    bus-info: 0000:06:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: no

    NOTE: The new firmware will be activated after a reboot of the blade

    I hope this article was useful.

    Follow the below links for more tutorials

    Step by Step Linux Boot Process Explained In Detail
    10 examples to help you understand top command usage in Unix/Linux
    Script to take backup of any critical directory in Unix/Linux
    Configure Red Hat Cluster using VMware, Quorum Disk, GFS2, Openfiler
    Tutorial for Monitoring Tools SAR and KSAR with examples in Linux
    How to configure Samba 4 Secondary Domain Controller
    How to secure Apache web server in Linux using password (.htaccess)
    How to register Red Hat Linux with RHN (Red Hat Network )
    15 tips to enhance security of your Linux machine
    Why is Linux more secure than windows and any other OS
    What is the difference between "su" and "su -" in Linux?
    What is kernel-PAE in Linux?
    What is swappiness and how do we change its value?
    How to log iptables messages in different log file
    What are the s and k scripts in the etc rcx.d directories
    What is virtual memory, paging and swap space?

    0 comments:

    Post a Comment