Win11 and Updating the Marvell 92xx Firmware

I am looking for a method to update the firmware on my two Marvell 92xx controllers. Both of the controllers have outdated firmware. The one controller has 6 ports on it but only 4 show up, even though I am using all six ports. The other has 4 ports and I am using three of them. I have searched all day looking for a way to update the firmware but have not found a method that will work from Windows 11. I don’t have a MS DOS boot disk available.

Marvell 9215 Adapter.png



Marvell 9230 Adapter.png



Any help would be GREATLY appreciated!
John Hagen

AHCI & RAID ROM Modules

Hi @JohnHagen I have uploaded Marvell 92xx Firmware and tool in this thread over at Station Drivers.

The only methods you can use are MSDOS bootable USB stick via Go.bat and mvf_mag.exe or UEFI Shell via go.nsh and ui64.efi and mvf.efi (all files are included in the archive in the thread).

Thanks for the quick response. This is what I have done.

1. I have an MSI B450 Tomahawk MAX 2 motherboard.
2. I have a Marvell 9250 and a 9215 installed.
3. I am able to access the UEFI shell.
4. I placed the zip file contents on a USB2 32GB thumbdrive. All files are in original unzipped folders.
5. In UEFI shell, FS3: to access the thumbdrive
6. CD 9230_tools
7. Type GO
8. uefi_64.efi loaded at B2C10000 - Success
9. Syntax after analyzing exist(s)
10. Script Error Status: Aborted (line number 10)

So, I am now at a loss as to why the error.

Do I need to remove one of the controller cards and try again?

How do I make a backup of the existing firmware first?

Thanks a lot for all your help!

John

Backups ITS ALWAYS the 1sr thing to do… its a MUST and still get surprised that this question is still made by users.
Motherboard model its useless here… you making this operations on "Unspecified add-on cards" that can be supported or not, and this is not an operation to do with multiple cards on the system.
The 9250 (but i only see in your photos 9230/9215) may not be supported here, wait for chinobino to give his opinion.

I agree with making the backups. Wasn’t asking if I should, wanted to know HOW to make it happen :slight_smile:

Have been writing code for 30+ years and learned very early on the need for backups.

Thanks for the input!
John

@JohnHagen I believe that error is caused by the specific UEFI shell you are using. Try using this shell.efi. Make sure you use the A1 image for the 9230.

[Edit] Incorrect UEFI shell was posted above - the correct one is here.

Can you explain how to use the shell.efi you suggest? I am ignorant in this area.

I entered the UEFI section of my main board and went to the built in uefi shell. I selected the USB thumbdrive using FS3: and typeed shell.efi to execute the one you suggest. Didn’t do amnything but make my screen look like I did a map -r.

I listed the files. Everything is there. I then changed to the 9230_tools folder and typed GO, I get the same results as before with an error in line 10.

I have also tried removing one of my 92xx cards to see if it would help. No joy.

How do I execute the shell.efi you suggested I use? Is there a way to send me an image of an MS-DOS bootable disk with the files already on it?

This is frustrating.

Thanks again for the help.

John

@JohnHagen Sorry for my late reply.

The UEFI shell I linked does not work with go.nsh nor the Marvell Magni UEFI Configuration Utility (my apologies) but I have found the link to a much older one that does here.

I tested the shell I linked after you mentioned the Syntax issue the second time and confirmed the same problem with the command ‘set’ not allowing the deletion of the strings for the environment variables.

The syntax in the script is set <variable> -d which has since been changed to set -d <variable> .

Rather than edit the script to fix all of the syntax issues (and yes there are more) I decided it is easier to link an older UEFI shell from 2012 that simply works.

An MS-DOS bootable USB stick can be created with Windows XP, Windows Vista, Windows 7 and Windows 8 in a Virtual Machine that has access to your Hosts USB ports (such as VMWare and VirtualBox) using Rufus.

Sorry again for any frustration caused.

The syntax for manually flashing a Marvell 9230 from a UEFI shell using mvf.efi was posted by nuumio on pine64 forums;

Hope this helps!

[Edit] At Station Drivers forums I have updated the original post with more relevant/recent info and an updated archive that contains the working UEFI shell as well as an updated Marvell UEFI Configuration utility to version 1.1.0.1026 (from version 1.1.0.1016)

Marvell_9230_A0+A1_Firmware+Tools_Update2.zip

It’s been a long 48 hours…

