Method to fix the disks detection issues through LSI SAS HBAs

Vishnu Itta
CloudByte
Published in
2 min readMar 10, 2017

Recently, we faced an interesting issue. SAS HBAs that are verified in our lab and shipped started to fail at customer place. Devices and enclosures connected to HBA are not detected.

HBA: LSI 9305–16e SAS card

BIOS: 08.27.00.00

FW Version: 09.00.100.00

Driver: 13.0.00.00-fbsd

CloudByte ElastiStor All Flash Appliance ESA-100 connected to external enclosures through LSI 9305–16e HBA

As an immediate remedy, we upgraded firmware version on the SAS HBA, and the driver version in our ElastiStor OS (based on FreeBSD).

But, this hadn’t helped us in solving the issue.

Enabling logs in the driver code to log SAS events shows that there looks to be issue with “Driver Persistent Mapping (DPM)” table on the SAS controller.

Below is the command to read DPM table on the SAS card:

mprutil show cfgpage 23 0 8388608

This showed — there is conflict in DeviceIndex among 12th and 13th entries.

00f8 01 ea 73 7f |..s.|

00fc 50 0a 0d 10 |P…|

0100 01 3d 00 b0 |.=..|

0104 00 00 0f 00 |….|

0108 00 00 00 00 |….|

010c 01 ea 63 ff |..c.|

0110 50 0a 0d 10 |P…|

0114 01 3d 00 b0 |.=..|

0118 00 00 f0 00 |….|

011c 00 00 00 00 |….|

Numbers 0x13d in bold is the starting index of Devices. It happened to be same for two different Physical Identifiers.

Similarly, for few other entries also, this conflict happened.

Also, PhyBits of few enclosures obtained in SasEnclDeviceStatusChange event are not matching with data in DPM table.

We came out of this situation in two ways.

Approach 1: Clearing the DPM on the SAS card.

‘sas3flash -o -e 3’ from an EFI shell

Approach 2: Flashed firmware that disables DPM by default

--

--