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

@lordkag

yes, the ‘U3S6R0_9123 - SP1813.rar’ didn’t work. It flashed OK like 1125b, but lost the booting config like before.

but it was easily rescued by re-flashing U3S6R0 from before, it went back to normal w/1028.

I wondered if it’s possible to generate/mod a 516kb image in U3S6R0 with SP1813, then flash the whole image in one go(without sections) as it did when flashing U3S6R0 to restore.


Thanks.

@cooldude

The more I learn about Marvell firmwares, the more I get confused. U3S6R0 and U3S6R1 are basically the same card with different controller, R0 with 9123 vs R1 with 9120. They should act the same. There are at least 4 people in this forum who have confirmed the working of modded SP1813 image for U3S6R1. The image for U3S6R0 should be similar, just a different autoload and 9123 ID in OROM/BIOS. And there is one user who confirms that this image should work as well, see this post. He is not very specific on what works, but I trust he would have posted if booting or Ctrl+M doesn’t work. What he has done different than you is that he flashed a bigger 512KB image with the programmer. Like you already guessed, you can replicate that by flashing a 516KB image, which is 512KB with a header and one section to flash.

Before you go and flash the image attached, I need some info from you. Flash the image “U3S6R0 - SP1813” again. Shutdown the computer for 1 minute, boot to Windows, shutdown again for 1 minute. Then boot and be very specific on what is not working: Windows detecting the card and drive(s) attached to it when you boot from mainboard controllers, booting from the card, Ctrl+M during boot. At last step dump the image with “go -r” and “y” to confirm, upload it here to check if the flashing has errors.

You can then place the attached image in bin folder (replacing the old one) and flash it. Do the same steps as above. If still not successful, you need to find someone who can flash your chip at a low cost. The chip is detachable and should be supported by most programmers. I can provide some test images by experimenting with autoload and loader.

U3S6R0_9123 SP1813 Big.rar (117 KB)

@lordkag

Right, here are the info you requested;

1. From default U3S6R0 1028, flashed U3S6R0 - SP1813; shutdown >1min, boot into windows, detected controller 9123 as normal and working; as with any version flashed before, (but without controller info during boot, therefore cannot boot from drive/s attached to card)

2. Shutdown >1min, reboot (still no controller info screen), go -r, attached dumped image.

3. Flash new big image, same as before 1, power of >1min, same as 1.

4. Reflash U3S6R0, back to 1028 with boot controller info.!


I don’t think I will get a programmer to try, it isn’t working because I have a compatible m/b M4A77TD PRO that boot directly from BIOS? i don’t know… Anywyay, I’m not having any problems so far w/1028, so I’m sticking to it for now. If I get a SSD that doesn’t work well, then I’ll try to re-flash again with different auto-loaders, etc. as u suggested

Another strange thing is that the board initially came with 0.0.0.0012 BIOS, I flashed with star-station 1125b image, it worked in windows like 1. the incoming/current reports as 1125b when flashed. But with u3s6r0 1028, the incoming report as 1.0.0.1808… weird.

Anyway, hope someone with u3s6r0 board can use mvf successfully one day with the boot config working!


Cheers.

IMAG_RB.rar (117 KB)

@cooldude

The image has been flashed just fine, so the problem is elsewhere. I have a guess that it might be the new loader, which doesn’t communicate with the old autoload like in the case of U3S6R1. Image of 516KB is attached with old autoload + old loader, follow same steps as before. Just one thing - are you absolutely sure that when the Ctrl+M screen is missing, the ability to boot from Marvell controller is also missing?

You will find more info about components and their version in the two Marvell threads. The original image was 1.0.0.1017 with BIOS 0.0.0.1012 (1.0.0.1012 misspelled) and firmware 2.1.0.1015. The image you are using now is 1.0.1.1606 (1.0.0.1606 misspelled) with BIOS 1.0.0.1028 and firmware 2.1.0.1015. The image from Station-Drivers is 1.0.0.1808 with BIOS 1.0.0.1033 and firmware 2.2.0.1125. The new image is 1.0.0.1813 with BIOS 1.0.0.1038 and firmware 2.3.0.1007. There is also an autoload and loader involved, but I won’t go into details right now.

U3S6R0 - SP1813 Big2.rar (117 KB)

@lordkag

Yes, I’m absolutely sure, without the initialization of the board (boot screen attached, btw NO Ctrl+M ever appeared, just …<space>…) the BIOS doesn’t detect any HDD/SDD to boot.

boot.jpg



Thanks, I’ll try the image later.

@lordkag and @hanson :

I followed the instructions to flash image from post #113 to my Asus U3S6 addon card.

Now it seems that Windows does recognize the card and also MVF_MAG flasher (when I type go -r) but I cannot see BIOS information page anymore during boot (like @cooldude ).
Any ideas what went wrong? I took a backup using go -r so I should have the original firmware in safe.

marvell_chip.jpg



Br, workbench

IMAG_RB_original.zip (73.4 KB)

@workbench

It seems you have the card U3S6R1 with 9120 controller. The image from the post 113 contains all the latest components, minus the autoload.bin section. That image has been tested more than enough times, both with programmer and modified flasher. If you have problems, then it means that more than likely you did something wrong. Read all the following posts to see how it should be done.

