After having tried all 4 options of flashchips on my bios, they will all fail to erase and then finally write the new Coreboot ROM I've compiled.
I have changed power sources, methods of powering the Pi3, as well as all the different SPI speeds.
Found Macronix flash chip "MX25L6405" (8192 kB, SPI) on linux_spi.Found Macronix flash chip "MX25L6405D" (8192 kB, SPI) on linux_spi.Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on linux_spi.Found Macronix flash chip "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E" (8192 kB, SPI) on linux_spi.Multiple flash chip definitions match the detected chip(s): "MX25L6405", "MX25L6405D", "MX25L6406E/MX25L6408E", "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E"
I noticed while Googling flashrom troubleshooting it said something about 'turning write-protection
off'. I have absolutely no issues reading the BIOS, and I have md5sum checked it multiple times and they all give the same reading. It seems as if something else is missing that's not allowing the chip to be erased.
Here is a log I've included from one of the many failed attempts:
flashrom v0.9.9-r1954 on Linux 4.9.77-v7+ (armv7l)flashrom was built with libpci 3.3.1, GCC 5.3.1 20160205, little endianCommand line (8 args): flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w /home/pi/coreboot/coreboot.rom -c MX25L6406E/MX25L6408E -o logfile.txtCalibrating delay loop... OS timer resolution is 1 usecs, 595M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 998 us, 10000 myus = 10035 us, 4 myus = 5 us, OK.Initializing linux_spi programmerUsing device /dev/spidev0.0Using 4096 kHz clockThe following protocols are supported: SPI.Probing for Macronix MX25L6406E/MX25L6408E, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on linux_spi.Chip status register is 0x00.Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not setChip status register: Bit 6 is not setChip status register: Block Protect 3 (BP3) is not setChip status register: Block Protect 2 (BP2) is not setChip status register: Block Protect 1 (BP1) is not setChip status register: Block Protect 0 (BP0) is not setChip status register: Write Enable Latch (WEL) is not setChip status register: Write In Progress (WIP/BUSY) is not setThis chip may contain one-time programmable memory. flashrom cannot readand may never be able to write it, hence it may not be able to completelyclone the contents of this chip (see man page for details).Block protection is disabled.Reading old flash chip contents... done.Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x00000fff: 0xe8ERASE FAILED!Reading current flash chip contents... done. Looking for another erase function.Trying erase function 1... 0x000000-0x00ffff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x0000ffff: 0x299dERASE FAILED!Reading current flash chip contents... done. Looking for another erase function.Trying erase function 2... 0x000000-0x00ffff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x0000ffff: 0x299dERASE FAILED!Reading current flash chip contents... done. Looking for another erase function.Trying erase function 3... 0x000000-0x7fffff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x007fffff: 0x5d0197ERASE FAILED!Reading current flash chip contents... done. Looking for another erase function.Trying erase function 4... 0x000000-0x7fffff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x007fffff: 0x5d0197ERASE FAILED!Looking for another erase function.No usable erase functions left.FAILED!Uh oh. Erase/write failed. Checking if anything has changed.Reading current flash chip contents... done.Good, writing to the flash chip apparently didn't do anything.Please check the connections (especially those to write protection pins) betweenthe programmer and the flash chip. If you think the error is caused by flashromplease report this on IRC at chat.freenode.net (channel #flashrom) ormail flashrom@flashrom.org, thanks!
Hello realraw,
first off, your mail came through very mangled. Please send text-only messages (e.g. no html) to the mailing list. Should save some time.
On 25.01.2018 00:44, realraw@tuta.io wrote:
After having tried all 4 options of flashchips on my bios, they will all fail to erase and then finally write the new Coreboot ROM I've compiled.
I have changed power sources, methods of powering the Pi3, as well as all the different SPI speeds.
Please elaborate about your complete setup, e.g. what exactly is con- nected to your RPi? how is it connected? is it a plain flash chip or a complete mainboard?
Looking at the log, it really looks like some kind of write protection, though it could also be the chip failing to erase due to power shortage.
Nico