5

I have backed myself into a corner with a new system I'm building. The current BIOS is completely broken (it locks up after drawing half the screen if you enter settings during POST, locks up if any EUFI device is present in the system, etc). I am able to boot into a semi-functional linux environment using a GRUB cdrom.

In researching alternative ways to flash this bios, one option I turned up was the Linux based utility flashrom.

I am able to run the flashrom utility and it finds the chipset and memory space that I need to write. However when I try to either read or write (-r/-w args), I am greeted with a message saying the utility is unable to read from the chip

Found chipset "AMD SB7x0/SB8x9/SB9x0". Enabling flash write... OK.
Found Winbod flash chip "W25Q64.V (8192 kB, SPI) at physical address 0xff800000.
Reading old flash chip contents... FIFIO pointer corruption! Pointer is 0, wanted 3
Something else is accessing the flesh chip and causes random corruption.
Please stop all applications and drivers and IPMI which access the flash chip.
FAILED.

I have been unable to locate what software, drivers, kernel modules or other devilry has the device open. What do I need to shut down or how can I find the culprit?

  • Many mobos have an "oh #$#!*)(#*" recovery procedure built in to the BIOS to recover from bad flashes. I'd suggest trying that... – derobert Nov 21 '13 at 21:36
  • @derobert First of all, I can't get INTO anything built into the BIOS. Also I've read the manual and searched around and there doesn't seem to be an in-situo recovery procedure for this board. It does NOT have dual BIOS's like some advanced boards do these days. – Caleb Nov 22 '13 at 0:00
  • Are you sure it isn't just faulty? – slm Nov 22 '13 at 0:05
  • @slm "Faulty" as in what? I'm sure something is wrong. The BIOS seems to be the main culprit although it's hard to prove. It could be a bad EEPROM chip, but I don't know what that would look like from the standpoint of flashrom or any of the other tools I've tried. – Caleb Nov 22 '13 at 0:18
  • I guess I'm asking if the MB was working fine for any length of time prior to the BIOS flashing attempts. – slm Nov 22 '13 at 0:20
3

Here's a couple of things to try out. First I found this page off of the flashrom website called: Random Notes. Might be something there that could help.

Also instead of using flashrom perhaps you could use one of these alternative BIOS' instead?

The 2nd link is the new name for the LinuxBIOS project.

excerpt

coreboot is a Free Software project aimed at replacing the proprietary BIOS (firmware) found in most computers. coreboot performs a little bit of hardware initialization and then executes additional boot logic, called a payload.

With the separation of hardware initialization and later boot logic, coreboot can scale from specialized applications that run directly from firmware, run operating systems in flash, load custom bootloaders, or implement firmware standards, like PC BIOS services or UEFI. This allows for systems to only include the features necessary in the target application, reducing the amount of code and flash space required.

coreboot currently supports over 230 different mainboards. Check the Support page to see if your system is supported.

Perhaps you'd have better luck with one of these alternatives?

Additional finds

I came across this Phoronix forum thread titled: Thread: Bios or UEFI update using Linux. In this thread the question is asked and answered:

Q: Which is the situation about the possibilities of update the Bios or the UEFI using only Linux on the new motherboard? Is it possible? Is it an easy procedure?

To which the answer was:

A: flashrom from coreboot, and no, often doesn't work on new boards.

That comment was from 2011, so things may have changed.

References

1

Even with the many great suggestions from slm and others, I was never able to flash this BIOS from on the system. In the end I removed the chip and flashed it externally using flashrom on a Raspberry Pi with a homemade EEPROM attachment. Having gotten the system back to a fully working state, I can now flash it internally using the same procedure that was failing per my original question.

In other words, the problem was what the error message reported. The problem was the BIOS being so borked that the system was not working according to spec in spite of having booted linux.

-1

This was (most likely) a bug in flashrom or rather an unanticipated change by AMD. Should work with flashrom 0.9.8 and above IIRC. Asking on the proper support channel for flashrom (IRC or mailing list) would have answered this way faster than in 3 years ;)

  • What would a different version of flashrom have to do with it? Did you miss the fact in my resolution that once I fixed the BIOS the system was booting to with an external flasher flashrom worked fine to flash it internally? In other words the version I had was fine on that AMD board. – Caleb Dec 28 '16 at 20:26
  • Yes, indeed I missed the second (and accepted) answer. Still, everybody else getting this message should first check the flashrom version because it is by far more probable that the reason I mentioned is the culprit. Proper support for newer AMD chipsets was added to flashrom 2013-2014 and everything (known as of 2016) should work with 0.9.8+. And if not they should contact the developers. – stefanct Dec 30 '16 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.