Flash Dell Perc H310 mit LSI 9211-8i IT Mode

In diesem Artikel beschreibe ich wie der Host-Bus-Adapter (HBA) Dell Perc H310, auf die IT Firmware geflasht werden kann.

Der H310 ist Baugleich mit dem IBM M1015 bzw. IBM M1115 oder gar dem Dell Perc H320. Es gibt technisch keine Unterschiede, da auf allen der LSI 9211-8i Chip werkelt. Nur die Form und Ausrichtung der Anschlüsse für die 2xSAS Ports variiert. Ich habe den Perc H310 gewählt, weil er anders als die Raidkarten von IBM die Anschlüsse, wie der Original LSI 9211-8i, nach hinten raus und nicht vorne am Blech nach oben raus, hat.

Eigenschaften H310

  • unterstützte Raid  Modes: 0, 1, 5, 10, 50
  • Interface: PCIe 2.0 x8
  • Anschlüsse: 2x SFF-8087 mini SAS
  • Chipsatz: LSI 2008 mit 6, 3, 1,5 Gb/s Transferrate
  • CPU mit 533MHz und Powermanagement, T-10 Data Protection, PCie Hotplug, bis zu 3.000 verbundene Devices
  • Leistung bis zu 290.000 IOPS

IR Firmware versus IT Firmware

Wenn der HBA ausgeliefert wird, dann ist meistens die IR Firmware oder eine integrierte Raid Firmware installiert. Diese erlaubt den Einsatz des Raidcontrollers mit seinen Modies wie Raid0, Raid1, Raid5, Raid6, Raid10 oder z.B. Raid50.

Anders funktioniert die IT-Firmware (Initiator Target). Sie fungiert als reiner Controller im Passthrough Mode. Es ist kein extra Raidlayer vorhanden. LSI bezeichnet diese Firmware wie folgt: “IT firmware maximiert die Verbindungsfähigkeit und Performance Aspekte eines HBAs”. Und genau das ist der Grund warum diese Karten im IT-Mode geflasht werden. Es soll MDADM, ZFS oder andere Arten von Softwareraid verwendet werden. Die Steuerung des Raids übernimmt somit die Software des Betriebssystems und nicht die der Karte.

Was wird benötigt um die Dell Perc H310 mit der IT-Firmware zu flashen:

  • H310 Karte
  • Window oder Linux Betriebsystem mit einem PCIe x8 oder x16 Slot
  • bootbarer USB-Stick
  • ca. 30 Minuten Zeit

USB Stick mit dem Tool Rufus erstellen

Rufus USB Dos erstellen

Rufus USB Dos erstellen

Wie in dem Screen zu sehen, wird mittels Rufus (Link zur Webseite) ein bootbarer USB Stick mit einer Dos-Umgebung erstellt. Danach werden die benötigten Dateien wie Firmware, Bios, und Flashtools kopiert: h310-flash-lsi9211-p19-itmode.zip folgende Datei entpacken und in ein Verzeichnis auf den USB-Stick kopieren:

Wer ein UEFI Mainboard nutzt muss oben in der zip ggf. die Datei bootx64.efi (Precompiled x86_64 UEFI Shell v1 Binary) hinzufügen. Download über: http://www.mediafire.com/download/lxjy0vem4x668f6/bootx64.efi

Flash Perc H310 zu 9211-8i IT Firmware mit P19

Nachfolgende Schritte beziehen sich auf ein Mainboard ohne UEFI, sodass hier ausschließlich über DOS gearbeitet wird.

Dell Perc H310

Dell Perc H310

1. Adapter Informationen abspeichern, inklusive der SAS-Adresse -> 1.bat ausführen

MegaCli.exe -AdpAllInfo -aAll -ApplogFile h310info.txt

2. aktuelle Controller SBR abspeichern -> 2.bat ausführen

MegaRec.exe -readsbr 0 original.sbr

2.1. Controller SBR löschen -> 3.bat ausführen

MegaRec -writesbr 0 empty.bin

3. Controller BIOS löschen -> wird in 3.bat auch ausgeführt

MegaRec -cleanflash 0

4. Rechner neustarten, Bios der Karte wird nicht angezeigt

