Hi Jack,
forwarding your message as it was filtered due to your big attachment. The limit for this list is 256KiB.
I guess the picture doesn't matter much as this might be a software problem.
Nico
-------- Forwarded Message -------- Date: Mon, 6 Sep 2021 16:10:15 +1000 From: Jack Fivedock jackfivedock@gmail.com To: flashrom@flashrom.org
Hi, I'm trying to write to a MX25L6473E using a raspberry pi and the latest flashrom. I'm able to read correctly each time but writing fails.
I have attached below the cable setup I'm using. Using this cable from Chipset pro to connect to the hirose 12 pin EFI connector on the macbook pro.
https://www.ebay.com.au/itm/133104579410?ssPageName=STRK%3AMEBIDX%3AIT&_...
pi@raspberrypi:~ $ sudo flashrom -w New.bin -V -p linux_spi:dev=/dev/spidev0.0 -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" flashrom v1.2-471-ga69c519 on Linux 5.10.17-v7l+ (armv7l) flashrom is free software, get the source code at https://flashrom.org
flashrom was built with libpci 3.5.2, GCC 8.3.0, little endian Command line (7 args): flashrom -w New.bin -V -p linux_spi:dev=/dev/spidev0.0 -c MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Initializing linux_spi programmer Using default 2000kHz clock. Use 'spispeed' parameter to override. Using device /dev/spidev0.0 Using 2000kHz clock get_max_kernel_buf_size: Using value from /sys/module/spidev/parameters/bufsiz as max buffer size. linux_spi_init: max_kernel_buf_size: 4096 The following protocols are supported: SPI. Probing for Macronix MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F, 8192 kB: compare_id: id1 0xc2, id2 0x2017 Added layout entry 00000000 - 007fffff named complete flash Found Macronix flash chip "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" (8192 kB, SPI) on linux_spi. Chip status register is 0x40. Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set Chip status register: Bit 6 is set Chip status register: Block Protect 3 (BP3) is not set Chip status register: Block Protect 2 (BP2) is not set Chip status register: Block Protect 1 (BP1) is not set Chip status register: Block Protect 0 (BP0) is not set Chip status register: Write Enable Latch (WEL) is not set Chip status register: Write In Progress (WIP/BUSY) is not set This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S, 0x003000-0x003fff:EFAILED at 0x00003000! Expected=0xff, Found=0x46, failed byte count from 0x00003000-0x00003fff: 0x70 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Trying erase function 1... 0x000000-0x007fff:EFAILED at 0x00000010! Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x00007fff: 0x1093 ERASE 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: 0x7c36 ERASE 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: 0x5568d2 ERASE 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: 0x5568d2 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Trying erase function 5... not defined. Looking for another erase function. Trying erase function 6... not defined. Looking for another erase function. Trying erase function 7... not defined. 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) between the programmer and the flash chip. If you think the error is caused by flashrom please report this to the mailing list at flashrom@flashrom.org or on IRC (see https://www.flashrom.org/Contact for details), thanks!