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

Has your card been detected before by the flasher? Did you used the package that Hanson has posted? That package contains a modified flasher (for his chip to be detected) and the image that he currently uses. IMAG_RB.bin is only for a programmer, for the flasher you only need the small <image> file.

Have you used “go” with that package and shutdown afterwards? It seems weird that the same image works for a card and fails for another. Your chip is detected with this modified flasher, so it is only a matter of right image. Try it again with “go”, shutdown for 1 minute, reboot and test.

Edited: The latest picture shows that you already flashed the latest image, which is SP1813 - 2.3.0.1007. Are you sure it isn’t working? Maybe you forgot to shutdown?



before flash card has been detected corretcly

yes i use packege by hanson and i have renamed only IMAG_RB.bin in image.bin e typed go -e -y and after go -y as you see previous reply and image that i have posted

ok i type "go"

flash successful

and i shutdown pc for 1 minutie

but at boot pc card no more detected

probably IMAG_RB.bin is not good for flash by pc

My first question was if the card has been detected in the past with original flasher, not this one modified by me.

Using "go -e" will erase every sector that was written. No need for this. You should only use "go -r" before any flashing, to have a safe backup, then "go" to flash a new image. You should always shutdown after you flashed a new firmware.

Once again, any image.bin / IMAG_RB.bin is only meant for a programmer. It has 512KB and it is exactly the size of the chip. For the flasher you must use a small <image> file, to be expanded by the flasher. In your case there is no need to do anything, because the package already contains an <image> file and the bat will do the rest.

Your only task is to type "go" or "go -y" and shutdown once it says "Flashed successfully".



i have tried flasher on station driver "marvell_88se91xx_firmware_2.2.0.1125b(www.station-drivers.com)"

but when i type go
say

not supported flash found

Maybe the erase command has some side-effects. Do this:
- Remove IMAG_RB.bin from the package. Use "go -r" and upload the IMAG_RB.bin that you obtain.
- Test with the original flasher using "go -y"



ricreated IMAG_RB.bin e riflashed but now the flasher not recognized more the card :frowning:


game over :frowning:


My card is exactly the same than the one from biondo79, same Hardware ID.
Should I delete IMAG_RG.bin and just type "Go" ?

@biondo79

For the third time: You don’t do anything with IMAG_RB.bin if you don’t have a programmer! You should have uploaded that IMAG_RB.bin here for me, to have a look at what’s been flashed or not. And when I say upload IMAG_RB.bin, I mean the IMAG_RB.bin you obtain with “go -r”, not the one that was in the package. Delete that one until you own a programmer.

When I say “test with original flasher” I mean replacing the modified flasher with the original flasher, nothing more. If you get “no adapter found” it means that your SPI chip is not supported and it needs to be added to the flasher. Which leads us to my very first question: what is ID of the chip containing the image?

If you don’t do what I say and you keep flashing and erasing wrong images, then what do you expect to happen? Your latest picture shows that you tried to flash the image from Station-Drivers, which was released for onboard controller with 9123 ID. Good luck reversing that: your only chance now is to use a programmer to flash IMAG_RB.bin from the package that Hanson provided. Again, only at this step you should have used IMAG_RB.bin. There is nothing more I can do, you have done it all by yourself.

@THZ

In the previous page you will find a few questions. If you don’t follow them and reply to each one, then there is no need to go on. Otherwise you will just brick the controller on your own with erratic flashing and erasing. Hanson has already tested that image with success on his card by following my advices. I need to know the answers before I can provide steps for your card.





I’m sorry maybe my english is not correct

I used the package hanson becasue in the site asus not exist flasher original, i found only packege on station driver for MV-91XX marvell_88se91xx_firmware_2.2.0.1125b but this flasher say not supported

I deleted in the bin folder the file IMAG_RB.BIN, as you suggested

and typed go -r

next

go

the result is as you can see from the attached photo "warning header"


my chip ID is 9120

I put the photos in the previous reply where you can see


I hope I have explained well
thanks for your patience

I have edited my previous post with a reply. You flashed a wrong image with 9123 ID for onboard controller, because you refused to follow my advices in details. Nothing more that can be done, only a programmer is the solution.

thanks for the support

where can I buy a programmer? :slight_smile:

@lordkag :
In order to move along, I need to know that you understand the risk and that you are OK to test as it is, even if your Marvell controller might cease to work. Once you have thought this well, you will need to provide the following informations:
- what is the type of controller: onboard (which mainboard), external (which card): External card U3S6
- what is the ID of the controller: 9120, 9123, 9128 … : 9120
- what is the full ID of the chip containing the image, which is located next to the Marvell controller: ?
I typed GO, and here is what I got:

@biondo79

