Open c-fst opened 1 year ago
For now after many attempts what seems the best solution is this (briefly):
me_cleaner
without any option, and flashed it (this time through fpt).I found that fitc expanded the ME region to fit the empty spaces there were before.
The result is a less slow boot as before, fast BIOS savings, but slow reboot after these. Unique bad thing is I can't turn-off through switch button, that was useful in BIOS settings. So I long press button and after shutdown I switch off from PSU to prevent rebooting. I hope that this doesn't damage my board, right? Anyone knows why this thing happens and if there is a simple fix by little BIOS mod (as the ME is not operative in BIOS setting or after POST, I suppose)?
The switch-off button from BIOS settings maybe worked one time, I don't know on what depends. The switch-off button works well when I am in DOS/freeDOS instead, so that the PC turns off immediately in this case. There is something in power and reset buttons to fix in BIOS region, I think.
P.S. After DATA-cleaning I tried with me_cleaner
to disable the bit and surprisingly it booted completely, but probably because the CMOS was not resetted, in fact after clear CMOS the BIOS didn't work as before.
Hi, I have motherboard Gigabyte GA-H55M-S2H, H55 chipset (Ibex Peak), with processor family Nehalem (Lynnfield). I've downloaded BIOS from Gigabyte's website here: https://download.gigabyte.com/FileList/BIOS/mb_bios_ga-h55m-s2h_f7.exe?v=81bbbe13998d689201ddae260eea27c6 , it's a full SPI ROM with also ME in it (it's 8MB). The ME/TXE firmware version is 6.0.30.1203. To extract and to flash images I used mainly "flashspi.exe" (present in the download from Gigabyte), because it never makes me problems before in extracting and flashing. Specifically I used the command
flashspi.exe
with/C /D /E
to flash and with/S
to extract.I tried to clean ME (and flash) in a stock SPI image (from site) and in an extracted one. I used (in addition to Gigabyte tool FLASHSPI.exe (freeDOS)) also Qflash (a tool in the BIOS) later. I use internal flashing because the motherboard has Dual BIOS and because the flashing seems to write the entire chip.
Following _mecleaner guide I've checked all images with
ifdtool -d
(and also withunhuffme
) commands and all image files have (in ifdtool output) the sameFLREGn
Section, not as expected (the BIOS Region):Specifically here the BIOS Region seems to start in a wrong place (its end seems good); while seems that ME starts in right address and end in a
0xff
zone (but this area includes ME anyway so it's not bad, I suppose).At first I ignored this and cleaned both images (the stock one and the extracted with
flashspi.exe
one) withme_cleaner.py -S -O
(same output)and flashed them (through
flashspi.exe
). But the result for both was a BIOS blocked in initial phase of POST, that displays the first screen just with the name of CPU (with a different frequency) in detected devices area; and I can't do anything neither enter to settings. So I restored main with backup BIOS, through a method found in another issue for Gigabyte mb.Then, as the Wiki says that the regions section has to be reasonable, I suppose that the problem is the not regular
FLREGn
section. The Wiki also says that this happens because the BIOS is not in a "plain" format. So I searched in Google and in Gigabyte site if there are some conversion tools or instructions to convert BIOS in plain format but I found nothing at all, I neither found any informations about standard "plain" format for BIOS/SPI (Maybe it is the real bytes in the chip or a not proprietary format?).Trying to resolve the issue by myself, I searched how to modify
FLREG
manually and it takes me a long time; after that I finally found how to do it and I fixed the BIOS region (in FD) making it to start from0x700000
instead of0x000000
(I suppose is right viewing the hex). And I cleaned the resulting image throughme_cleaner -S
(apparently with success). Here the output ofifdtool -d
with the image (this time after the cleaning) withFLREGn
modified as I wanted:It seemed good to me for
FLREG
andFLMSTR
sections, so I flashed it, but nothing worked again in the same way as before. I tried also this "correction" with an image extracted through BIOS Qflash, obtaining the same results. I tried also to change the region address back to the original situation (after cleaning), but didn't work the same. So my editing is not enough.Then I tried to just disable the bit (in an image with wrong
FLREG
) as a temporary workaround, with-s
option, and to flash again but neither this worked.I imagine that now the (unique) thing to do is to convert BIOS into plain format (or to obtain it). But I don't know how to do it (excuse me I'm new to this things). I've read that sometimes it could be obtained through an external programmer that copies the effective BIOS. If so I could try it but before I want to know if it is an effective solution, then if the image will be more compatible with _mecleaner. So I ask here if for example the programmer procedure could change something, or if someone knows where I can find some informations about this plain format of BIOS/SPI/firmware and a way to convert mine in that if possible, or something else that could resolve my problem.
Thank you. And congratulation for the tool that you provide to us.
Updates:
I forgot to try without setting the bit... Attempts:
I tryed to clean image without options and something changed. In fact, at first boot I see the BIOS loading, but slower and then writing at screen "Fix ME firmware data" with a percentual progression from 0 to 100 and rebooting, similarly to this post I found. After that I have an apparently working BIOS, but with an adding delay before POST, a menu BIOS normal (less a M.I.T. screen less informative) but very slow with saving BIOS setup and rebooting and a power on and reset button not working while PC is turned on (long press shuts down and reboots), thing that forces me to enter in an O.S. and shutdown from there (don't turn off with the switch even after POST because it stayed off for a while). The good thing is that the OS seemed to work well (for example I can get the temperatures) for now. After a while just the reset button returned to work.
I try to set the address BIOS in
FLREG
's FD right as before and reflash. Now the message "Fix ME firmware ecc..." doesn't appear. It seems is going better... It's not as expected yet, since the BIOS' booting and menu is slow (but a bit less than before). In other words I have to wait seconds after I confirm "Save & Exit", before POST, and after I press the reset button to reboot effectively (when there aren't disks to boot). Now I don't think that problem is not to flash with extern. programmer or even the non-plain BIOS maybe. Is a not good BIOS implementation, it seems.Update 2 I found confirmation that, in this case, the absence of BIOS' start address is an issue common in motherboards of a certain period (not a sympthom of a not-plain BIOS) as mentioned here. So it's good to fix it.
This SPI seems tricky to clean, but I hope that I'll get more improvements soon and that someone has some advices. Thanks.