[help] Asus b350-f corrupt bios, can read/write SPI, lost UUID/data, can still boot with problems

[help] Asus b350-f corrupt bios, can read/write SPI, lost UUID/data, can still boot with problems

Boy have I been on a ride with this one. Asus B350-f Gaming with Ryzen 1600x. Using Flashcat USB Pro in 1.8v mode. Chip reads as GigaDevice GD25LQ128, picture attached.

TL/DR:
Regular BIOS update (via EZ flash3 in bios screen) failed
nothing worked – def bricked bios
can read/write bios chip with headers just fine
lost BIOS data (uuid,serial, etc)
flashed 2 newest versions nothing
Flashed next oldest bios (3), it boots! (clean flash straight from ASUS, no data added since I lost it)
But now does weird cycling at bootup, and won’t boot at all with ram in dual channel config (can’t use all the ram slots)
weird



A friend went to update bios via EZ Flasher 3 method in bios, he has updated his bios twice in the past following the same steps. This time it got to 100% and froze, left for 30 min, 1hr, nothing. Rebooted it and it never came up until we touched it with a SPI flasher. No easy Flashback and the board wouldn’t allow us to get into the bios recovery method. In this state after it inintally broke it would boot up, cycle though dram, CPU, lights. VGA light (white) would come up and stay there stuck forever. We did waaay to much testing in this stage including different power supplies, different ram, different graphics card, cmos reset, bios recovery and nothing was working. Gets stuck and hangs on white light indefinitely. I resolved it being a bricked bios and set about how I normally fix them (been a while).

I found the bios chip and went online to buy a replacement to solder in (have an SMD station), I ordered that but while I was waiting for it I noticed the header next to the chip and did some searching and found the pinout and some instructions. I ordered some cables to make a connector that would fit the header, hooked it up to my SPI flasher and I was able to read the chip just fine. I dumped the chip (or so I thought) and tried to flash the newest bios. This is my first dealings with fixing an UEFI BIOS so I ran into a few issues and had to learn about extracting the bios from the .cap file using uefitool. I flash 5603 (the version we were orignally trying to go to) and it wouldn’t boot – same behavior with the vga light. I flashed 5406 (the version we were on prior to this ordeal) same issue stuck on vga. Finally I flashed 5220 after extracting it and it worked! The PC booted, I could get into the bios, but there were still problems. This is where we are now (roughly, I have been messing with adding data to images).

So these are the issues I am seeing now:

There are 4 LEDS: DRAM, CPU, VGA, BOOT.
In a normal boot process CPU will light up for a bit, DRAM will light up for a bit, VGA will, then Boot comes up and I see bios.

After flashing 5220 the computer will turn on CPU, DRAM like normally, VGA will flash for a split second and it will start over, back to CPU. It will cycle like this for a random amount of times. Anywhere from 0-24 cycles until eventually one of those cycles has the vga stay on, then boot comes on and the computer boots. We also found that anytime there are ram sticks in any dual channel slots the computer will cycle forever. But if we put 2 ram sticks together (in wrong sockets so both are single channel) the PC will eventually boot during those post cycles. Such a weird behavior for flashing a bios

I did more and more reading and found out about all the information like UUID, serial, gbe, etc. that need to come over form the old board. I figured that this was why my other flashs weren’t working at all, and possibly why this flash is so janky. I went to find the dump I had taken (I usually dump any chip before I touch it as practice) and it couldn’t find it anywhere. In retrospect I don’t think I actually took the dump and skipped over it. So here we are, I am missing the old info from my old BIOS ( I have MAC and I think I have the serial, trying to find UUID). I am posting here for input from the whole process from people with more experience than me, and also to help me understand what all parts of my old BIOS are needed and in what capacity/role. Also, does it even make sense that not including that data in the 5603,5406 versions would cause it to not boot at all? And if so, is it pretty crazy that 5220 even works at all?


I have opened all the bios files I have and in FD44Editor all of regular lines are empty including GBE and ME show nothing. I did dump the chip a few times after I wrote it to see if it was any different and those ones that I pulled out did have the correct MAC. It had UUID and Serial also but at the moment I’m not sure if they are correct (finding the box). So I am unsure what the impact is for example of having the wrong serial. Or the impact of the GBE and ME sections not showing anything. Given that I have lost my old BIOS data, what steps can I take to try and flash. Remember that replacement bios chip I bought that had been pre-flashed? Well I popped that into my flasher and dumped it – it was blank in all the same places as the bios files I got straight from ASUS which confused me even more.

Right now the machine is booting and gets into windows, but we can’t use all the ram (can’t use dual channel so reduced speed and only 2 slots), and it can take a few minutes just to post while it cycles through those lights.


