# Flashing H310/H710 RAID Controllers to LSI IT Mode

## Background

I recently purchased a Dell Poweredge server with a H310 RAID controller. One of the purposes of the new server is to run TrueNAS Scale as a VM inside Proxmox. To get the best performance out of TrueNAS and ZFS, the H310 needs to be flashed to LSI IT mode so ZFS can have direct access to the drives. IT mode also improves the disk drive IOPS (Input/output operations per second) performance.

## What is LSI IT Mode?

IT (Initiator Target) mode essentially disables the hardware RAID capabilities of the controller, allowing the operating system to see and interact with each disk drive directly.

## Disclaimer

This process will overwrite the firmware on the RAID controller. If not done correctly, the process can damage and brick the RAID controller.

## Things You Will Need

- A USB flash drive, at least 4 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9
- One of the following hardware RAID controllers
  - H310 Mini Mono (⇦ used in this tutorial)
  - H310 Full Size
  - H710 Mini Mono
  - H710P Mini Mono
  - H710 Full Size
  - H710P Full Size
  - H810 Full Size

## Before You Begin

1. Remove the battery from the RAID controller
2. Disable the following technologies in the BIOS
   - Virtualization
   - SR-IOV
   - IOMMU
3. Set the Boot Mode to BIOS/Legacy (not UEFI)

## Preparing the Flash Utilities

Huge thanks to fohdeesha.com for compiling the software and steps to complete the flashing process into an easy to follow procedure.

1. Download the PERC flashing utilities Download
2. Download the Ventoy installer Download
3. Extract the downloaded perc-crossflash .zip file
4. Extract the downloaded Ventoy .zip file
5. Run Ventoy2Disk.exe
6. Plug in a USB flash drive at least 4 GB in size
7. Click the refresh icon
8. Select the flash drive from the device dropdown
9. Click the Install button
10. After the installation completes, copy the Linux and FreeDOS .iso files from the extracted perc-crossflash folder to the Ventoy partition
11. Safely remove the USB flash drive
12. Plug the flash drive into the target server

## Collecting RAID Controller Information

1. Power on the server hardware > Boot to the flash drive
2. Select the FreeDOS .iso from the Ventoy menu
3. Once FreeDOS has booted, run the following command
   info
4. Take a photo of and/or carefully write down the SAS address from the output
5. Compare the output Product Name and ChipRevision (H310 Mini in this example) to the listing on https://fohdeesha.com/docs/perc.html#finding-your-card-revision; If there isn't an EXACT MATCH stop
6. Shutdown or reboot the server

## Flashing to IT Mode

The steps below are specific to the H310 Mini RAID controller in my device (https://fohdeesha.com/docs/H310.html). Make sure to follow the steps for your target RAID controller model.

1. Power on the server hardware > Boot to the flash drive
2. Select the Linux .iso from the Ventoy menu
3. Log into Linux using the username user and password live
4. If you plan to SSH into the device, run the following command to output the IP address and connect via SSH
   ipinfo
5. Continue with the following commands in Linux on the target server device
   # elevate to root shell
   sudo su -
   # output the SAS address
   # take a photo of and/or carefully write down the SAS address from the output
   # it will be required after the flashing process
   sas-mega
   # flash the raid controller firmware
   H310-Mini
   # once the flash completes without errors, reboot the server
   reboot now
6. Boot to the flash drive
7. Select the Linux .iso from the Ventoy menu

   NOTE: If you see kernel panic errors during startup, shutdown the server hardware and power it back on and boot back into Linux from Ventoy

8. Log back into Linux using the username user and password live
9. Continue with the following commands
   # elevate to root shell
   sudo su -
   # set the sas address
   setsas <%sas address from output earlier%>
   # output info about the new state of the controller
   info
10. If you'll be booting from drives attached to the RAID controller, continue with the following steps to flash the boot ROM images
    # flash bios/legacy boot rom
    flashboot /root/Bootloaders/mptsas2.rom
    # flash uefi boot rom
    flashboot /root/Bootloaders/x64sas2.rom
    # shutdown the system
    shutdown now
11. Re-enable any BIOS settings that were changed prior to completing the flashing process

Source: https://fohdeesha.com/docs/perc.html