You have yet again avoided my questions and steps. I asked you to upload the IMAG_RB.bin you obtained, to see what was written. I also asked you to post the ID of the chip containing the image, which is a DIP8 chip. You jump from one action to another without following good advices.

@THZ

Look at this image. The DIP8 chip is top right with a smudge on it. Also use “go -r” and upload the dumped image. Will be back in a couple of hours.



I’m sorry but after the flash I deleted the file :frowning:



cFeon
EN25F40
-1000CP
Q18402C
1147TDA

a friend of mine have e programmer :slight_smile:

i flash bin file by hanson IMAG_RB.BIN?



thanks again

Here is the picture from my card with the DIP8 chip:


I didn’t get “IMAG_RB.bin” after I typed “go -r”. There was no such file created on the USB stick.

By the way: “Current Image Version is 1.0.1.1606” - isn’t that newer than 1.0.0.1813 ?

Both of you have the same SPI chip as Hanson. You need the patched flasher for the chip to be detected. The reading has been tested by Hanson and it works. It would have been better if any of you would have uploaded a <any_name>.bin obtained by using “go -r”. If it says “read out SPI…” then it works and you should have a *.bin file on the root of USB. This way we would have verified that reading works from 3 different sources (even though it is the same chip).

What both of you can do is ask nicely for Hanson to test the writing by using the package he uploaded with “go” or “go -y”. If the card still works after the updating, then it is only about flashing once and proper (and not every image that we can think of). If it doesn’t work, then it is the flasher that does something behind the scene. I have compared the entered bytes with the ones from the datasheet and they are a perfect match. There really isn’t anything else I can do. Marvell has left you with a broken image and not a single way of updating, except the programmer.

@THZ

If you choose to ignore my advice and test on your own the writing of the patched flasher, then boot with the package uploaded by Hanson and type “go”. Once it is completed, shutdown the PC for a short period. Boot and check the card. He has flashed this image with a programmer and it works fine.

If any of you have access to a programmer, then take IMAG_RB.bin from that package and write it to the chip. It has latest loader, latest BIOS/OROM, latest firmware for 91xx. Only the autoload is kept as original, because it is specific to this card and it won’t work once updated.

Added later:
- after inputing any command like “go” “go -r”, you will be prompted with the line “Press Y to start, others to skip”, where you will type “Y”. If you don’t want to see this message, then use “go -y” or “go -r -y” to skip this check. That is why the *.bin was missing the last time you tried “go -r”, you forgot to press Y when asked.
- Image 1.0.1.1606 is older than 1.0.0.1813. In fact, it is the oldest image I have found. If you want the latest, then SP1813 - 1.0.0.1813 is your choice, included in the uploaded package.

Thank you. I did like you told me, typed "go -r" and "y", and shut down - and here is the IMAG_RB.bin

IMAG_RB.zip (75.4 KB)

@lordkag


I didn't understand, the info, that 2.3.0.1007 is the latest driver was taken from where?

Yes, I'm ready to test.
Mainboard is ASRock 890FX Deluxe5 (onboard controller);
Marvell 88SE9120;
Here is the photo of my mainboard, may you circle with red, please, where should I look for telling you full ID of the chip (it's really inconvenient to pull out my case, so I hope to do it just once).
http://asrock.com/mb/photo/890FX%20Deluxe5(m).jpg

@THZ

You have the same image - CRC EB66A935 - that Hanson reported as given BSOD. It would seem this was pre-installed on all U3S6 cards. The problem with this image is that is has a broken inner firmware: it is missing the header section and Program0 has the first F60 bytes blanked with FF. It is a wonder it ever worked.

You either go safe and ask Hanson to test the modded flasher before you: “go”, shutdown + boot, test the card, “go -r” and upload the IMAG_RB.bin for inspection. It is your problem in convincing him. He has already been an amazing fellow by testing my craziest ideas on his hardware.

Or you take the risk on your own. The image should work - tested; the flasher should work - reading tested, erasing tested by biondo79. My suspicion is that biondo79 has broken his card by multiple cycles of erasing, writing different images, without a full shutdown in between. And he also flashed an image for another card.

@X-tick

The image 2.3.0.1007 (or maybe 2.2.1.1007) has been provided to Gaudi by Asrock. It is the latest firmware for 91xx that has been spotted in the wild. I also found a 2.3.0.1006 in Asus mainboards.

Don’t flash anything until we have all the details. Download the package uploaded by Hanson a few pages back and add the content to the root of a bootable USB. Type “go -r” and nothing more or less at the prompt. When asked to “Press Y…” type “Y”. Upload the image IMAG_RB.bin from the root of USB. If there is a warning message, post a screenshot.

The SPI chip is located next to Marvell controller. My guess is that is just above “Asrock” word, bellow the first PCIe slot and left to “ATI” word.

Is this in reply to to X-tick or to me?..