But if you think the image has problems, here is one with old autoload + old loader. The rest is the same as in post 113. Replace small image in bin folder, delete IMAG_RB.BIN. Be careful, this one hasn’t been tested!

image_U3S6R1_9120.rar (116 KB)

@lordkag , any ideas I could have done wrong?

All I did was:
1) I made a bootable usb stick with msdos with Rufus
2) I copied all files from post 113 package to usb
3) booted to msdos and then first took backup with command "go -r"
4) after that I used command "go" and it flashed the firmware until I reveiced message that it was successful.
5) rebooted the computer CTRL + ALT + DEL

Nothing seems wrong, except maybe that you need to shutdown the PC for the firmware to be fully updated. But I trust you have shutdown the PC from then, more than once. Just try with the image I have attached.

If you still have the same problem, then it might be your computer BIOS that doesn’t handle well this modded firmware and it would need for Marvell to release a new Autoload (autoload.bin + loader) to work.

@lordkag : I want to thank you for your efforts this far. Unfortunatelly I have not succeeded to get back that boot screen which normally lasts for 3 seconds during startup. When I bought this card I saw it every time.
Is it possible to flash back the original backup IMAGE_RB I took before the first try?

Is it normal that when I flash with "go" it erases block 3, then flashes from 0 to 6?

The original image can be found in this post, named U3S6R1. Use modified flasher if card not recognised.

If you say you already tested this image, then there is nothing I can do, it must be a BIOS - new firmware incompatibility. Like I said, image from post 113 has already been plenty tested. If you have access to a different PC, it might be worth to check if the screen is there. There is a report here that points out to mainboard BIOS being responsible for timeout.

@lordkag : Can you clarify some things for me?

1) Is there any possibility to use MSDOS flasher to flash IMAG_RB file (512KB)? If not, is it possible to convert it someway to smaller size (image, 200-300KB)?

2)

I tried this but flash did not succeed. Luckily I could still find my card and flash it with #113 package. Still no BIOS screen unfortunately.

One thing I don’t understand: before I tried the flasher I could see the boot screen with my computer. So I assume my PC BIOS does work well with at least 10.0.0.28 U3S6-BIOS.

Update from 22.10.2014:
Although it seemed that flashing the image from post #113 didn’t succeed because I couldn’t get BIOS screen anymore
during boot, today I thought that what the heck… I try to connect my SSD to U3S6 card and test if it makes difference. And voila! It seems that with the latest BIOS/IMAGE you get Marvell BIOS screen during boot only if there is devices connected. Also my computer BIOS allowed to choose SSD connected to U3S6 as a first bootable drive. So thank you @lordkag , @hanson and others for your great help. One success story to add from me

[[File:20141022_104240 (Small).jpg|none|auto]][[File:20141022_104448 (Small).jpg|none|auto]]

20141022_104240 (Small).jpg

20141022_104448 (Small).jpg

I would like to thank the forum, as I just updated my U3S6 with Marvell 9120 and everything went just fine! I used the files in post #113. Thank you again!

Welcome at Win-RAID Forum and thanks for your feedback!

Regards
Fernando

I have the same Card/Chip as Hanson / biondo79 / THZ / berlinguy, EXCEPT for the last 2 lines on the SPI chip:

type of controller: External card Asus U3S6 (Marvell chip 88SE9120 “Hardware ID PCI\VEN_1B4B&DEV_9120&SUBSYS_84001043&REV_12”)
ID of the controller: 9120 NAA2
the full ID of the chip containing the image:
cFeon
EN25F40
-100QCP
Q18402C
1147TDA

When running the flash tool from #113 I’m getting the same result as shown in #160, except for Bus, which is 05. IMAG_RB.BIN is attached (zipped as .rar).

Can I update safely with File from #113 (don’t want to brick my Asus like my AsRock Sata3 Card)?

IMAG_RB.rar (67.9 KB)

@ Kees030:
Welcome a Win-RAID Forum!

Since I don’t have any experience with this sort of BIOS modding, I hope, that anyone else will answer your question.

Regards
Dieter (alias Fernando)

Thanks Fernando. I’m hoping to get response from lordkag or hanson as they appear to have the kwonledge and experience

@Kees030

It is best to tag the person from whom you want a reply, rather than hoping he/she will see your message and PM a few days later. You have the same card as everyone else, the same firmware, the same chip. That last part of the controller’s ID is unimportant, maybe only for drivers. The same goes for the chip, that is just serial numbers and production tags. If you managed to dump the firmware, it is safe to assume that you can also write to it.

I don’t know what that version.txt file is doing there. Either me or Hanson put it by mistake. The rest of the file are OK. You already dumper your current firmware, so you can just run go.bat and the flash will be done. Only IMAG_RB.BIN is not needed, that one is for programmer use only. I have written this stuff over and over, but users seem to just go as far as post 113, ignoring everything it was written afterwards.

@ lordkag

I’m sorry I bothered you, however I’m glad you answered. I didn’t know by tagging a person he would get a notification. I assumed/hoped you had subscribed to this thread.

Actually I’ve read all posts in this thread (some more than once); I even reffered to #160

Maybe users -like me- do read all the stuff, yet don’t understand everything and have still questions that remain…