– guter Zeitpunkt die SAS-Adresse von 1. auszulesen und in5_LSI_P16\6.bat einzutragen (Step8)

5. original Dell IT-Firmware installieren 5_DELL_IT\5IT.bat ausführen

sas2flsh.exe -l Flashlog.txt -o -f 6gbpsas.fw

5.1 falls das Bios auch neu installiert werden muss, 5IT.bat so anpassen

sas2flsh.exe -l Flashlog.txt -o -f 6gbpsas.fw -b MPTSAS2.ROM

6. LSI P7 IT-Firmware installieren 5_LSI_p7\5IT.bat ausführen

sas2flsh.exe -l Flashlog.txt -o -f 2118it.bin

6.1 falls das Bios auch neu installiert werden soll, 5IT.bat so anpassen

sas2flsh.exe -l Flashlog.txt -o -f 2118it.bin -b MPTSAS2.ROM

7. LSI P19 IT-Firmware installieren 5_LSI_P19\5IT.bat ausführen

sas2flsh.exe -l Flashlog.txt -o -f 2118it.bin

7.1 falls das Bios auch neu installiert werden soll, 5IT.bat ausführen

sas2flsh.exe -l Flashlog.txt -o -f 2118it.bin -b MPTSAS2.ROM

8. die SAS-Adresse setzen, 5_LSI_P16\6.bat oder dies ausführen

sas2flsh -o -sasadd DeineAdresse z.B. (500605b001f31fa0)

9. Fertig – System neustarten und freuen

So hat es bei meiner Perc H310 funktioniert, wobei die Schritte und Dateien von Fireball3 stammen und ich dies hier ins Deutsche übersetzt habe.

Flash Perc H310 zu 9211-8i IT Firmware UEFI

Wenn du bei obigen Schritten auf diesen Fehler stößt: "ERROR: Failed to initialize PAL. Exiting program.", dann sind nachfolgend Schritte für das flashen mit einem UEFI Mainboard durchzuführen:

  • folgendes im DOS eingaben:
    •  SAS Adresse schreiben
      • megacli.exe -AdpAllInfo -aAll -page 20
    • wenn nachfolgender Schritt fehlschlägt, dann auslassen:
      • megarec.exe -writesbr 0 sbrempty.bin
    • und diesen Befehl ausführen:
      • megarec.exe -cleanflash 0
  • Neustarten und die UEFI Shell im BIOS aufrufen
    • in der UEFI Shell nun folgendes eingeben:
      • sas2flash.efi -o -f 6GBPSAS.FW
      • sas2flash.efi -o -f 2118it.bin
      • oder: sas2flash.efi -o -f 2118p7.bin,
    • nun Reboot / Neustarten und dies in der UEFI Shell eingeben:
      • sas2flash_p19.efi -o -f 2118it.bin
    • abschließend noch die SAS Adresse schreiben:
    • sas2flash_p19.efi -o -sasadd 500xxxxxxxxxxxxx

Anmerkung: Auch wenn die Firmware P20 verfügbar ist, so wird häufig von Problemen mit der Stabilität (NCQ Problem, Data Corruption) und Performance berichtet. Daher ist die Empfehlung P19 einzusetzen. Selbst der Support von LSI hat mir am Tel. dies bestätigt.

Update: Inzwischen wurde die LSI Version 20.00.04.00 (Mai 2015) veröffentlicht.
Update: Vereinzelt wurden Performanceprobleme mit dem 20.00.04.00 berichtet.

