[SOLVED] Help adding back MAC address and board serial number in AMI BIOS file for ASUS M5A88M-EVO board

Hi there,

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.

All the best from Aarhus, Denmark.

M5A88M-EVO_files_redone.zip (1020 KB)

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



I’m sure.

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

ed:0b:00:00:e0:00
(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

00-00-00-00-00-00-00-00
to
FF:<re-ordered MAC>:FF
I think?

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:

MAC
00:e0:12:34:56:78
becomes Ethernet card Serial
ff-34-56-78-00-e0-12-ff
– 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
MB-1234567890
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!)

The MAC number ed:0b:00:00:e0:00
is not in your Bios readout
Dietmar



Scheiße.

How about 00-00-00-00-00-00-00-00 (which is the corrupt/empty ethernet serial number)?

@Lost_N_BIOS

Any news on your end? =)

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.

Wow, larger images are needed J/K Here, please test this and let me know how it goes
http://s000.tinyupload.com/index.php?fil…595303120890739

If this does not work, until I can find a proper backup from this series, you can try this method
https://www.biosflash.com/e/bios-error-messages.htm

Here is the file compare between the 2 bios
Dietmar

Yes, I could have gave that info (Since I added it)?? So, did it work, can you use LAN now or still no?

Flashing the modified BIOS resulted in the motherboard starting up in ASUS CrashFree BIOS where it wants me to recover a working BIOS via either a USB stick or a DVD.

It’s getting late now, but I’ll try doing a CMOS reset tomorrow and see if that helps any. If it doesn’t, I’ll have to somehow get the board working and then re-flash the 1901 BIOS I used before.

Thanks for the help so far – much appreciated!

Sorry about that! Guess that method is a no-go. Yes, you will need to recover BIOS again, and clearing CMOS will not fix this.
Hopefully you can recover BIOS from USB

I still can’t find a proper dump from this exact model, or even one from the same series/similar model That is all we need to fix this, actual dump from any M5A88M or M5A88xx etc

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.

Thanks again for your efforts!

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.



Re. post #8, I’m not sure I quite understand what else it is you want me to try there, apart from trying to flash your modified BIOS (which went all pear-shaped)?

What am I missing?

And where would you suggest trying to solicit BIOS dumps from working M5A88-M EVO boards?

Apologies for the very late reply.

Just wanted to say that I got the MAC address added back using the link you supplied in post #8.

The thing that did the trick for me was creating a bootable FreeDOS .iso with the dmi.exe tool and then executing the command:

dmi /o 1 "F46D045907F1"

I didn’t yet find a way to add the board serial number, but that’s less important in terms of functionality, as e.g. FreeBSD and Haiku flat out refused to work with the onboard ethernet interface when it didn’t have a valid hardware address.

Just replying to the thread with the solution in case it helps someone else. Thank You!

1 Like