Dell PERC firmware update Centos 7 – fixing sasdupie segfault

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.

By devnull

Man of many talents. Server janitor, Chief Googler, Vice President of Pencil Sharpening, Director of Turning Things Off and On Again. Technology Plumber using Linux for stuff like Satellite STB, home CCTV system, kitchen sound bar, workstations, even car onboard computer. And servers, oh yeah - lots of them. I've been a Linux Mercenary for quite a while now, often using information posted by kind strangers on the Internet to solve problems during this journey. This blog is a humble attempt to give something back to the community.

5 thoughts on “Dell PERC firmware update Centos 7 – fixing sasdupie segfault”
  1. 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”

    1. 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.

Comments are closed.