{"id":8251,"date":"2022-05-29T12:01:16","date_gmt":"2022-05-29T10:01:16","guid":{"rendered":"https:\/\/tekmart.co.za\/t-blog\/?p=8251"},"modified":"2022-05-30T13:18:55","modified_gmt":"2022-05-30T11:18:55","slug":"how-to-flash-a-hba-host-bus-adapter-to-it-mode-step-by-step-general-guidelines-using-lsi-sas-3008-ibm-m1215-as-an-example","status":"publish","type":"post","link":"https:\/\/tekmart.co.za\/t-blog\/how-to-flash-a-hba-host-bus-adapter-to-it-mode-step-by-step-general-guidelines-using-lsi-sas-3008-ibm-m1215-as-an-example\/","title":{"rendered":"How to flash a HBA (Host Bus Adapter) to IT mode; step-by-step general guidelines using LSI SAS 3008 (IBM M1215) as an example"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<h2 class=\"wp-block-heading\"><strong>This will make an LSI HBA card originally in &#8220;IR&#8221; mode<\/strong> (<strong>full RAID functionality<\/strong>)<strong> run in IT (Initiator Target) mode with the correct firmware revision matched to your FreeNAS software and will make it act as an HBA passthrough so the OS sees the drives.<\/strong><\/h2>\n\n\n\n<p>By Tekmart Africa Enterprise Support Team<\/p>\n\n\n\n<p>(portions of the original post courtesy of Patrick Kennedy)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"465\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-image-1.jpg\" alt=\"\" class=\"wp-image-8252\" title=\"IBM M1215 LSI SAS3008 HBA\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-image-1.jpg 800w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-image-1-300x174.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-image-1-768x446.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p><strong>IBM M1215 LSI SAS3008 HBA<\/strong><\/p>\n\n\n\n<p>If you are looking to get a new host bus adapter (HBA) the <a href=\"https:\/\/tekmart.co.za\/47c8676-ibm-n2215-sas-sata-hba-for-ibm-system-x-high-profile\" data-type=\"URL\" data-id=\"https:\/\/tekmart.co.za\/47c8676-ibm-n2215-sas-sata-hba-for-ibm-system-x-high-profile\">LSI SAS3008<\/a> controller is perhaps the most popular 12gbps SAS controller on the market. It supports features such as the LSI DataBolt which lets you utilize higher bandwidth uplinks with compatible SAS expanders and 6gbps drives. It also features significantly better performance than the SAS2008 and SAS2308 generations when using the HBA with 8x SSDs. Although there are many \u201cRAID\u201d enabled (IR) SAS 3008 controllers out there, oftentimes what you want is a simple HBA. For applications with software managing redundancy such as ZFS, md raid, and Ceph you will want IT firmware.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p> IT firmware essentially&nbsp;allows the controller to present attached disks to the system and stops the hardware controller from getting in the way.<\/p><\/blockquote><\/figure>\n\n\n\n<p>For this guide, we are going to use the IBM\/ Lenovo M1215 adapter. These are popular OEM SAS HBAs that have SAS 3008 controller chips onboard. They are usually flashed to IR mode so they do need to be updated to the latest firmware. Although they are essentially equivalent to the LSI SAS9340-8i and functionally equivalent to the LSI SAS 9300-8i save for different connector orientation, they are much less expensive. We commonly find the IBM M1215 for&nbsp;under $100&nbsp;while the&nbsp;SAS 9340-8i&nbsp;and&nbsp;9300-8i&nbsp;commonly sell for over $260. In systems where you are using three cards per chassis, that is a $450 savings for completing these simple steps that will take under 5 minutes per card. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Warning:<\/strong>&nbsp;Before proceeding, do note that this is a risky process. Issues with firmware flashes can render your card \u201cbricked\u201d and unusable\/ unrecoverable. We will not be held responsible if this happens to your card. By following this guide, you accept all risks of damaging your card.<\/p><\/blockquote>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Getting the Files<\/h2>\n\n\n\n<p>Currently, we are using the Broadcom\/ Avago\/ LSI P13 firmware for our HBAs which is the latest available. Many users prefer P10 firmware due to it being older and better known. You can simply replace P13 with P10 if you want to flash P10 firmware instead. Since LSI was acquired by Avago which merged with Broadcom, the download pages seem to change often. If the download links change, you should look for the SAS 9300-8i downloads. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SAS3_UEFI_BSD_P13<\/li><li>9300_8i_Package_P13_IR_IT_FW_BIOS_for_MSDOS_Windows<\/li><\/ul>\n\n\n\n<p>The key files you want to end up with are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>sas3flsh.efi&nbsp;or&nbsp;sas3flash.efi<\/li><li>SAS9300_8i_IT.bin (you do NOT want to use the IR bin)<\/li><li>mptsas3.rom<\/li><li>mpt3x64.rom<\/li><\/ul>\n\n\n\n<p>Take these three files and copy them to a USB thumb drive. We are going to use an UEFI shell to perform the flash so there is no need to use a DOS boot disk. Place that USB thumb drive in a USB port of the server you will use to flash.<\/p>\n\n\n\n<p>Please note, if you have sas3flsh.efi instead of sas3flash.efi&nbsp;remove the \u201ca\u201d from the following commands. You should also be able to utilize tab autocompletion after \u201csas3f\u201d which will make that difference moot. You can also rename sas3flsh.efi to sas3flash.efi if you want to follow the below exactly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 2: Preparing the Adapter<\/strong><\/h2>\n\n\n\n<p>The first step we need to do is to put a jumper on J6 we want to reset the firmware and ensure we have a successful flash. Here is the jumper you need to connect:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19440\"><img decoding=\"async\" width=\"800\" height=\"493\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-Jumper-On-And-Off-image-2.jpg\" alt=\"\" class=\"wp-image-8253\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-Jumper-On-And-Off-image-2.jpg 800w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-Jumper-On-And-Off-image-2-300x185.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/IBM-M1215-LSI-SAS3008-HBA-Jumper-On-And-Off-image-2-768x473.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><strong>IBM M1215 LSI SAS3008 HBA Jumper On And Off<\/strong><\/figcaption><\/figure>\n\n\n\n<p>One other tip we have is to use your mobile phone or a camera to take a picture of the SAS Address sticker usually located on the rear of the card. We will show another way to get the SAS address but this is useful in the event you forget it later.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19432\"><img decoding=\"async\" width=\"797\" height=\"417\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/Example-LSI-SAS3008-SAS-Address-Sticker-image-3.jpg\" alt=\"\" class=\"wp-image-8254\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/Example-LSI-SAS3008-SAS-Address-Sticker-image-3.jpg 797w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/Example-LSI-SAS3008-SAS-Address-Sticker-image-3-300x157.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/Example-LSI-SAS3008-SAS-Address-Sticker-image-3-768x402.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><figcaption><strong>Example LSI SAS3008 SAS Address Sticker<\/strong><\/figcaption><\/figure>\n\n\n\n<p>After this is in place, take the controller and place it in the motherboard. Although we are going to need to access it again, ensure that it has proper cooling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 3: Booting the Server and Resetting the Adapter<\/strong><\/h2>\n\n\n\n<p>Boot the server you are using to an UEFI shell. Most major manufacturers include this option in their BIOS boot menu.<\/p>\n\n\n\n<p>Once in the UEFI shell you will change to the USB drive (in our case \u201cfs1:\u201d). You will likely want to note the SAS address first.<\/p>\n\n\n\n<p><code><strong>sas3flash.efi&nbsp;-list<\/strong><\/code><\/p>\n\n\n\n<p>That will give you output similar to the following. If it does not, we may suggest using your smartphone or camera again for a quick picture as noted in Step 2.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19439\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"599\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/SAS-3008-Flash-Sas3flash-List-Result-screenshot.png\" alt=\"\" class=\"wp-image-8255\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/SAS-3008-Flash-Sas3flash-List-Result-screenshot.png 798w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/SAS-3008-Flash-Sas3flash-List-Result-screenshot-300x225.png 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/SAS-3008-Flash-Sas3flash-List-Result-screenshot-768x576.png 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/SAS-3008-Flash-Sas3flash-List-Result-screenshot-400x300.png 400w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/><figcaption><strong>SAS 3008 Flash Sas3flash List Result<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Note the SAS Address as we will use it later. If you took a picture of the SAS address sticker, you may not need this.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><strong>sas3flash.efi -f SAS9300_8i_IT.bin -noreset<\/strong><\/code><\/p><\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19437\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"557\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Reset-Adapter-screenshot.jpg\" alt=\"\" class=\"wp-image-8256\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Reset-Adapter-screenshot.jpg 791w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Reset-Adapter-screenshot-300x211.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Reset-Adapter-screenshot-768x541.jpg 768w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><figcaption><strong>UEFI LSI SAS 3008 Reset Adapter<\/strong><\/figcaption><\/figure>\n\n\n\n<p>The process will take a minute or two to complete. When it is done, power down the server.<\/p>\n\n\n\n<p>Now that this is complete, you should remove the J6 jumper installed on Step 2.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 4: Flashing the Controller<\/strong><\/h2>\n\n\n\n<p>Again, boot the server to the UEFI shell. Now you can navigate back to the USB drive. The first command we will use is erasing the flash region on the card. Here is the command you will need.<\/p>\n\n\n\n<p><code>sas3flash.efi -o -e 7<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19433\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"599\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Erase-Current-screenshot.jpg\" alt=\"\" class=\"wp-image-8257\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Erase-Current-screenshot.jpg 800w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Erase-Current-screenshot-300x225.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Erase-Current-screenshot-768x575.jpg 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Erase-Current-screenshot-400x300.jpg 400w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><strong>UEFI LSI SAS 3008 Flash Erase Current<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Now it is time to flash the controller. We are also going to flash the BIOS files in the event we want to boot from the device later.<\/p>\n\n\n\n<p><code>sas3flash.efi -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19438\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"577\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Firmware-screenshot.jpg\" alt=\"\" class=\"wp-image-8258\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Firmware-screenshot.jpg 789w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Firmware-screenshot-300x219.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Flash-Firmware-screenshot-768x562.jpg 768w\" sizes=\"(max-width: 789px) 100vw, 789px\" \/><figcaption><strong>UEFI LSI SAS 3008 Flash Firmware<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Finally, you will likely want to add the SAS address back to the controller. If you were to do sas3flash.efi -list now you would see the SAS address represented as all zeros. To do this we use the SAS address from&nbsp;the photo in Step 2 or using the old -list output in Step 3. Replace the address string without dashes or spaces:<\/p>\n\n\n\n<p><code><strong>sas3flash.efi -o -sasadd 50060XXXXXXXXXXXX<\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19436\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"386\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Sasadd-screenshot.jpg\" alt=\"\" class=\"wp-image-8259\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Sasadd-screenshot.jpg 798w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Sasadd-screenshot-300x145.jpg 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/UEFI-LSI-SAS-3008-Sasadd-screenshot-768x371.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/><figcaption><strong>UEFI LSI SAS 3008 Sasadd<\/strong><\/figcaption><\/figure>\n\n\n\n<p>After this is complete, you can do sas3flash.efi -list and see the card is reported as a SAS 9300-8i with the proper address. Congratulations, you are ready to go after a reboot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"attachment_19430\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"328\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/LSI-SAS-3008-IT-Mode-Success-screenshot.jpg\" alt=\"\" class=\"wp-image-8260\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/LSI-SAS-3008-IT-Mode-Success-screenshot.jpg 724w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2022\/05\/LSI-SAS-3008-IT-Mode-Success-screenshot-300x136.jpg 300w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><figcaption><strong>LSI SAS 3008 IT Mode&nbsp;Success!<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>..in a nutshell then<\/strong><\/h2>\n\n\n\n<p>You are done!<\/p>\n\n\n\n<p>Now that the controller is ready to go, it is suitable to be used for ZFS storage platforms such as FreeNAS, ZFS on Linux, napp-it plus OmniOS or others. This is also the preferred mode if you are using scale-out storage systems such as Ceph. <\/p>\n\n\n\n<p>Overall, this is a great way to save money on HBAs which can get quite expensive across many nodes and in large single nodes. With the current pricing of SAS3 HBAs we are starting to recommend them over their SAS2 counterparts. They are better able to handle the IOPS of several SSDs and provide more host bandwidth as well as more bandwidth to attached drives and drives located on expanders.<\/p>\n\n\n\n<p>We will note that depending on your distribution, you may want to start with P10 firmware. It is much easier to upgrade firmware than it is to downgrade firmware. Check with the distribution of your choice and find the recommended LSI firmware version.<\/p>\n\n\n\n<p>Our current pick of the IBM M1215 in this guide&nbsp;is based on the fact that they are readily available, inexpensive, basically identical to the 9340-8i and are straightforward to flash. There are some other options out there but this is a good bet given those factors. If you have a more generic card such as a LSI brand 9300-8i or 9340-8i in IR mode you can skip steps 2 and 3.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>This will make an LSI HBA card originally in &#8220;IR&#8221; mode (full RAID functionality) run in IT (Initiator Target) mode with the correct firmware revision matched to your FreeNAS software and will make it act as an HBA passthrough so the OS sees the drives. By Tekmart Africa Enterprise Support Team (portions of the original post courtesy of Patrick Kennedy)<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/tekmart.co.za\/t-blog\/how-to-flash-a-hba-host-bus-adapter-to-it-mode-step-by-step-general-guidelines-using-lsi-sas-3008-ibm-m1215-as-an-example\/\">Read More<\/a><\/p>\n","protected":false},"author":115,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,221,8,185,247,146,4,30,3,338,12,84,34],"tags":[],"class_list":["post-8251","post","type-post","status-publish","format-standard","hentry","category-best-practices-for-data-center-operations","category-computer-storage-hardware","category-data-center-hardware","category-data-center-hardware-terminology","category-data-centre-hardware-equipment-technical-resources","category-data-storage-hardware","category-datacenter-news","category-expert-advise-and-opinion","category-industry-news-and-expert-advise","category-tech-partners-curated-content","category-tekmart-enterprise-hardware-tips","category-trends-datacenter-hardware-and-solutions","category-why-explanations-on-data-center-hardware"],"_links":{"self":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/8251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/comments?post=8251"}],"version-history":[{"count":5,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/8251\/revisions"}],"predecessor-version":[{"id":8274,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/8251\/revisions\/8274"}],"wp:attachment":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/media?parent=8251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/categories?post=8251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/tags?post=8251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}