I’ve recently ordered a replacement Mainboard for an old test machine of mine. It’s running an Intel Xeon E5-2697 v2.
I’ve decided to order an Intel DX79TO because it was really cheap and seemed to have descend IO among other things seemingly going for it. However when upon arrival I quickly noticed that the Mainboard kept showing 00 as a post code and didn’t boot. At first I just assumed that the Mainboard was broken or something so I got a replacement from the seller. I also didn’t have to send the old one back so I now had 2 of these boards (one seemingly broken).
I then tried the new Mainboard and quickly encountered the same exact issue, then, after a bit of googling, I found a few people saying that the Microcode for the Xeon E5 v2 family wasn’t supported: Reddit as well as this forum post (forums.tomshardware. com/threads/will-intel-dx79to-support-intel-xeon-e5-1620-processor.399884/).
I started to look into modifying the BIOS to add support (Intel never released a BIOS version with support and even the ones they did release are really hard to find these days as Intel took them offline). I initially didn’t expect this to be feasible at all but the more I looked into it the more doable it seemed to be (I had no prior experience with BIOS/UEFI modding). I found a few threads in different forums including
this (winraid.level1techs. com/t/need-help-updating-microcode-for-intel-dx79to/33977) as well as this (www.bios-mods. com/forum/showthread.php?tid=40116).
Since I dont have a CPU supported by the BIOS of the Board I have and since I read that the BIOS had to be signed by Intel in order to be installable by Intel’s BIOS update software I decided to directly flash to the SPI memory chip on the board. I also had a few ESP32’s lying around which I figured could work just like on of these CH341A based SPI programming clamps (www.amazon. de/EEPROM-Programmierer-CH341A-SOIC8-Adapter/dp/B09MHH6D8H). At first just soldered a few wires to the SPI flash chip which didn’t work, I then, using an oscilloscope, discovered that the SPI chip was being used by the Mainboard when giving any power to it. I proceeded to desolder the IC and found this utilty to use an ESP32 (github. com/thisiseth/esp32-serprog) as a flashrom (www.flashrom. org/) serprog interface.
I managed to read the firmware which was on the chip and ran MCExtractor (github. com/platomav/MCExtractor) to find there were not Microcodes for the CPUID i needed (306E4 according to this Microsoft support document (support.microsoft. com/en-us/topic/kb4497165-intel-microcode-updates-100229c5-e199-37bb-031f-9faa76daa07a) as well as a few other sources) - just like I expected:
╔════════════════════════════════════════════╗
║ MC Extractor v1.101.0 r302 ║
╚════════════════════════════════════════════╝
original_bios.bin (1/1)
╔═══════════════════════════════════════════════════════════════════════════════════════════════════╗
║ Intel ║
╟───┬───────────┬───────┬────────────────┬──────────┬────────────┬───────┬────────┬──────────┬──────╢
║ # │ Type │ CPUID │ Platforms │ Revision │ Date │ State │ Size │ Offset │ Last ║
╟───┼───────────┼───────┼────────────────┼──────────┼────────────┼───────┼────────┼──────────┼──────╢
║ 1 │ Microcode │ 206D7 │ 6D (0,2,3,5,6) │ 70B │ 2012-02-29 │ PRD │ 0x4000 │ 0x1A3000 │ No ║
╟───┼───────────┼───────┼────────────────┼──────────┼────────────┼───────┼────────┼──────────┼──────╢
║ 2 │ Microcode │ 206D6 │ 6D (0,2,3,5,6) │ 60C │ 2011-09-29 │ PRD │ 0x3C00 │ 0x1A7000 │ No ║
╟───┼───────────┼───────┼────────────────┼──────────┼────────────┼───────┼────────┼──────────┼──────╢
║ 3 │ Microcode │ 206D6 │ 6D (0,2,3,5,6) │ 616 │ 2012-02-29 │ PRD │ 0x4000 │ 0x223000 │ No ║
╟───┼───────────┼───────┼────────────────┼──────────┼────────────┼───────┼────────┼──────────┼──────╢
║ 4 │ Microcode │ 206D7 │ 6D (0,2,3,5,6) │ 70B │ 2012-02-29 │ PRD │ 0x4000 │ 0x227000 │ No ║
╚═══╧═══════════╧═══════╧════════════════╧══════════╧════════════╧═══════╧════════╧══════════╧══════╝
Press enter to exit
Note that I have attached a files.zip containing all relevant files.
Here comes my problem: I proceeded to, not knowing any better, replace the first microcode with the ‘correct’ microcode (according to this Github Repo (github. com/platomav/CPUMicrocodes)). I, even at the time, had little hope that it would be this simple but I figured I’d try it anyway. As I mentioned, I had no prior experience with BIOS/UEFI modding at all.
I then wrote the new binary file (also to be found in the attached zip archive as ‘modified_bios.bin’) to the SPI flash chip and soldered it onto the Mainboard again. Unfortunately however I quickly discovered that my suspicion that it wouldn’t be enough to just replace the microcode was true.
I encountered the exact same problem as I did to begin with: 00 as post code and no other obvious sign of life. Note that the CPU is getting quiet hot after a while, not sure if that’s new behavior with the new BIOS (I suspect I just didn’t notice it before).
That’s my status quo and I really hope there’s a some way to make Mainboard work with the CPU, especially as I have 2 of these CPU’s and now also 2 Mainboards and the closest equivalent that does support my CPU’s out of the box seems to go for twice as much on ebay.
Cheers, Emil
P.S. I’m sorry most links are the way they are but apparently new users are only allowed to post 2 links in a post, also new users don’t seem to be able to upload attachments to here you go:
MENTIONED ZIP FILE: