On 27 Nov 2013 23:41:34 -0500 "George Spelvin" linux@horizon.com wrote:
After the built-in Q-Bios would not program the flash ("The current flash utility is outdated"), and failing to find where Gigabyte hid the DOS-based flash utilities, I fired up flashrom.
I got the latest r1764 from SVN, and it proceeded to complain about Macronix's ambiguous chip IDs:
[501]# flashrom -p internal flashrom v0.9.7-r1764 on Linux 3.12.1-00045-g27b879d64d (x86_64) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. Found chipset "Intel X79". Enabling flash write... OK. Found Macronix flash chip "MX25L6405(D)" (8192 kB, SPI) at physical address 0xff800000. Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) at physical address 0xff800000. Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) at physical address 0xff800000. Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E" Please specify which chip definition to use with the -c <chipname> option.
After failing to read the chip ID without removing my motherboard, I found a high-resolution picture at
http://forums.overclockers.co.uk/showthread.php?t=18477560
(search for "The DualBIOS chips.")
This confirmed the Flash as MX25L6406E, so I added the appropriate -c option, and... success!
Hello George,
thanks for your report! Do you know which revision your board is? There are two: 1.0 and 1.1 http://www.gigabyte.com/products/product-page.aspx?pid=4288 http://www.gigabyte.com/products/product-page.aspx?pid=4766
It had to reboot a few times before popping into the BIOS, but it worked.
The only problem is that the BIOS settings were blown away (a fairly simple reset procedure) and my ethernet MAC address got reset to 88:88:88:88:87:88 (working on fixing that).
That's a common issue and we can't very much about it. The locations of sensible data are not standardized... but I'll add a note when I add you board to the wiki information.
Looking in the -V output, I see some mention of
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write. 0x58: 0x07ff0000 FREG1: BIOS region (0x00000000-0x007fffff) is read-write. 0x5C: 0x01ff0003 FREG2: Management Engine region (0x00003000-0x001fffff) is read-write. 0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write.
And, indeed, the 4K pages at 0x001000 and 0x002000 include the old MAC address in the first 8 bytes. So let me try creating a layout file:
000000:000fff descriptor 001000:002fff enet 003000:01ffff management 020000:7fffff bios
And try restoring that oprtion from the backup I took:
[…]
Did that work out eventually?