Attached is an image of what FD44Editor shows on a dump file where I flashed a blank 5603 straight from ASUS (after extracting with uefitool), but then read the dump again. So I’m not sure if this is just default data but I do know that MAC is correct, it’s the one on the sticker on the 24pin connector

Sorry for the wall of text, thank you in advance for any input!

dumped.png

20210206_125136.jpg

IMG_20210224_221011154.jpg

IMG_20210224_220925131.jpg

I have an update – still in a weird spot but we are in much better spot. Previously we got it in a semi working state, but no dual channel setups would work at all, so we were limited to 2 ram sticks in non-dual slots, and we still saw that weird cycling issue where it may take up to 5-10 cycles of diagnostic lights before booting

Well actually by coincience I found the exact motherboard in working condition available on ebay and I needed a cheap board for one of my own projects so I bought it, figuring it would be helpful to rip the bios from that one. So I did. When it arrived I immeditally dumped the bios and it was version 3401, pretty old. I saved that dump and then went about updating the bios to see if this exact copy of my friends motherboard had any similar issues and it did NOT. THis working ebay board went from 3401 straight to 5406 using the bios EZ flasher 3 and loading the .cap file onto a flash drive to update the bios. It worked great, that motherboard is working a treat right now in another rig. I also dumped the 5406 from this working motherboard once I updated.

Later my friends brought over his motherboard from the post above and we tried a few things, and have made progress but still having some weird issues I’m hoping someone can shed light on. Here is what we tried with his motherboard and access to a legit working dump from working motherboard. We have a dump of 3401, and a dump of 5406 from a working motherboard that has had zero issues.

1. First we tried flashing the 5406 dump straight to the broken motherboard without editing anything (so duplicate bios, S/N, UUID, no edits with FD443editor). It did not boot. No cycling, just got stuck on the VGA light forever
2. Next we tried flashing the 3401 dump straight to the broken board without editing anything. This worked! It came right up, and we decided at this point to go straight for trying to update the bios using the ez flasher 3 in the bios (the supported/correct method). After updating using the supported method it did not work. THe flash finished at 100% and said it was done, click okay to reboot, and forever stuck on the VGA light once again.
3.With that information I copied the 3401 dump and edited the MAC, system UUID, and mobo S/N using FD44Editor to the one that matches his motherboard which we deduced from stickers and his box. This flash worked great. This time we stayed here and did more testing – DUAL CHANNEL WORKS!, no cycling, the motheboard boots right up. For all intents and purposes this motherboard is fully functional at this point. This stuff likely worked with our old 3401 flash but we never tested it because it went straight for a supported upgrade to newest version which didn’t work.
4. Now that we had confirmed that 3401 was working 100% (aside from actually being able to update), we decided to try another supported upgrade to see if us changing the MAC, UUID, etc. allowed it to update the bios. We backed up/dumped the currently working 3401 flash, and went straight for a supported EZ flash to try and update to 5406. The same process and version that worked just fine on my working board from ebay. It did NOT work
5. After getting this far we just flashed back our backup of 3401 and called it a day. His machine is fully functional, but 3401 is too old to use ryzen 3000 CPUs so he won’t be able to upgrade. We’re in a better spot that we could have been but I’m really struggling to figure out why this damn thing can use older bios versions, but anything past a certain version just does not boot at all.

So that’s where we are. We have a working 3401 bios running with all features going, but we would like to update at least enough to run Ryzen 3000 CPUs and that would be good enough to use this board until EoL. It seems that older versions of the bios seem to work okay (and in some cases mostly fine), but I cannot figure out why newer ones do not. My limited knowledge on this wants to say something dram/EFI related but I don’t know enough. Does any one have any ideas on what could cause these newer version to not work?

Things I am planning on trying next time we can meet up:

Backup 3401 and do some incremental ez flash/supported bios updates, see if there is a version where features like dual channel ram seem to drop off, etc.
Learn more about EFI, read into the bios options about loading and efi shell, and look to see if there are some things to check in the efi shell that might give away an issue


After this I think I’m stumped. I’m happy that I have that machine in a more working order but I would love any extra light that can be shed on what sort of settings/data can stay on the motherboard that might be messed up/corrupt in a way that some bios versions work and others do not. Granted this is just a guess.

Thanks in advance for any help, it is appreciated.

Poste shorter! It’s impossible to read through all that!

Are both boards same hardware revision and did you use that specific cpu and ram of the non working board on the working board?

Sorry, just trying to provide as much info as I can because I didn’t want to frustrate anyone with not enough info to do anything lol. I swung the pendulum in the other direction and gave too much it seems haha

I will check on the hardware revisions to be sure, but they were using different processors, and both have any ram of all different types in it. Both were ryzen 5 1600x but we each have one of those. We tried with some Corsair vengance ddr4, gskill, and crucial OEM ram, they all worked fine on the working board, and now that we have the legacy bios on the broken board, any combination of that ram also boots just fine on the broken board.