Recently I flashed a BIOS update to my M5A88M-EVO board (AMI BIOS) using the linux tool flashrom. However, that appears to have been a mistake on my part, as the flashrom tool apparently overwrote the board’s MAC address for its onboard ethernet, its serial number etc.
I searched around this forum and saw that some of you wizards are apparently capable of modifying the BIOS image to include the correct values for a specific board, as long as you are provided with the pertinent numbers.
I have attempted to include as much information about my board as I could in the M5A88M-EVO_files.zip attachment (a copy of the BIOS that contains bad values and needs to be modified, output of lspci -vvnn and dmidecode) and I’ve attached pictures of both the box w/serial number, the flash chip and the serial number on the board (a bit blurry, but it matches the serial number on the box).
I was lucky enough to have saved the board’s onboard MAC address in my router’s DHCP lease table as well as its wake-on-lan table. The “real” MAC address is f4:6d:04:59:07:f1. Currently, I’m forcing said MAC address in my systemd-networkd configuration (Exherbo Linux).
It won’t be a problem to flash the modified BIOS containing the correct values to my board as I can just use flashrom again.
I hope some kind soul here will be able to help me fix this mess.
You can open your Bios file with UEFI Tool and look for GUIDE with starting name FD44820B. Extract body of its raw section. There you put all wished values for MAC, UUID, serial in and load it up again. That all. These are only fake numbers, but compi gives you the feeling, that there is only one compi in world with this values Dietmar
PS: This works only for newer ASUS AMD Bios. On Asus boards, you can also use the tool FD44Editor.exe.
EDIT: I just try it for your board. It does not work. The only idea I have is, to look for a full Bios extract from a working board and compare it with Hexeditor with a new Bios (same version) file. In the full Bios extract you can search with Winhex for the 6 MAC Hexvalues (12 digits).
EDIT2: May be it is in your Bios starting from adress 0013E97C (16 Places with FF need to be filled with UUID, Mac adress at the end of UUID).
Need images of all stickers on your board, be sure to look on side of 24pin and all top/bottom sides of PCI/PCIE slots too. The “Serial” shown in your first image is not always the same one they put in BIOS, depends on board series and what Asus is doing at that time. Sometimes the BIOS serial is made from a “Standard” set of starting digits, or mm/yy of manufacture + some digits from the long white sticker. The sticker with MAC address is missing in the above images, it’s often on the 24pin or SATA slots. Are you certain that is correct MAC you mentioned? If you are not sure, confirm on this sticker
You made a backup before you flashed incorrectly, or not?
What is the current invalid MAC address, all zeros or all FF? Sorry, the txt file you included that may contain this info are a mess
If the above fails for the MAC, I’ve asked someone to give me their MAC, Serial etc, and I already have their dump, from a similar board, so I will hopefully be able to give you all the correct locations and formats for the data soon
Comparing what @diderius6 mentioned above @0013E97C with another CH341A dumped BIOS and I see same FF’s in all locations at this area, so I don’t think any of those FF’s need to be changed, this is not correct location However, you can test, maybe that dump I am checking was incorrectly flashed with stock BIOS before the user redumped with CH341A? It’s possible, and would cause that to be all FF too
But I need to change the cooler on the board since it’s too noisy under load (Exherbo is a from-source Linux distribution, so I compile packages all the time) so I’ll pull out the board from the case and have a good look around.
EDIT: Uploaded a photo of the MAC sticker in the 1st post. The MAC address matches what I wrote.
Sadly no, which was very sloppy of me.
To add insult to injury, ASUS’s official 1901 download is actually the 1401 BIOS version (I haven’t contacted them about it though).
I found the proper 1901 version elsewhere.
The files were created on Linux. So you need to use Unix line endings for things to look nice in a Windows text editor.
The invalid MAC address is
(line 8 in the bad_default_MAC file).
The invalid MAC and Serial numbers are also shown in the dmidecode_output file (again, use Unix line endings to read the file).
It looks as if the Ethernet card Serial number (line 512 in lspci_output) should be changed from
Looking at another board (an M4A78E-SE where it seems I’ve also used flashrom and inadvertently clobbered the serials), it seems the order needs to be switched around a bit:
becomes Ethernet card Serial
– so perhaps that is useful to you?
The board serial number on the stickers is a 12 character string.
In the dmidecode_output file (line 59), the board is given a 13 character default Serial string, which is represented as
where I’m guessing the dash “-” is something dmidecode adds.
On that basis, it might be safe to just insert the board serial number from the stickers?
This BIOS editing business is all gobbledigook to me at this point – I’m asking you wizards for help because I don’t know how to do this myself (and I very much appreciate the input you have already provided!)
Some BIOS the MAC is at end of UUID, others it’s not, and some when it is the UUID or MAC can be inserted in various ways not straight forward. No one can locate 00-00-00-00-00-00-00-00 in a BIOS, that would give 1000’s of results
What you mentioned about your text files helps me none, sorry. Ideal solution to find exact locations of this is a known dump from a board that has not been messed up, since all this varies wildly in how Asus puts this info info BIOS for each series.
No worries mate – I have recovered the BIOS and am writing this from the recovered system.
FWIW, the board runs OK under Linux as long as I manually specify the MAC address in the systemd-networkd configuration files. So it’s working for now – it’d just be more convenient if I could at least recover the MAC address. The UUID and the System Serial are mostly cosmetic for my purposes, but it’d be nice to have them restored in any case.
For future reference, it turns out the BIOS didn’t like FAT32 drives, so I had to create an oldsk00l 512MB FAT16 partition (to keep the cluster size reasonable) on my 4GB USB drive before the CrashFree3 BIOS recovery function could actually read it.
I created a backup of the currently running 1901 BIOS before I attempted to flash the modified BIOS. So it was as simple as copying the backup to the root of the FAT16 USB drive, re-naming it M5A88MEV.ROM and then booting up the stricken board with the USB stick inserted in a USB port and let the CrashFree3 tool do its thing. Pretty painless actually.
As an aside, I remember the days when I had to start up another board in DOS, remove its BIOS chip while it was running, insert the corrupted BIOS chip, flash it and then re-insert the original BIOS chip and move the newly recovered BIOS chip to the stricken board. “Fun”.
As an aside, I’ve also cropped and resized the sticker photos in the OP per your tongue-in-cheek comment. Sorry for uploading huge pictures in the first place; I originally just copied them from my 1+3T without editing them.
Glad you recovered! Sorry again too, that always sucks!
I need to find a dump from this series before we can fix properly, if you find one let me know. Hey, you caught my comment I always say it out loud here, people upload 3-5MB image just to show a BIOS setting sometimes, drives me crazy somedays I get a 60MB package just to see 5 images
For now, on the MAC, did you try what I linked in post #8? This often will fix it on some systems.