Schmorp's POD Blog a.k.a. THE RANT
a.k.a. the blog that cannot decide on a name

This document was first published 2018-01-24 14:50:32, and last modified 2018-10-20 00:46:29.

PERC H700 and HP 468406-B21/487738-001 SAS Expander

Unrecoverable Error

This is just a micro-article because I didn't find this info anywhere on the web, so hopefully google picks this up for one or two other people scratching their head.

I just plugged in my HP 24 port SAS expander into one of my Dell PERC H700 controllers, and instead of the BIOS screen, I (roughly) got the message "Unrecoverable Error!!! Please check the SDRAM connection" and it didn't work. Very scary - unplugging the expander made it work again.

When plugging it in after booting Debian, I got this kernel message:

External Enclosure Pd 20 violation detected in Direct PD Mapping mode

Since googling this message didn't help much, I had to use my own mental resources to solve this problem (usually thats futile), but after staring at the message, and remembering a passage from the manual, I got an idea and disabling direct PD mapping in the controller, because you shouldn't have it enabled when using enclosures:

perccli /c0 set directpdmapping=off

After rebooting the controller booted normally and started to detect disks behind the expander.

Flashing the Expander Firmware via the RAID controller

I found that at least under Linux 4.18, the H700 exposes the sas expander directly. lsscsi -g does then display the sg device number:

[6:0:20:0]   enclosu HP       HP SAS EXP Card  2.08  -          /dev/sg0

Flashing seems to work fine as well:

# sg_write_buffer --mode=dmc_offs_defer --bpw=4096,act --in=PUF21000.bin /dev/sg0
[wait for card reboot]
sg0 changed: si6 Channel: 00 Id: 20 Lun: 00
from:scsi6 Channel: 00 Id: 20 Lun: 00EXP Card  Rev: 2.08
to:   Vendor: HP       Model: HP SAS EXP Card  Rev: 2.10


2018-10-20: added flashing instructions