32 thoughts on “Flash Dell Perc H310 mit LSI 9211-8i IT Mode

  1. Giesbert

    Hallo Jarvis,

    am Ende ist alles Gut! Obwohl die Fehlermeldung blieb…ich weder die SAS S/N aufschrieb oder nach dem Flash irgendwo eingab…habe ich heute Mittag das Ganze einfach durchgezogen. Dann die Backplane in den Rackserver reingesetzt…angeschlossen und in XigmaNAS die Festplatten importiert. Und siehe da….alle wurden KORREKT angezeigt.

    Manchmal gibt es Dinge zwischen “Himmel und Erde” die versteht man nicht….LOL

    Dir vielen Dank für Deine Tipps und Empathie!
    Giesbert

    Reply
    1. JARVIS Post author

      Hi Giesbert,
      super das es nun doch geklappt hat. Das freut mich wirklich. Ich habe 3TB HDDs angeschlossen, wie groß sind deine? Ich frage, weil ich ggf. 6TB anschließen will, aber noch nicht nachgelesen hatte, ob die unterstützt werden.

      Reply
      1. Giesbert

        Ich habe in einem 2HE Rack ebenfalls 4 x 3TB laufen…und m.W.n. wird das ohne Probleme unterstützt. Nutzt Du ZFS?

        Reply
        1. JARVIS Post author

          Hi, ich habe den Controller in einem Server mit 14HDDs und verwende XFS. ZFS war mir zu “kostspielig” was die Notwendigkeit von ausreichend RAM und der zusätzlichen Integration von SSD für den Cache angeht.

          Reply
  2. Giesbert

    ich war sogar etwas weiter gekommen…habe FreeDos 1.2 herunter geladen…und die Full installiert. Vom Stickt gebootet hatte ich nur noch die Fehlermeldung, dass die Maus Probleme macht. Den Fehler habe ich nicht weg bekommen. Eine Installation auf einer HD vom gebooteten Stick klappte nicht.

    Jetzt versuche ich es gerade mit der Liste und den “älteren Bios” in Rufus.

    Wenn das nicht klappt erstelle ich morgen eine CD…und gehe nach der “alten” Methode vor…

    Gebe nicht auf…!

    Reply
  3. Giesbert

    @Jarvis,

    noch einmal lieben Dank für Deine Antwort. Ich habe einmal nachgesehen, was die Fehlermeldung “DOS/32A warning (9001)” bezüglich des erweiterten Speichers (Free/Dos-Bootstick) besagt:
    DOS/32 Advanced could not allocate any extended memory. Note that when an external DPMI host and a VCPI server are present at the same time, and DOS/32 Advanced is configured to detect VCPI first, no extended memory can be available due to the fact that the DPMI host might have already allocated it all. Another possibility is that a DOS/32 Advanced application was spawned from a software incompatible with DOS/32 Advanced in the matter of extended memory allocation. Finally, DOS/32 Advanced might have been configured to not allocate any extended memory at all. Reconfigure DOS/32 Advanced. Make sure that the software, from which the application was spawned is DOS/32 Advanced compatible. Replace memory manager.
    DOS/32 kann also keinen Erweiterungsspeicher zuordnen. So weit – so “gut”. Was bedeutet “DOS/32 Advanced compatible” und “ersetzen Sie den Speichermanager”?

    Dann folgt ja die Warnung “DOS/32A fatal”:
    There is not enough extended (High) memory to load your application. Rebuild your program so that it occupies less memory, free some of extended memory or reconfigure DOS/32 Advanced.
    Wie sollte ich ein Programm neu erstellen, dass weniger Speicher in Anspruch nimmt? Oder welchen frei geben?

    Ich glaube, das ist das einzige Problem mit dem “Memory”. Denn sonst wird alles gemacht. Und die LED der Karte blinkt nach einigen Schritten auch wieder. Einzig die dumme SAS NO kann ich wegen dem Fehler nicht auslesen:-(

    Reply
    1. JARVIS Post author

      Das mit dem zu geringem Speicher ist aus DOS-Zeiten, passt also zum dem flashen mit dem DOS-Tools. Früher wurde das in der config.sys konfiguriert, wobei die himem.sys existieren muss. Das wundert mich aber, da ja alles mit den Tools von hier funktinoieren sollte. Eben mal in die aktuelle Version geschaut, dort gibt es unter Erweitert eine Option für ältere BIOS Versionen, probier das mal. Ansonsten ein anderes Tool suchen und ausprobieren.

      Reply
  4. Giesbert

    Hallo,
    Danke erstmal für das Tutorial!!

    Frage: beim Versuch die SAS Adresse auszulesen, bekomme ich ständig die Fehlermeldung:
    Not enough extendend Memory to load Application exec c:\h310\“megacli.exe“

    Ich hatte trotzdem die steps erfolgreich weitergeführt und dann fehlte mir die Adresse:-(
    Immer wieder kommt diese Meldung!
    Was könnte ich tun?
    Hoffentlich klappt es mit dem flashen…blinken tut der Controller derzeit nicht…

    Danke für die Antwort

    Reply
    1. JARVIS Post author

      Hi Giesbert,
      ich selber hatte den Fehler nicht. Im Netz konnte ich diese Fehler finden:
      DOS/32A waring (9004): mouse initialization failed
      DOS/32A waring (9001): no extended memory has been allocated
      DOS/32A fatal (4003): not enough extended memory to load application exec “C:\MEGACLI.EXE”
      Die Lösung war http://www.freedos.org/ zu verwenden, ansonsten soll Rufus mit erstelltem DOS Medium helfen. Ist dir hier evtl. ein Fehler unterlaufen?

      Reply
      1. Giesbert

        Hi…Danke für die Antwort:-)

        Ich habe mich augenscheinlich an das Tutorial gehalten und den Boot-Stick (FreeDos) erstellt. Es kam zwar such die Fehlermeldung mit „der Maus“…aber wohl schwerwiegender war der mit dem „ extendend Memory“

        Ich hoffe, dass das bios noch mal beschrieben werden kann. Zur Zeit zeigt er keinerlei Reaktion.
        Die entscheidende Frage ist: wie komme ich an die SAS Nummer? Wenn die noch vorhanden ist?!

        Reply
        1. JARVIS Post author

          Hi,
          im besten Fall steht die SAS Adresse / Nummer auf einem Aufkleber auf deiner Karte. Ansonsten was gibt der Befehl megacli -AdpAllInfo -aAll -page 20 zum auslesen der Adresse aus?

          Reply
          1. Giesber

            Das gemeine daran ist, dass ich auf den Befehl “megacli -AdpAllInfo -aAll -page 20 ” ja auch genau diese Meldung bekomme. Meine Sorge ist jetzt ein wenig, dass die alte S/N nicht mehr vorhanden ist (weil ich ja weiter gemacht hatte). Andererseits habe ich keine neue eingegeben!

            Die Karte gibt keinerlei Reaktionen mehr von sich. Ich denke mir, dass sie vielleicht ein neues Bios benötigt. Ich habe mir eine weitere Karte bestellt. Sind schlimmstenfalls 45€ weg!!

            Könntest Du mir für das wiederholte flashen einen Tipp geben? Könnte ich den Inhalt des Bootsticks hier als Attachment aufzeigen?

          2. JARVIS Post author

            Hi Giesber,
            ich denke die Karte ist noch nicht verloren. Mein Problem ist, dass ich es ca. 4x nach meiner Anleitung ohne Probleme mit einem normalen BIOS durchgeführt habe. Aktuell habe ich keine Karte oder System zum testen dar. Ich erinnere mich aber auch, dass ich am Anfang Probleme mit einigen Mainboards hatte, dann aber ein anderes probierte dass dann nach dieser Anleitung lief. Auch hatte ich einen Aufkleber mit der SAS-Adresse. Ansonsten einfach die Schritte BIOS oder UEFI nochmal genau durchführen.

  5. John

    Servus miteinander!

    Ich bin derzeit im Flashvorgang der Dell Perc H310 mit LSI 9211-8i zum IT Mode.

    Folgende Anleitung wurde mir bereits empfohlen:
    https://www.taste-of-it.de/flash-del…11-8i-it-mode/

    Nun bin ich bei Schritt 5 gelandet:

    “5. original Dell IT-Firmware installieren 5_DELL_IT\5IT.bat ausführen

    – sas2flsh.exe -l Flashlog.txt -o -f 6gbpsas.fw”

    Beim Eingeben dieses Befehls bekomme ich nur Bad command or filename – “sas2flsh.exe”. angezeigt.

    Was mache ich falsch?

    Vielen Dank schon Mal für eure Hilfe!

    Reply
    1. JARVIS Post author

      Hi John,
      ich habe das zuletzt vor 2 Jahren nach diesen Schritten erfolgreich gemacht, ist also schon etwas her. Die Fehlermeldung würde mich aber auf das stoßen was da steht, also fehler bei der Eingabe. Lass doch mal -l Flashlog.txt weg bzw. taste dich an den Befehl ran.

      Reply
      1. John

        Ich kann den Befehl von Schritt 5 nun ausführen, nur erscheint am Ende “ERROR: Failed to intialize PAL. Exiting Program.”

        Reply
        1. JARVIS Post author

          Hi John,
          ok, das ist ok. Der Fehler sagt mir aber nichts. Gib ihn mal in eine Suchmaschine deiner Wahl und klick dich da durch, mein Latein ist hier am Ende – viel Erfolg.

          Reply
          1. JARVIS Post author

            Hallo AVeek,
            und danke für die Info. Meine Anleitung bezieht sich auf ein älteres Board ohne UEFI, daher funktionieren die hier beschriebenen Schritte nur bedingt. Für ein UEFI BIOS muss man zum Teil anders vorgehen – Update

  6. ARW

    Vielen Dank für die perfekte Vorlage – das Flashen lief wunderbar.
    Nur nicht der anschließende Betrieb in dem dafür gedachten PC. Sobald die Karte eingesteckt wurde, ließ sich der PC nicht mehr booten – er kam nicht einmal bis zum BIOS.
    Die Lösung war das einseitige Abkleben von Kontakt 5 und 6 der PCI-E Schnittstelle.
    http://yannickdekoeijer.blogspot.de/2012/04/modding-dell-perc-6-sas-raidcontroller.html
    https://techmattr.wordpress.com/2016/04/11/updated-sas-hba-crossflashing-or-flashing-to-it-mode-dell-perc-h200-and-h310/
    Das Problem tritt angeblich primär bei Motherboards auf, die eine Grafikkarte in besagtem PCI-E Slot erwarten. In meinem Fall handelt es sich um ein Gigabyte B85M-HD3.
    Mit abgeklebten Kontakten läuft alles reibungslos.

    Reply
    1. JARVIS Post author

      Hi,
      super das es geklappt hat. Ja die PINs abkleben ist der einzige Weg für genannte Mainboards. Danke für die zztl. Info.

      Reply
  7. Tobias

    Hi,

    Ich bin neu in dem Thema und wollte/muss auch einen Dell H310 In den IT Modus bringen. Ich habe allerdings noch ein par fragen bevor ich was kaputt mache:

    Wenn ich den Stick mit den FreeDos erstellt habe packe ich einfach irgendwo den Ordner aus dem Download drauf, richtig? Dann kann ich von den USB Stick aus booten und anfangen die Befehle einzu geben?

    Dann verstehe ich nicht gennau wie ich das mit dem eintragen der Adresse mache nach dem Rebooten.
    Könntest dubmir da vielleich noch mal helfen?

    Reply
    1. JARVIS Post author

      Hallo Tobias,
      ja genau den USB-Stick wie beschrieben erstellen und dann die Punkte entsprechend abarbeiten. Uu welchem Punkt der Anleitung genau hast du eine Frage?

      Reply
    1. JARVIS Post author

      Hallo Ralf,
      ja das sollte, in umgekehrter Reihenfolge, funktionieren. Habe ich selber noch nicht gemacht. Eine Anleitung habe ich eben gepostet.

      Reply
  8. Jan

    Super Anleitung, lief in eins durch!

    Allerdings werden bei mir 0 Geräte erkannt, obwohl ich 3 WD RED (jeweils mit 3TB) angeschlossen habe. Kann das an der Firmware liegen?

    Reply
    1. SkyNet Post author

      Hi Jan,
      danke für dein Lob. Bei mir war das letzte flashen allerdings schon ein paar Jahre her, jedoch auch mit 3TB Festplatten. Wenn dein Controller diese gar nicht erkennt ist es schon merkwürdig. Soweit ich mich erinnere, hätte er sie zumindest als 800MB oder 2,xTB Platten erkennen müssen.

      Reply
      1. Jan

        Jetzt läuft es, die WD RED Festplatten werden erkannt 🙂
        Was nicht funktioniert, ist das Booten eines auf den am H310 angeschlossenen Festplatten installiertem Systems (FreeBSD und Ubuntu). Ist das generell nicht möglich?

        Reply
        1. JARVIS Post author

          Hi Jan,
          das ist toll. Der OS-Boot von den Festplatten muss auch funktionieren. Schau mal im BIOS nach der Bootreihenfolge, falls nicht schon gemacht. Wurde der Bootloader (GRUB etc.) korrekt auf der HDD von der du booten möchtest, installiert?

          Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.