Last night about midnight, I gave up trying to make a MS-DOS bootable disk using all sorts of ideas from the Internet. 99.99% of them were actually creating a FreeDOS boot. As I have read that FreeDOS doesn’t do the job, I kept looking and trying different options. No joy.

So it was the install of VirtualBox, Windows 7 in the virtual environment (after enabling virtual options in my BIOS), then Rufus. Tried to boot off the USB stick but my BIOS wouldn’t let me. Had to go through all of the secure functions and disable them. Got it to boot in MS-DOS and ran the GO batch file (finally) and updated both cards Woo Hoo, progress.

Rebooted my PC and the spash screen that comes up for each card as the system boots was missing. Argh! I didn’t know if this was part of the update to the firmware of my cards were trashed. Started looking for the previous version of the firmware, flashed it and that fixed the 9230 card. The 9215 (6 SATA ports) appears to be dead. It doesn’t display anything during boot (have all 6 ports in use). Tried to roll back the firmware and it won’t even bring up the messages of the new version being installed and the old version being replaced. Guess it is now a boat anchor.

It’s really odd that this happened. Only one card at a time was installed when I flashed them and both loaded and successfully flashed the 1078 firmware, according to the results displayed on the screen. So for now, ordered a replacement 9215 card and will receive it on Sunday. Will backup the new cards firmware and try to install it on the old one, but I don’t expect it to work.

You know the old saying… if it ain’t broke, don’t fix it! Shame on me for trying to keep my firmware current.

Will try the process and files you mentioned in your last message. Should be able to get to it in the next few days.

One last question: The 9215 has 6 SATA ports. As mentioned, I use them all. However, when the card boots, it only displays 4 drives being installed, even though there are 6 attached and functional. Any ideas why? Even the Marvell utility only shows 4 drives installed when it is executed within Windows (10 and 11). See attached.

A big thanks once again for ALL of your help. I appreciate your patience and detailed information. Kudo’s for a job WELL DONE!

John

Marvell 9215 Adapter.png

@JohnHagen I’m happy to hear you finally got the DOS option to work and updated the 9230.

If you have flashed the UEFI firmware you will notice that the splash screen and configuration utility are no longer displayed as they are not included in the UEFI firmware.

When using the UEFI firmware (A1_UEFI_1.0.0.1029_FW_2.3.0.1078) the Marvell Magni Configuration Utility (ui64.efi) must be loaded from a UEFI shell.

If this is inconvenient for you, you can flash the BIOS firmware (A1_BIOS_1.0.0.1028_FW_2.3.0.1078) to restore the legacy splash screen and configuration tool.

As for the 9215, can mvf_mag still see the pcie card if you use the command ‘go -r’?

You could also try getting another tool (mdu_mag) to read the card from DOS with the following commands from the path;

C:\9230_tools\bin\mdu_mag\mdu_mag

It should say;
"Welcome to Marvell DOS Utility Interface! MDU_MAG Version:1.1.0.1072"

At the prompt type;

restore_cfg -g 0

It should list the current configuration for adapter 0 (assuming the 9215 is the only card installed).

Do you have a backup of the firmware before you flashed the card? If so could you please upload it as an attachment here?

You could also try flashing the 9215 firmware uploaded by mockingbird here.

It seems that the 9215 firmware is much simpler than the 9230 firmware as it doesn’t have to support RAID, HyperDuo or AES encryption.

92xx Features Edit web.png



[Edit] As for the reason you can’t see all 6 drives on boot I can only guess, it might be a limitation of the number of ports that can be used simultaneously or could have something to do with the way the port multiplier is physically connected.

My IOCrest (Syba) SD-PEX40054 88SE9230 PCIe card has 4 internal SATA ports and 2 eSATA ports - it only allows a maximum of 4 ports to be used at a time (4 internal or 2 internal + 2 external) and only shows 4 ports on boot and in Windows.

Latest Update: Installed new 9215 Card (6 SATA ports). Booted right up but still only shows 4 drives during boot. All six connected drives are functional under Windows or Linux. All drives back online with the 9215 and 9230 cards (10 drives total).

I backed up the firmware from the new 9215 card. It came with the 1078 firmware already installed. I had previously backed up the 9230 OEM firmware as well. However… Both copies were lost due to data corruption on the thumbdrive.

You know how things go at times? Sometimes the hits keep coming and no matter what you do it always gets worse before it gets better. Even taking a break by stepping back didn’t help during this process.

Thanks again for all of your help. Can’t imagine how I would have gotten this working without your help!

John

@JohnHagen You’ve had quite a journey - at least now your firmware is up to date, mission accomplished

