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

Everything OK :slight_smile:

I flashed Safe2 (I have not tried other).

Info:

BIOS Version 1.0.0.1038
Firmware Version 2.3.0.1007
Boot Loader Version 1.0.1.0002
Driver Version 1.2.0.1041
Chip Revision ID B1
Vendor ID 1B4B
Sub Vendor ID 1B4B
Device ID 9123
Sub Device ID 9123
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 6
Supported VD Cache None
Maximum VD per Adapter 2
Maximum PD per VD 2
Maximum Port Multiplier 1


Thank you very much :slight_smile:

Using safe2 is more than enough. The other two bring little to no gain, but many risks. For other users who may need assistance and especially for me, can you write what steps did you followed? Was the "go -w" successful, did you connected a drive?

I flashed from Boot USB.

go -w -y … Erased Succesful!!
go -y … Flashed Successful!!

I connected a drive. [I forgot to connect a drive. <img src=“http://img.homepagemodules.de/frown.gif” />]

------------------------------------------------------------------

I tested other …

Info (Safe1) … OK
Info (Risk1) … OK
Info (Risk2) … OK

Why Risk1 and Risk2 are identical to the Safe2 (see Summary Info)?

Summary Info: (from Marvell Storage Management)
Original Safe1 Safe2 Risk1 Risk2
BIOS Version 1.0.0.1027 1.0.0.1033 1.0.0.1038 1.0.0.1038 1.0.0.1038
Firmware Version 2.1.0.1504 2.3.0.1007 2.3.0.1007 2.3.0.1007 2.3.0.1007
Boot Loader Version 1.0.1.0002 1.0.1.0002 1.0.1.0002 1.0.1.0002 1.0.1.0002
(by lordkag) (newer than original) (same as safe1) (newer than safe1) (same as risk1)
Autoload (by lordkag) ? 2.0.0.060C 2.0.0.060C 2.0.0.060C 2.0.0.061D
Driver Version 1.2.0.1041 1.2.0.1041 1.2.0.1041 1.2.0.1041 1.2.0.1041
Chip Revision ID B1 B1 B1 B1 B1
Vendor ID 1B4B 1B4B 1B4B 1B4B 1B4B
Sub Vendor ID 18AB 1B4B 1B4B 1B4B 1B4B
Device ID 9123 9123 9123 9123 9123
Sub Device ID 9115 9123 9123 9123 9123
Port Count 2 2 2 2 2
Max PCIe Speed 5Gb/s 5Gb/s 5Gb/s 5Gb/s 5Gb/s
Current PCIe Speed 5Gb/s 5Gb/s 5Gb/s 5Gb/s 5Gb/s
Max PCIe Link 1X 1X 1X 1X 1X
Current PCIe Link 1X 1X 1X 1X 1X
Supported RAID Modes RAID0, RAID1 RAID0, RAID1 RAID0, RAID1 RAID0, RAID1 RAID0, RAID1
Supported Stripe Size 32K 64K 32K 64K 32K 64K 32K 64K 32K 64K
Maximum PD per Adapter 16 6 6 6 6
Supported VD Cache None None None None None
Maximum VD per Adapter 2 2 2 2 2
Maximum PD per VD 2 2 2 2 2
Maximum Port Multiplier 1 1 1 1 1

I don’t have an old dump for the asrock sata card. I reflashed this card years ago with wrong image from station-drivers. My hope was, someone in here has got a backup of this card.
Nonetheless I flashed this attachment " U3S6R1_Marvell-9120_2.3.0.1007.rar ". It seems to work, Windows recognize the connected hdd and transferring data is fine too.

@holeckar

I see that you were brave enough to flash risk2 and lucky enough to have a working card. It seems that Marvell eventually thought of making the entire firmware work with any controller, because with 9120 and 9123 the autoload (and maybe the loader too) was onboard/external dependent.

The images are not identical:
- original has Autoload 91A3-9123 2.0.0.0611 (IDE type), Loader 1.0.1.0002 (all loaders have this version in 91xx controllers, but yours is in fact older), BIOS 1.0.0.1027, Firmware 2.1.0.1504 (Aug 30 2010).
- safe1 has Autoload 9123 2.0.0.060C (external type, AHCI-RAID), Loader 1.0.1.0002 (but newer than original), BIOS 1.0.0.1033, Firmware 2.3.0.1007 (Sep 20 2012).
- safe2 has Autoload 9123 2.0.0.060C (external type, AHCI-RAID), Loader 1.0.1.0002 (same as safe1), BIOS 1.0.0.1038, Firmware 2.3.0.1007.
- risk1 has Autoload 9123 2.0.0.060C (external type, AHCI-RAID), Loader 1.0.1.0002 (newer than safe1), BIOS 1.0.0.1038, Firmware 2.3.0.1007.
- risk2 has Autoload 9123 2.0.0.061D (onboard type, AHCI-RAID), Loader 1.0.1.0002 (same as risk1), BIOS 1.0.0.1038, Firmware 2.3.0.1007.

You should use safe2 and test risk1/risk2 only if you have boot problems or incompatibilities with other cards, because Autoload + Loader are needed only in the boot stage.

I have also noticed those changed lines, but thought I shouldn’t worry you with details. The Sub Vendor and Sub Device are referring to the manufacturer of the card and not something to worry about. They are set by the OEM during production and were probably reset during one of the flashing. I have no control over this and I don’t think you can change them in any way. The “Maximum PD per Adapter” was probably changed by the new BIOS or inner firmware. I have not changed anything in the components, it was Marvell call. But if you feel these new firmwares are worse, you can upload your IMAG_RB.bin and I will make a small image for the flasher.

I have not IMAG_RB.bin, but if I will get it, I will give it here.

I use a mainboard Asus P8P67 Rev3.1 with an onboard SATA controller Marvell 88SE9120.

With the all the information from Fernando’s Win-RAID Forum I updated the Marvell AHCI-ROM and BIOS to version 1.0.0.0034 successfully and all worked without any problems so far.
Unfortunately the SATA controller Marvell 88SE9120 works a bit slow because it’s connected only with a PCIe lane x1.

Now I’m curious to find out which firmware version 2.X.X.XXXX and which boot loader version 1.X.X.XXXX my SATA controller Marvell 88SE9120 has and if it’s possible to update them.

Many thanks for your answers in advance.

AFAIK UEFI BIOSes do not need a special Marvell SATA Firmware and Bootloader.
The problem of your ASUS P8P67 mainboard BIOS seems to be a space deficiency caused by the presence of at least 4 different Marvell AHCI/RAID ROM modules (for DEV_9120, DEV_9172, DEV_917a and DEV_91a0).
I just tried to update the Marvell AHCI/ROM module DEV_9120 of the latest BIOS 3602 for your ASUS P8P67 Rev3.1 by using the UBU Tool v1.91, but got a space problem message given by the AMI Aptio MMTool IV.
After having manually deleted the obviously "wrong" and not usable Marvell modules 1b4b-9172.bin, 1b4b-917a.bin and 1b4b-91a0.bin by using the AMI Aptio MMTool IV, I stored the changes and restarted the UBU Tool. Now it updated the Marvell AHCI/RAID OROM without any problem.
Look here:

@Fernando
Many thanks for your help.

I knew the space problem before already:
[Discussions] UBU Tool related Questions, Reports and Suggestions (19)
and the solution from mictlan:
[Discussions] UBU Tool related Questions, Reports and Suggestions (19)

I did all as you described in your last posting and it works so far.
But now I can’t see the OROM message of the Marvell 88SE9120 anymore directly after booting with standard BIOS settings.

The reason is:
Before I deleted 1b4b:9172 how
mictlan says in [Discussions] UBU Tool related Questions, Reports and Suggestions (19)
"The one that get’s used (for Marvell controller) is 1b4b:9172"
Then I have the OROM message directly after booting with standard BIOS settings.

Now I deleted 1b4b:9120 as you said I should do.
But then I have no OROM message directly after booting with standard BIOS settings.

So what ist the right DEV ID for the Marvell 88SE9120 which I have on my mainboard? (Unfortunately I can’t see the chip because the chipset cooler is over it.)
88SE9120 = 1b4b:9120 and 88SE9172 = 1b4b:9172 ?

The device manager of Windows 7 shows me always that hardware ID, whether I delete 1b4b:9120 or 1b4b:9172 as you described:
PCI\VEN_1B4B&DEV_9172&SUBSYS_84771043&REV_11

So maybe mictlan ist right with the DEV ID 1b4b:9172?

Many thanks for your answer again.


Another thing I noticed:

If 1b4b:9172 is left in my BIOS I can update the Marvell controller OROM to version 1.0.0.0034 with UEFI BIOS Updater v1.19.
If 1b4b:9120 is left in my BIOS I can update the Marvell controller OROM to version 1.0.0.0038 with UEFI BIOS Updater v1.19.

I am sorry, but I didn’t remember these posts.

This verifies, that your Marvell SATA Controller doesn’t have the DeviceID DEV_9120 as the thread title indicates and you had written within your previous post.

Yes, he is obviously right. The DeviceID of your on-board Marvell SATA Controller is DEV_9172.

The latest Marvell AHCI/RAID ROM for DEV_9120 Controllers is v1.0.0.1038, whereas for DEV_9172 Marvell SATA Controllers there is nothing newer than v1.0.0.0034 available.

EDIT:
Although I don’t think, that your system really will use the Marvell AHCI/RAID ROM for DEV_9120, you may try the following (hoping, that there is no space problem anymore):
1. Remove the Marvell AHCI/RAID ROM modules for DEV_917a and DEV_91a0.
2. Update both Marvell AHCI/RAID ROM modules for DEV_9172 and DEV_9120.

All the confusion comes from the German manual of my mainboard Asus P8P67 Rev3.1 where under 2-2 is a picture with a SATA controller Marvell 88SE9120.
Related to the DEV ID it seems to be a Marvell 88SE9172.

It’s a pity that’s impossible to look at the chip because it’s hidden under the chipset cooler which it’s not removable.
Nevertheless the onboard Marvell SATA controller works.

@Fernando
Many thanks for your help and sorry for the little confusion.

@lordkag I’ve tried to flash safe 2 but my chips not supported in your modded flasher, but managed to get a backup using the flasher hanson used so i am uploading the backup please will you take a look at this for me, as i didn’t want to flash anything until I’m given the all clear that nothing’s going to be bricked! It’s a 9120 ASUS external pci-e x4 card btw

backup: http://www1.zippyshare.com/v/G42luMZD/file.html

Thanks you for your help and more so to hanson you’ve both been terrific in what you both have done in helping people

I don’t know what file you used and what you tried to flash, it would have been better to point to that message containing the file. But I will say this again: there is no other modded flasher, Hanson packed the same modded flasher I sent him. There are only two flashers: original from Marvell and patched by me for cFeon EN25F40 chip. Your card is using the same Firmware, so you can safely use U3S6R1_Marvell-9120_2.3.0.1007.rar from here. As a side note, it turns out the Firmware is not broken on these card, it is just disabled, probably due to missing RAID. But it doesn’t hurt to flash an image with Firmware, it won’t be used if it is not needed. This is from your backup image, there is a Firmware 2.1.0.1015 in END_Info, but it is chopped and not referenced in Firmware RAW.

Marvell.png

Thanks for your help @lordkag flashed perfectly on my external card, i do have one question as you seem to know a lot, i did make a bad mistake on a P7P55D-E mainboard onboard 9120 sata that i flashed it with Marvell MV-91xx/92xx SATA 6G Controller Firmware Version 2.2.0.1125b thinking it would work and didn’t take a backup at that time, endedup bricking it, so guessing i would need a programmer to recover it?

If the controller is not seen by the Marvell flasher any more, probably so. There are some backup modules in mainboard BIOS, try to see if there is an option to load those instead.



already tried downgrading bios to v1504 the info for the bios said that it updated the marvell option rom, it made no difference with hard drive connected to the controller, my gut tells me it’s done unless i use a programmer to bring it back, but tbh the same functionality is in the external card so it’s down to cost really of what a programmer would set me back to purchase etc

Thanks for all your help

Hi,

@lordkag

I have an Asus U3S6 board with Marvell 88SE9120 SATA chip with BIOS 1.0.0.1028 (factory release) and cFeon ROM chip. USB3 is provided by Renesas NEC uPD720200 chip.

See PCB picture:

IMG_20151102_153838.jpg



See BIOS picture:

IMG_20151030_095045.jpg



I used U3S6R1_Marvell-9120_2.3.0.1007.rar archive from post #203 with “go -r” to make an image, but it hung.
See DOS picture:

IMG_20151030_094803.jpg



I do not dare running the update routine, seeing the tool cannot even read the current flash!
What can I try next?

What is the python tool you use to dump the sections of a BIOS image for those boards?

On a side note, I also would like to update the USB3 chip to the latest firmware. Is it included in the SATA firmware update?

Thanks a lot! This is by far the most detailed forum about the issues of that particular board, really not deserving the Asus brand…

@ gixxer:
Welcome at Win-RAID Forum and thanks for your request!

Unfortunately nobody can see the “attached” images, because they are just links to get a download link and not the images themselves (e.g. .png or .jpg files).
The easiest way would have been to attach the pictures directly by using the Forum software according >this< guide.

Regards
Dieter (alias Fernando)

@Fernando

Thanks! I edited my post per your recommendations.

Try running the backup again. Try with a different DOS system. If the backup is having problems, you should avoid flashing a new firmware. I used a personal made tool for extracting the info and sections. The USB3 firmware has to be updated separately. You can use this link for getting the firmware and this link for tutorial, but make sure you use the right firmware for your controller.