Hello everyone.
I’d thought I’d best ask the experts who post here for some advice.
I’ve recently ran into some problems caused by a bad bios flash; I’ve been unable to boot for about two weeks.
I ordered a winchiphead CH341A programmer and some replacement BIOS chips (MX 25L8005PC-15G) from China as I broke two of the legs off the original chip when removing it from the socket - oops!
This has all arrived now and I’ve managed to get the system working again by flashing the board’s latest BIOS onto the blank chip using FLASHROM under Arch Linux.
It’s quite an old board with an old AMI BIOS:
https://www.asus.com/Motherboards/M4A785TDV_EVO/overview/
There’s one problem however!
The integrated Realtek GbE port refuses to work properly and this is where I’m stuck.
In Windows it’s showing a Code 10 error.
I’ve booted into FreeDOS from a USB stick and used the realtek diagnosis tool (RSET8168) to look at my MAC address and other details.
From reading around I believe I may need to add the realtek firmware into the BIOS ROM and/or add my board’s MAC address.
http://www.realtek.com/downloads/downloa…GetDown=false#3
I know that Asrock released some MAC Tools for their boards but I’ve not had any success with those - perhaps I’m typing in the wrong command?
http://www.asrock.com/support/Download/MACTool.asp
I believe my board’s MAC address is printed onto a sticker on the board.
I’ve uploaded some pictures and files to my Google Drive:
https://drive.google.com/drive/folders/1…z3j72hirvGXN14w
I also tried flashing the initial release of the motherboard’s BIOS onto the chip and then updating it to the latest release but this didn’t solve the problem.
Can this be fixed or is it easier to I order a standalone Intel PCI Express card off ebay, etc.
Admittedly it’s approaching the time where I should probably replace the whole system with a Ryzen setup. A Phenom II X4 955 isn’t high end anymore =D
Yes, invalid MAC Address is likely the issue, confirm that by checking IPconfig /all from command prompt. If you see all zeros, or 88:88:88:88:87:88, that’s the usual, but could be other incorrect data too.
Correct LAN MAC is usually shown on sticker on either one of the PCIE slot sides, or the side of the 24 pin connector (Usually this one is MAC).
Can you check those stickers now, and see if one of them matches what is shown in your image (ED 0B 00 00 E0 00, looks incorrect too)
Once we have correct MAC it can be corrected by editing BIOS, then flashing or programming modified BIOS back onto chip. Or it may also be corrected by other tools, I can’t remember which is needed for this board but once you can confirm your current MAC and dump the BIOS we can check.
How badly are the legs broken on your original BIOS chip, will it fit into a flash programmer so you can make a backup copy? If it wont fit, can you solder?
If yes, does it look like you could solder some pin or tiny piece of metal to each broken leg, enough so it would then fit into the programmer so you can make a backup, you’ll want serial and UUID, DTS key etc from the original chip.
Some of that can be reconstructed from the stickers on board probably if you can’t get an original BIOS backup.
How long until your programmer arrives, or is it already there now? The board is working now, correct? I assume so, but double checking since it seemed like you were waiting on programmer.
I thought that MAC address was strange too. I don’t see the card appear in the results when I do an ipconfig /all.
I’ve only spotted two labels on the board and took pictures of both. (my Google Drive link)
There’s one yellow sticker on the board near the Ethernet port: 001E8C00002985F1
I’m guessing the MAC may be 001E8C2985F1
The first part matches up for ASUS in a OUI search.
Annoyingly I don’t have any old router logs to confirm what my MAC was.
There’s a white label but I think that’s may be random information or perhaps a model number.
I’ll have a look on the 24 pin power connector in case there’s any more labels I haven’t noticed.
Two of the legs got broken off when I removed the chip so it wouldn’t read when placed into the socket on the programmer.
I did try to connect the original chip up to the programmer using wires and an adapter board which come with a soic clip - didn’t have any joy though - made it worse! I don’t have the tools to solder temporary legs onto it =(
I’ve got all the equipment and the computer is now working - apart from the ethernet. I’m currently using a Atheros AR9271 USB dongle for internet access. I should be able to dump the current bios in AFUDOS or using the programmer if required.
I’ll have another look for more labels. Thanks for replying.
EDIT
You’re absolutely right; I’d never have noticed it.
Sticker on the 24 pin ATX port. MAC address must be:
002618F327C8
I did a google search and found this command prompt command:
> wmic csproduct get uuid
UUID
03000200-0400-0500-0006-000700080009
I’ve kept the box for the board for all these years. The serial number is:
99M0AD062724
I’ve dumped my BIOS using AFUDOS and uploaded it. (plus the latest bios rom from the ASUS website)
I’ve also downloaded a copy of MMTOOL3.26. I’ve got HxD installed. Don’t know if I need anything else I’ve never really done any BIOS editing before =D
I’ve played with serial recovery on old routers; I’ve got a CH340a USB to TTL programmer as well.
All the photos and files are on the Google Drive link: https://drive.google.com/drive/folders/1…z3j72hirvGXN14w
I’ve added a picture of the two ch341a programmers, soic clip and original bios chip too.
The sticker near Ethernet port (Yellow) is the DTS sticker, this is a “Key” of sorts, part of the BIOS identifiers unique to your board like UUID and serial.
Too bad you don’t have solder tools to make some temp legs, that would save a little bit of work, but we can get there with your DTS sticker, and the other long white sticker.
Anything you pull such as UUID serial etc from the board/BIOS now will not be correct, but we can use it to find where the incorrect info is placed.
That’s due to the original BIOS chip not usable now, and replacement is in use without carrying over orig details and that can mess with windows activations sometimes.
Until we fix it all
Here’s the BIOS ID info I have on all this for Asus boards in general, this is saved info have in regards to another Asus related app that doesn’t apply to this boards BIOS (FD44Editor) -
Primary card MAC : 12 hexadecimal digits (6 bytes)
DTS key : 16 hexadecimal digits (8 bytes) (= digits 5 to 20 of UUID) (Yellow Sticker)
System UUID : 20 hexadecimal digits (10 bytes) (4 digits hex + DTS Key) the first 4 characters (first 2 bits) can be chosen randomly but avoid values between 20 and 2F
Motherboard S / N : 15 characters, sometimes 12 characters (the sticker on the CM is only 12 characters, but we know that it is sufficient to add at the beginning MT7 for P67 and Z68, possibly MG7 on Z77)
In image to better understand about serial/sticker:
Serial number (only the first 12 characters highlighted in yellow + 3 to be added at the beginning)
http://nsa38.casimages.com/img/2016/03/0…63037982258.jpg
Sticker on board = 099K042-00511-60-MIBAC0-A06 0403 (<< Last set = BIOS original 0403)
DTS Key Sticker on board = 001E8C00002985F1
Serial from box = 99M0AD062724 - Does this match the serial number shown on sticker on side of PCIE slot? Sorry, it’s not PCIE slot on this board! I checked some saved images I had from same board, the serial sticker is on the bottom of the very last PCI slot
If no sticker there, possibly check back of board, it will look like the MAC sticker. I only ask to verify because if you didn’t get brand new when purchased board serial may not match box serial (same even if purchased “New” and it wasn’t new)
System UUID - we partially create since no backup = 001E8C00002985F1 + First 4 digits we pick, I’ll use last four of serial = 2724 + 001E8C00002985F1 = 2724001E8C00002985F1
Motherboard S/N - we create = MT7 + 99M0AD062724 = MT799M0AD062724 (“MT7” picked based on several examples found online of actual serials from system info dumps for this model)
LAN MAC Address = 002618F327C8
Once you verify the serial on box is same as board sticker we can move forward. I can edit all this into the BIOS for you if you want, or did you want me to show you how?
Probably better for me to do it, but if you want to learn I can probably show you the way. First I must locate all these date positions in the BIOS though, if you are here right now it will take me some time.
I say that since I’m not used to editing these older BIOS as often these days I will take some time to find it all again.
Please verify for me, when you check “Serial” number in AIDA64 (not trial version), does it show 1234567890 or MB-1234567890. I can PM you link to portable version non-trail if you do not already have this program, let me know
This is located in the Computer > Summary section, at the very bottom (Please add image if you don’t mind, thanks, this help me verify correct position to put valid info)
See, mine even with different board shows same incorrect UUID as your board (This is generic fake UUID)
I’d also like to see what’s shown in AIDA64 currently for LAN MAC, this is located at Network > Windows Network and then find your LAN MAC by recognition and see what it shows for MAC Address
Because I am not finding the MAC ID shown in that green image anywhere in the BIOS, nor can I find the 88 88 88 88 87 88 usual invalid one.
Good morning Lost.
I’ve had a read of your post, taken the board out of the case and uploaded some better pictures.
https://drive.google.com/open?id=1atztK8…z3j72hirvGXN14w
So I’ll confirm all the information you posted.
DTS KEY: 001E8C00002985F1
MAC ADDRESS: 002618F327C8
SERIAL NUMBER: 99M0AD062724 (box & board match; bought it new)
WHITE LABEL: 009K042-00511-60-MIBAC0-A06 0403
Command line
> wmic baseboard get serialnumber = MB-1234567890
The ethernet card doesn’t show up in AIDA but it is there in the Device Manager. I’m hoping that it’ll all be back to normal once we try flashing it.
But if not then at least we tried.
EDIT
Added an AIDA report to my Google Drive
Thanks for all the confirmations! I bet you’re right about LAN MAC and AIDA64, I’ve never checked how it looks when MAC is messed up, was hoping it would show up but give wrong MAC address.
I am getting offline right now, but will get back on this tomorrow and hopefully have this sorted out for you soon!
Also, thanks for the AIDA report, hopefully somewhere in there I will see a different MAC address for the onboard because I’m not finding that one (In green image on your google drive) in the BIOS backup anywhere.
I assumed it would get saved, but maybe not since it’s all messed up. I will eventually find the default invalid one in there somewhere and replace! It’s not the usual suspects is why I haven’t found already.
Thanks for taking the time to find a solution.
The only reference I can see to “MAC” is in the Realtek module. I’m no expert with MMTOOL but I’ve used it to extract that file from the dumped.rom
I’ve really no idea if that’s significant, it could just as easily be the wrong place to alter!
I don’t see any references to that bad MAC address either.
Could I be missing something else in the BIOS file? The PXE rom code?
Hopefully the adapter isn’t kaput! I wouldn’t expect it to die from a bad flash but who knows?
Enjoy what’s left of the weekend.
EDIT:
Would it help to get more complete BIOS dumps for my board? For comparison against my file? Would it help to spot the missing/damaged area(s)?
There’s one for the V EVO here: https://www.bios-mods.com/forum/Thread-M…O-need-2-1-slic
There’s one for the M EVO (mATX) here: https://www.bios-mods.com/forum/Thread-A…lic-2-1-Request
I’m just chucking out ideas, it’s not an endorsement of that site.
I still wouldn’t know their MAC address or other details but I could register on that site if required.
I could possibly ask on the AMD reddit section or elsewhere.
It very well could be the correct place to fix in that file you mentioned, but I was not sure since it didn’t match what you had in the image on google. And PXE booting is usually like “Boot from LAN” module, but it still could be the only place that contains the MAC. We can try change there first and see.
Yes, I too dumped all the modules, both ways, and looked around with hex tool. Usually that’s not even needed to find MAC, normally you can open the BIOS itself in hex and find it, but not always so I dumped to check.
I’ll instead look around for a method to correct it on a running board, usually there is programs posted that do it while it’s up and running then it would be fixed in BIOS too and from then on it’s OK after BIOS update as long as it’s not written again with a programmer without MAC inside BIOS.
I’ll check those files, but it’s not really helpful unless they’ve posted their known working MAC along with the dump to compare to. I will look though, maybe the MAC is there in the same file with the DMI board details I will be correcting the rest in.
I doubt your MAC itself is fried, just messed up is all.
What is the actual LAN Chipset? Hopefully it’s Intel! Can you please post image of ipconfig /all want to see what it actually shown, nothing, zeroes, no adapater etc
The manual and website list it as a Realtek RTL8112L PCI-Express Gigabit LAN.
A google search of the vendor/device id (VEN_10EC&DEV_8168) claims it’s a RTL8168D/8111D.
I’ve attached a screengrab of ipconfig /all; the ethernet card doesn’t even listed which is a bit weird
I was planning on booting up into various Linux LiveCD’s to see if I have any joy there.
I know you can use lspci in Linux to list devices - perhaps I can get more information.
Sorry to double post - but I’ve had a bit of a breakthrough!
I mentioned trying out a Linux Live CD.
I’m currently booting off an ArchBang Live CD (copied on USB stick) running in memory.
We know the MAC address for the card should be 00:26:18:F3:27:C8
Like Windows, Linux was able to spot the Realtek card but it wouldn’t connect.
> lspci
> 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
The MAC address is all screwed up:
> cat /sys/class/net/enp2s0/address
> Current MAC: ed:0b:00:00:e0:00 (unknown)
> Permanent MAC: ed:0b:00:00:e0:00 (unknown)
I installed macchanger: https://www.archlinux.org/packages/commu…_64/macchanger/
First you lower the network interface:
> sudo ip link set enp2s0 down
Then run macchanger:
> sudo macchanger --mac=00:26:18:F3:27:C8 enp2s0
> Current MAC: ed:0b:00:00:e0:00 (unknown)
> Permanent MAC: ed:0b:00:00:e0:00 (unknown)
> New MAC: 00:26:18:f3:27:c8 (ASUSTek COMPUTER INC.)
Finally you bring the interface back up again:
> sudo ip link set enp2s0 up
Bang! Working immediately.
I’m posting this whilst connected over an ethernet cable to my ASUS N66U.
This is definitely promising - the card still works!
I’m not sure if the changes will stick, it will likely revert back once I reboot.
EDIT The adapter has forgotten the repaired MAC once rebooted into Winblows 10. Damn!
Good find! I tried to verify that info you posted about which chip in your google drive, but the image is too blurry. Can you read in person the info on the realtek chip and post it here, thanks! Only need that first line under realtek name - RTLxxxx
I may have a tool that should should make it stick, but need to verify what exact chip is and what is current actual IP (what you posted above, or what you initially shown in the realtek app) before we stick it in there
I see 00 00 00 00 00 E0 in your ipconfig above, and that is in Intel/Realtek PXE (Option rom 4) module too, as well as 8 other instances in the BIOS, but I see this on my end in ipconfig too so probably ignore.
Since it is already broke for now, see here and try the linked software using instructions mentioned and see if you can get it working properly, and if it does and stays after reboot then make new backup BIOS dump with programmer and send copy over.
https://translate.google.com/translate?h…htm&prev=search
More info on that same program here - http://www.360doc.com/content/12/0831/17…233424588.shtml
If that files, try this guide for EEUpdate, I checked and the mediafire link is still valid too.
https://translate.google.com/translate?h…965&prev=search
And another good guide here, with direct download for RTL8111 chips (UniExtract exe - to get 8168 map and cfg files, along with PG8168, so similar to that first link above)
https://forum.wifihell.com/thread-411-1-1.html
I see 00 00 0d 0a 00 00 in the PXE (Option Rom 4) that you mentioned and showed image above (Client MAC Addr image in hex)
Managed to get a clear photo of the chip on the board - I’ve replaced the older picture.
It looks like:
REALTEK
RTL8112L
97L85S2
G930 TAIWAN
Thanks! 8112L is what I suspected. The first link I posted above should get it all sorted out, so you can set MAC and verify if it stays on reboot, if not try one of the others
It’s all same family (RTL-81xx - Realtek PCIe GBE Family Controller (8168/8168/8168D/8168DP/8168E/8112/8112L)
I starting to think we just might need a dump from another working board.
I don’t believe that ASUS or Realtek would really care given it’s age.
I’ve added some pictures with the Realtek programming tool.
I can get it to read the EFUSE section with: PG8168.EXE /EFUSE /R
I can’t write to EFUSE using PG8168.EXE /EFUSE /W or /EFUSE /NODEID or /BARMAC.
But I think that’s by design. I suspect that efuse can only be written once when the board was produced:
https://en.wikipedia.org/wiki/EFUSE
I can get it to read the EEPROM section with PG8168.EXE /R
But it claims to be blank!
If I try programming the EEPROM I get a verification error message.
I’ve extracted every module in the BIOS rom and searched for EB0B0000E000 (MAC in Realtek DOS DIAG tool) as well as 002618F327C8 (Real MAC) but couldn’t find any matches.
I can see several matches in the BIOS dump to 000000000030 in the BIOS rom (this is the NODEID/MAC listed in the EFUSE)
So I’m a bit stuck again. I’ll keep trying with the Realtek tool and different configs.
Did you try anything with EEUpdate yet? I’ve used that before a few times, and I have 20+ versions of that, but I think the one above might be best suited since it’s not tied to an Intel ID (only certain ones for certain systems etc)
For PG8168, when trying to write, you have to edit the cfg file first too, did you do that and then command same. Or maybe that only applies in certain situations?
I agree, and don’t think that’s correct about the effuse mac number. Did you verify that chip is even on your board?
Yes, I’ve dug through each module from the dump too. We wont ever find the correct MAC until we put it in there, but the others I’m not sure where they are either.
Can you borrow a soldering iron, or pick one up cheap locally? Fix those legs on the busted BIOS
And yes, a SPI Dump from a working board, that we know is a dump, would be great! I’ll look around and see if I can find some later, surely they’re out there, but finding one with good MAC and that’s not the issue for the dump might be tough.
* edit - I found one Russian site supposed to be dump of 2105, registered and all that, downloaded link went to yandex link, downloaded and compared and it’s not even a dump straight copy from Asus.
Tough to find a dump on this one, I even removed the -V and EVO, still no luck, maybe remove TD too, but then that leaves a ton of boards
No luck with the programming tools, they’re the same ones that Asrock has on their website.
I did make the alterations to NODEID in the config files and/or tried entering manually.
The MAC address did change but on reboot it reverts back again. ASUS must’ve done something different to ASROCK / MSI / etc.
EEupdate didn’t recognise it - must be Intel only.
I’ll see if a neighbour who owns a soldering iron can work some magic with the old chip.
It only has to last long enough to get a single read off it.
It’s missing a leg or two; could possibly solder some bits of wire on there or something.
Intricate work though.
I should’ve been a bit more careful with the original chip.
I never realised that the board makers stick the MAC address in there with the BIOS.
Seems like a really stupid place to put it - should be a dedicated chip.
I thought I’d just drop a cheap replacement chip in and have no problem…
Do they still do put the MAC in there now even with new UEFI boards?
I’ve also noticed that few modern boards have BIOS flashback features. Only high end Crosshair boards from ASUS and Gigabyte with their dual bios. Standard feature on Supermicro boards. Used to be on most of the ASUS boards not too long ago.
Worst case scenario - I buy a cheap PCI card off ebay i.e. Realtek 8111E (£3) or use Linux.
All the new boards have Intel Ethernet built in - no point in buying an expensive card.
I was looking at all the chips I ordered today from a seller in China with the CH341A programmer.
> 2 are the correct chip (MX25L8005, 1024 KB)
> 2 are the wrong chip but branded as the above - I can’t see the difference (MX25L3205, 4096KB + MX25L4005, 512KB)
> 1 chip was dead!
2 of 5. Still can’t really complain for £2 including P&P though! Did take about 3 weeks to arrive though =P
Damn, you killed it! Yes, someone that can solder could solder in some thin wires to each failed leg and then a thin metal clip or tin the other end of the wire and put into programmer in correct position.
Missing leg doesn’t matter, as long as there is good connection to each output leg area and no shorts between then, you’ll get a good backup.
Yes, even now MAC is still stored in BIOS. All manufacturer tools like ez-flash, qflash, ect built into the BIOS or send with BIOS downloads from manufacturers all ignore or preserve the MAC when updating so this doesn’t happen when using those type of BIOS update methods (usually)
Cheap LAN card will do it, but it would be nice if we could fix!
I have a M4A78LT-M/CM1730/DP board here, I’m going to dig it out and see if I can gather anything from it’s BIOS tonight. Wish me luck!
Quick look at the BIOS Dump I have from it, before I find the board to get it’s mac, I see same in PCI Option Rom 4 in this BIOS as all the others, so this can’t be where it should be stored
* Edit - pulled out the board from storage, got the MAC from label and compared with dump I have above, instantly found 2 instances in raw hex of dump without having to extract anything.
So now I know where it should be, and around what stuff around it should look like. I don’t even see some stock “To be filled by OEM” in this BIOS you dumped, which I see in all BIOS. Maybe this is the problem, the dump is corrupted or not exact same as what’s on the BIOS?
Did you verify it when saving? Can you now dump with another version of software, or had you tried them all already before finding one that works? If only one version works for your programmer, can you try a few other dump methods for me, and send those over.
Dump/backup with BIOS itself, or built in flasher in BIOS (EZ Flash), if you can. I don’t remember if boards this old had backup option or flashing option in BIOS or not.
If not, can you do backup with AFU using this command - afuwin.exe backupBIOSname.bin /0
You may need to use older versions of AFU, like 2.xx or 3.xx - here’s a few DOS versions - http://www.filedropper.com/afu
Wait, here is AFUDos from Asus page for your board, so this one should work no problem! - http://dlcdnet.asus.com/pub/ASUS/misc/utils/AFUDOS241.zip
There is also many AFUWin versions you could try too, google will get you some downloads if you end up having to try other versions.
Also, install this and save a backup too. As many different backups as you can generate using different methods would be good. I think the original dump you sent might be either partially messed up, or missing some stuff maybe?
http://dlcdnet.asus.com/pub/ASUS/misc/ut…Updt_V71803.zip
Never mind, I found it, it’s uncompressed in the other BIOS, but compressed in your backup BIOS, all sorted on that!
Well, that BIOS didn’t help me much I need dump from this exact model, real dump from working board.
08:30 here. I’ll pop round in a hour or two.
Hopefully we can get a useful read off the chip.
I’ll connect it up to the programmer and do sudo flashrom - r backup.rom got an old Dell D630 that runs Linux for that purpose.
I don’t think the contents will be all that useful for the most part - it bricked the board after all.
I tried to add the latest AMD CPU microcode updates using MC Extractor and MMTools.
The modded BIOS passed all the checks including the EZ Flash 2 safety check but still took out the board =<br />
I’ll backup the contents of the broken chip as is.
I might even try writing the latest BIOS to it and taking a second backup with a different name.
Hopefully we can spot some references to the proper MAC address, as you have on your board.
When it comes to modding the BIOS on the working chip - AFUDOS should give a complete dump shouldn’t it? Make the changes in a Hex Editor and flash normally through EZ Flash / AFUDOS?
I’ve flashed the working chip back to the initial BIOS version.
If DDR4 was a bit cheaper I might make the switch to something newer. The alternative is an old FX chip or Haswell chip (4790) and keeping my DDR3. Intel chips have all been hit by Meltdown though =X
Even old AMD chips like mine only got hit by Spectre.
Don’t write to the broken chip!! Not until we’re 100% sure backup is verified OK, really no reason to write to it at all, until maybe we’re done and you want to play around.
So, you got it soldered into a useable state? I don’t need a dump on the new working chip, it has nothing we need in it anymore, only the broken original BIOS chip.
Yes, method you mention about hex editing is correct. Some files will need extracted with MMTool and hex edited, or no extraction for some data, depending on where the info is located
How did you flash your modified BIOS that killed the board? And what was the source BIOS you edited, a dump, or a download from Asus etc?
I’ve not touched the broken chip yet.
I won’t write anything too it until you give the green light.
For the BIOS that killed the board I edited the latest file from the ASUS site.
I took the microcode updates from here I believe: https://github.com/platomav/CPUMicrocodes/tree/master/AMD
I used a HEX editor to replace the appropriate sections.
The modded file passed all the checks with MC_Extractor_v1.20.0_r69 and the EZ FLASH checks.
I wouldn’t want to flash that dump again.