It would be extremely helpful to myself and the community if you could dump the new 9215 firmware (using go -ra) and upload it here, if you get a spare moment.

You are very welcome for the help!

I will upload the firmware file on Wednesday. Good idea.

John

Attached is the latest firmware downloaded from a Rivo SATA 3, 6 Port Marvell 9215 A1 chip. I have also included a screen shot of the monitor when I did a ‘GO -r’ just as an FYI. It should be noted that I now have two of the 9215 6 port cards installed and a 4 port 9230 RAID installed in the same PC.

20220315 - Rivo 9215 - BIOS 1.0.0.28 - Firmware - 2.3.0.1078.zip (20.9 KB)

Rivo SATA 3 6 Port Marvell 9215 Firmware 2.3.0.1078.jpg

@JohnHagen Thank you for the Rivo 9215 firmware, interestingly it is bit identical to the 9215 firmware that mockingbird posted here.

[Edit] The 6 port Rivo 9215 [Edit] NON-RAID has a 32KB BIOS (v1.0.0.1028)

The Marvell 9215 IOCrest Syba SI-PEX40064 4 Port SATA III NON-RAID PCI-e 2.0 x1 Card firmware that was uploaded by jackrose here does not have a BIOS section within the firmware.

Your previous comment: [Edit] The 6 port Rivo 9215 supports RAID and has a 32KB BIOS (v1.0.0.1028)

Here are the boot screen shots of my Rivo 9215 cards loading as of yesterday. Card 1 is at bus address 27, card 2 is at bus address 28. These are the two 9215 cards. No raid capabilities mentioned during the boot. The third screen is the 9230 at bus address 29 loading (4 port) WITH RAID as seen by the 'Press <ctrl>+<M> to enter BIOS Setup…'

How did you determine the Rivo 9215s have RAID capabilities and how is it accessed?

John

Marvell 9215 - Card 1.jpg

Marvell 9215 - Card 2.jpg

Marvell 9230 - Loaded with 1076 Firmware.jpg

I’ve been doing a lot of reading and searching today regarding the 9230 firmware. I was able to download one from this message on the forum:

Marvell 9230 BIOS & Firmware 1078

Going to the embedded link near the end of the message from PhilPhil7000

4 Port SATA III PCI-e 2.0 x2 HyperDuo RAID Card - SI-PEX40057

it takes you to the SybaUSA website and their 4 port card. Select the DOWNLOAD tab, which will display a list of files to download. Select the FIRMWARE file and save it.

The IMAGEA1 in this download worked on my Ableconn PEX-SAT4R 4-Port SATA 6G PCI Express 2.0 Host Adapter. I have attached a screen shot of the firmware installed in my 9230 card. My screenshot shows it as a 5.0 Gbps (not sure why), but the 1078 firmware at least shows up during the boot process. I will continue to work this and see if I can find one that shows the 6.0 Gbps, as it should.

Edit: Oddly enough all three of my controller cards show a speed of 5 Gbps. Never noticed that before, so I guess all is well!

Hope this helps the community.


John

PXL_20220316_204651737[1].jpg

PXL_20220316_204710007[1].jpg

I contacted Ableconn, the seller of my Marvell 9230 4 Port RAID capable card, to see if they had the current firmware. I was surprised at their response and they do in fact have the 1078 firmware. I have attached it to this message along with comments from their email response to me:



So I am thrilled I can add yet another resource to this community. I have loaded it into my 9230 card with no issues. All is well!

John

image.png

Marvell 9230 production FW v2.3.0.1068 and SOP.zip (1.85 MB)

Hi @JohnHagen

In your first post the Marvell storage Utility shows "Supported Stripe Size 32K 64K 128K" although I just realised it doesn’t show ‘Supported RAID Modes’, then I check the supported features I posted for the 9215 and realised none of the 9215 models support RAID (i.e. Syba SD-PEX40104, SI-PEX40065, SI-PEX40064, SD-PEX40099, SI-PEX40097, SI-PEX40137 and IOCrest IO-PCE9215-4I, IO-PCE9215E-4I, IO-PCE9215E-8I, IO-PCE9215S-8I, IO-PCE9215-16I).

The A1 firmware is bit identical to the one I already had but I did not have the A0 (Revision 10) 2.3.0.1078 (BIOS) firmware so thank you for that! I have added it to the collection Marvell_9230_A0+A1_Firmware+Tools_Update3.zip

Both of these images are bit identical to the Syba SI-PEX40057 firmware from PhilPhil7000 - interesting nonetheless!