Oct 262016
 

Today I was upgrading Dell PERC 6/i Integrated controller firmware on, rather old to put it mildly, PowerEdge 2950 server running Centos 7. Sadly update was failing with following message when I tried firing dup (dell update package for Red Hat Linux SAS-RAID_Firmware_3P52K_LN_6.3.3-0002_X00.BIN):

Oct 26 13:51:15 mielnet-web-dev03 kernel: sasdupie[11976]: segfault at 20 ip 00007fe7b2f3000d sp 00007ffe7d58bb00 error 4 in sasdupie[7fe7b2f0b000+110000]

What is going on? What’s causing segfault? After fiddling and googling I end up doing this:

chmod +x /tmp/SAS-RAID_Firmware_3P52K_LN_6.3.3-0002_X00.BIN 
/tmp/SAS-RAID_Firmware_3P52K_LN_6.3.3-0002_X00.BIN --extract /tmp/dup_extract_dir
cd /tmp/dup_extract_dir
./sasdupie -i -o inv.xml -debug

and after examining /tmp/dup_extract_dir/debug.log it turned out that sasdupie is segfaulting when trying to use libstorelibir.so.5 – so I figured version on system might be just too new. Lets try using a bit older version of this static object located under /opt/dell/srvadmin/lib64/ – it’s part of srvadmin-storelib RPM package by the way, RPM that can be installed from Dell repo.

cd /opt/dell/srvadmin/lib64
rm libstorelibir.so.5
ln -s libstorelibir-3.so libstorelibir.so.5

Keeping my fingers crossed and touching wood I typed using my nose:

/tmp/SAS-RAID_Firmware_3P52K_LN_6.3.3-0002_X00.BIN

Running validation...

PERC 6/i Integrated Controller 0

The version of this Update Package is newer than the currently installed version.
Software application name: PERC 6/i Integrated Controller 0 Firmware
Package version: 6.3.3-0002
Installed version: 6.0.2-0002

................................................
Device: PERC 6/i Integrated Controller 0
  Application: PERC 6/i Integrated Controller 0 Firmware
  The operation was successful.


Nice. No segfaults. Shout-out to Luiz Angelo Daros de Luca.

  5 Responses to “Dell PERC firmware update Centos 7 – fixing sasdupie segfault”

  1. Thanks! it works for me!

  2. You are my hero.

  3. nice!
    sudo ln -fs libstorelibir-3.so libstorelibir.so.5
    followed by
    sudo ln -fs libstorelibir.so.5.07-0 libstorelibir.so.5
    to return things to sanity after you’ve finished the update.

    Fixed my R310 and openmanage stopped complaining about “firmware version is out of date”

    • Thanks!!!! This tip allowed me to install a required BIOS firmware update on an ancient R410 running recently upgraded to a distro derived from RHEL7. I was getting an “Inventory collection failed.” message and found this thread from:

      https://www.dell.com/community/PowerEdge-HDD-SCSI-RAID/Dell-PERC-6-i-Integrated-Firmware-Update-fails-with-inventory/td-p/4605951

      I would like to point out that in my case there seemed to be two links pointing at the .5 library so I did:

      [root@xxxx lib64]# mv libstorelibir.so libstorelibir.so.save
      [root@xxxx lib64]# mv libstorelibir.so.5 libstorelibir.so.5.save
      [root@xxxx lib64]# ln -s libstorelibir-3.so.16.04-0 libstorelibir.so
      [root@xxxx lib64]# ln -s libstorelibir-3.so.16.04-0 libstorelibir.so.5

      The firmware installed fine after that. I did restore the original links before rebooting to put the firmware in place.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.