Skip to content

Instantly share code, notes, and snippets.

@dreamcat4
Last active February 6, 2024 17:14
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save dreamcat4/f9e16100d68be759ebaa0c9403a55121 to your computer and use it in GitHub Desktop.
Save dreamcat4/f9e16100d68be759ebaa0c9403a55121 to your computer and use it in GitHub Desktop.
how to flash LSI SAS 2008 hba dell perc h310 to lsi 8112-8i firmware p19 or p20
# ======
# how to flash LSI SAS 2008 hba dell perc h310 raid jbod card
# for uefi motherboards, must boot uefi and use sas2flash.efi
# select uefi in the moot menu --> launches boof.efi. then:
# official UEFI oprom downloads are now only available from the product page of lsi 8210-8i card
# however we found an un official mirror / off site backup of previous files
# https://www.broadcom.com/products/storage/host-bus-adapters/sas-9210-8i#downloads
# the download filename is: UEFI_BSD_P19.zip
# file inside: md5sum x64sas2.rom Signed/x64sas2.rom
# bdb478c449a2c3b68874d28506eb8d7a x64sas2.rom
# 811074a438fe18ebd11cabab584cf91d Signed/x64sas2.rom
# wheras the P19 main firmware for the 8211-8i variant was seperately available at one time
# it's been mirrored / saved to the following driver site url (at least, for the time being)
# https://rebyte.me/en/avago/157482/file-1538939/
# the download filename is: 9211-8i_Package_P19_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip
# file inside: md5sum 4f9e30c2d6d9dd51a13f49fdb782411e 2118it.bin
# we only flash P19 firmware and P19 uefi oprom, because there are
# known issues with the P20, and situations where it returns many SATA io read/write errors!
# quote source: https://www.reddit.com/r/homelab/comments/6e5vjv/troubles_when_flashing_h200_in_r710/
# either stay on p19 or make sure to get the p20 20.0.0.7 version..
# there has been some confusion, because lsi released the p20 firmware,
# but never the p20 driver for it. p20 Versions lower than 20.0.0.7 had some bugs
# to clear off original dell branding, requires megarec.exe, run in a dos environment
# when booting into freedos on a UEFI motherboard, and in CSM compatibility mode
# it is possible that you may be able to run megarec.exe and see the adaptor
# however when trying to perform any actual operation the program crashes with a page fault
# see example screenshot. This occurs with the default freedos boot option 1
# the solution is to instead select the boot option 4 'safe mode' for freedos
# https://www.ixsystems.com/community/threads/page-fault-when-using-megarec-exe-and-freedos-1-1.41129/
# remove dell branding from the controller
megarec.exe -readsbr 0 orig.sbr
megarec.exe -writesbr 0 sbrempty.bin
megarec.exe -cleanflash 0
# hard power off, wait for 5 seconds
# now disable csm mode. and boot into uefi v1 shell for running sas2flash
# for uefi shell, note:
# some motherboards dont come with a uefi shell in the bios
# and furthermore, sas2flash being an older tool only works in an
# older uefi v1 shell. not a v2 uefi shell, details here:
# source: https://superuser.com/a/1057594
# set the display text mode to 240 columns and 56 lines
mode 240 56
# list block / storage devices
map
# switch to fs0: drive
fs0:
# mount drives, list files, cd (change directory), and execute .efi programs
# mount ls cd type etc..
# print the device number (enumerator / identifier for multiple caards)
# and also the current firmware version and bios version, etc.
sas2flash.efi -listall
# print out the card's hba sas address, for device 0
sas2flash.efi -c 0 -list
# save the sas hba address to a text file
sas2flash.efi -c 0 -list -l dell-h310-perc1-old.txt
# clear the flash, set its conents to 0x00
sas2flash.efi -o -e 6
# MUST first downgrade from whatever current firmware to the Dell 6GBPSAS.FW
sas2flash.efi -o -f 6GBPSAS.FW
# otherwise (trying to downgrade or flash directly, you will get an error validating writing to NVRAM)
# see: https://techmattr.wordpress.com/2014/06/13/failed-to-validate-mfg-page-2/
# re write the SAS Address back onto the card
# sas2flash_p19.efi -o -sasadd <SAS_ADDRESS>
# hard power off, wait for 5 seconds. boot back into efi shell
# flash the p7 intermediate IR firmware. this preserves nvram and also switches from IR to IT mode
# this is a necessary step. otherwise the later P19 IT flashing will fail with 'cannot switch from IR to IT firmware'
sas2flash.efi -o -f 2118p7.bin
# hard power off, wait for 5 seconds. boot back into efi shell
# flash up to P19 firmware
sas2flash_p19.efi -o -f 2118it.bin
# display back to the screen the previous saved SAS address from the text file
type dell-h310-perc1-old.txt
# re-add the saved sas address back on
sas2flash_p19.efi -o -sasadd
# flash the x64 efi oprom for P19
sas2flash_p19.efi -o -b x64sas2.rom
# hard power off, wait for 5 seconds. boot back into efi shell
# check that the device is now displaying correct new firmware version
sas2flash.efi -c 0 -list
# how to remove just the bios only
sas2flash.efi -o -e 5
@cade-vs
Copy link

cade-vs commented Feb 6, 2024

Hello!

When flashing with P7, do we use IT or IR LSI firmware? because text is not clear which one:

-----------------------------------------------------cut

flash the p7 intermediate IR firmware. this preserves nvram and also switches from IR to IT mode

this is a necessary step. otherwise the later P19 IT flashing will fail with 'cannot switch from IR to IT firmware'

sas2flash.efi -o -f 2118p7.bin
-----------------------------------------------------cut

should it be "flash the p7 intermediate IT firmware..."?

thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment