[Discussion] Firmware Update of the Marvell 91xx SATA Controller

I’ve bricked my U3S6 rev 1.03g (with NEC-Logo on the USB3 chip, BIOS chip Macronix 25L4005APC-12G) with Marvell 9120 with the wrong firmware update Marvell MV-91xx/92xx SATA 6G Controller Bios Version 2.2.0.1125b from stationdrivers. PC doenst boot anymore with the card inside.

At work there was also a U3S6 also rev 1.03g (without NEC-Logo on the USB3 chip, BIOS chip cFeon EM25F40) but here came
No support flash found!!

After serveral test I’ve moved the working bios chip to the broken card and booted to DOS.
Still: No support flash found!! as long as the working cFeon chip was plugged. Then I’ve changed the chips while running and flashed successfully with p.bat and image which came with it:



Conclusion: the message "No support flash found!!" is caused by the bioschip from cFeon!

now i’ve two working cards again - thanks

Hello,

i have got the asrock sata3 card pcie (http://www.asrock.com/mb/spec/card.asp?Model=SATA3%20Card). I flashed the wrong firmware from station-drivers (the 9123 thread) years ago, but I didn’t have enough time to restore the correct firmware.
So, this card uses the Marvell 9120 and a W25X40 SPI EEPROM.
It is possible to use the U3S6 images for a programmer? Or is there a generic image available?
this one?: Problems Updating firmware of Marvell 9120 Sata controller (8)
or older, these: Problems Updating firmware of Marvell 9120 Sata controller (3)

thanks

@Bugger Vance

You can’t use the original flasher with cFeon chips because they are not supported. I had to patch the flasher with ID and related info in order for the chip to be detected and flashed. It is possible that the same firmware might work for your card, but you will have to test and confirm on your own. For you and anyone else needing the latest firmware, I have attached them bellow. This should be the reference from now on.

@anyone interested

Each archive is labelled, so there should be no confusing on what to choose. Just prepare a bootable flash, drop the content on the root of this flash, boot from DOS and run “go -r” minus the quotes. This step is very important: it will dump your current firmware as IMAG_RB.BIN. For flashing just run “go”, confirm the operation and wait until it is finished. Shutdown the PC, wait a couple of minutes and then boot. You can then check the working state of the new firmware, you can even do “go -r” again to have a second backup and to visually check that the firmware has been flashed.

For anyone having a programmer, in bin folder there is a PROG.BIN image, which can be flashed as is with the programmer, no flasher needed. If you have a different card than those attached, it is better to just run “go -r” and upload IMAG_RB.BIN here, to check if it is safe to flash this firmware. If you have other ID than those attached, do NOT attempt to flash: just run “go -r” and upload the dump. I will then see which are the needed components and prepare another image.

U3S6R1_Marvell-9120_2.3.0.1007.rar (327 KB)

U3S6R0_Marvell-9123_2.3.0.1007.rar (327 KB)

Hi,

I have “Manhattan 150408” (home page) and i flashed “Marvell MV-91xx/92xx SATA 6G Controller Firmware Version 2.2.0.1125b” (source).
Flash failed!!

next error
Autoload is not found!!
Flash autoload using go -a or flash full image go -y.

Before flashing (info):

BIOS Version 1.0.0.1027
Firmware Version 2.1.0.1504
Boot Loader Version 1.0.1.0002
Driver Version 1.2.0.1041
Chip Revision ID B1
Vendor ID 1B4B
Sub Vendor ID 18AB
Device ID 9123
Sub Device ID 9115
Port Count 2
Max PCIe Speed 5Gb/s
Current PCIe Speed 5Gb/s
Max PCIe Link 1X
Current PCIe Link 1X
Supported RAID Modes RAID0, RAID1
Supported Stripe Size 32K 64K
Maximum PD per Adapter 16
Supported VD Cache None
Maximum VD per Adapter 2
Maximum PD per VD 2
Maximum Port Multiplier 1

Chip:
88SE9128-NAA2
P2U0800.5
1048 B1P
TW

Help me please :frowning:

Did you read the comment below the download file on station-drivers???

1
2
 
Commentaires :
Kees 2014-11-25 00:35:43 This BIOS bricked my 88SE9120 card :( Only suitable for 9123?
 

@ holeckar:
Welcome at Win-RAID Forum!

AFAIK the used Firmware has been designed for an on-board Marvell SATA 6G Controllers, but not for an inserted PCIe card SATA Controller.

Since I am not an expert regarding Marvell Controllers and less than ever regarding PCIe card ones, I cannot help you.
Hopefully you will get a tip from someone else.

Happy Easter!
Dieter (alias Fernando)

There seems to be a new BIOS version “Marvell MV-92xx SATA 6G Controller Firmware Version 2.3.1063”.
PACKAGE VERSION[0xFFFFFFFF]: 2.3.0.1061
AUTOLOAD VERSION[0x00000000]: 200018
LOADER VERSION[0x0000C000]: 21001008
BIOS VERSION[0x00020000]: 1.0.0.1024
FIRMWARE VERSION[0x00030000]: 2.3.0.1063

Pour 9220,9230,9236,9215,9225,9235,922A,923A

Can I use this for my PCI card? I still kept my USB boot stick which I used for the update stated in #113, and just replaced the \Bin folder and go.bat, but this doesn’t work.

@holeckar

Although I have that firmware version, it would have been better if you had made a backup of your old firmware. The Marvell utility is not displaying a crucial component, which is the autoload version. In my version of 2.1.0.1504 firmware, the autoload is 2.0.0.0611 (91A3-9123) and the BIOS is for 91A3, which is an IDE-compatible version. This is not really important, probably they just set this as default to avoid incompatibilities. I already have a firmware from an external card with 9128 controller, thanks to felix, so I know what to assemble. The first question is, do you have a programmer or are you just using the Marvell flasher? The second question is, do you want the latest version of all components (including the critical autoload), or a more safe but older version? This is for me to decide between Autoload 2.0.0.061D + BIOS 1.0.0.1038 or Autoload 2.0.0.060C + BIOS 1.0.0.1033.

@THZ

The keyword is 92xx and the list of supported IDs. Since you have an U3S6R1 with 9120 ID, this is obviously not for your card.

  1. … using the Marvell flasher
    2. … I would probably try both

    thanks

I will do it in the next days, probably tomorrow. I will provide you both, but you take the risk, if something should go wrong. I will post more instructions when it is ready.



Ok, I didn’t realize that…

One question. If I had another PCI card (message), I can export all software (firmware + BIOS + …) [full image]. How?
Thanks

@holeckar

To dump the content of the chip, you boot from DOS with any firmware package and type “go -r” for reading SPI content or “go -aid x -r” for reading SPI content of adapter x. Since you most likely have one card, “go -r” is enough. You will find an IMAG_RB.BIN on the flash USB if everything went well.

Here are the images I have promised. The testing goes like this: create a bootable DOS flash and drop the content of the archive on the root of the USB. Then you run “go” and answer with yes to questions. But you already know this, since you already run the flasher before.

- Image safe1 is probably your safest bet, since it was built on top of a firmware dedicated to an external card with 9128, just the inner firmware has been updated. You have a version.txt with updated components.
- Image safe2 is the built on top of safe1, but the BIOS has been updated to 1.0.0.1038. You shouldn’t have problems with it, but please check if this BIOS version has any bugs. A version.txt is attached.
- Image risk1 is stepping into dangerous lands, by also updating the loader to the latest version. From what I have seen, the loader is not internal/external dependent, but you never know.
- Image risk2 is absolutely dangerous, since I updated both the autoload and the loader, but with components from a firmware release for onboard controller. You have 80% chances of bricking your card, so this is just for those that have a programmer to recover.

Test only safe1, safe2 and if you are truly brave, risk1. Choose between safe1 and safe2 for your daily use. The image risk2 is only for those with a programmer to recover. Every archive has a PROG.bin image inside bin folder, which can be used with a programmer. All images are for external card use, not for onboard controller.

Marvell_9128_2.3.0.1007_safe1.rar (321 KB)

Marvell_9128_2.3.0.1007_safe2.rar (326 KB)

Marvell_9128_2.3.0.1007_risk1.rar (327 KB)

Marvell_9128_2.3.0.1007_risk2.rar (327 KB)

Safe 1


Flashing section 1
Verify failed at 30001, io_size 10
Expecting:
But found:
Flashing failed!!
Flash Failed!!
Flash error, wipeout autoload!!

Safe 2, Risk 1 and Risk 2 too

:frowning:



If I have IMAG_RB.BIN, I flash with a programmer or I can use Marvell Flash Tool.

You either have a problem with the chip or some left-overs from old firmwares that trick the flasher. The flasher also has the option “go -w” to erase the chip before flashing, but I haven’t seen anyone try that before. I remember reading some official instructions in one firmware package that users should first run “go -w” and right after that run “go”, with NO reboot in between. Your hardware, your risk.

IMAG_RB.BIN is only for programmer use, but I can build one small image from it, for flasher use. But your main problem will still be the one from above. You have to erase the chip before flashing, either with “go -w” or with a programmer.


How I can build one small image from IMG_RB.bin?

----

Safe 1

Flashed Successful!!

But it does not work :frowning:

Safe 2, Risk 1 and Risk 2 too

What exactly did you do and what “doesn’t work” mean? Have you shut down after successful flash?

After successful flash, i have shutdown, but PCIe card is not detected (without CTRL + M).

The boot message does not appear? The card is not detected in Windows? Do you have a hard drive connected to the card? Please be more specific. One user reported the same thing and it turned out that he had nothing connected to the card and thus the message was not displayed.