Sorry for the long delay! I ended up trying to erase first, and that also crashed. Unfortunately I had to move on to a method that worked and no longer have another laptop to try the erase/flash again on the chip inside my main laptop. However, I have another logic board that won't power on that may exhibit the same crash, so I will try it on that. The method that worked by the way was using chp341prog:

https://github.com/setarcos/ch341prog 


On Sun, Aug 18, 2024 at 4:20 PM Peter Marheine <pmarheine@chromium.org> wrote:
Are you able to share a core dump with us to be able to see where it's crashing? It looks like if you do `ulimit -c unlimited` in your shell before running flashrom, you should get a core dump in `/cores/core.PID` (where PID is the PID of the flashrom process) when it crashes. If you can share that file (or get a backtrace from it yourself using a debugger) we should at least be able to see what it's trying to do when it crashes.

On Sat, Aug 17, 2024 at 3:18 PM Flaviu Ciobanu <flaviu.ciobanu@gmail.com> wrote:

Hi devs!

I previously successfully used flashrom to read and patch a MX25L6406E BIOS chip in a late 2013 15" MacBook Pro with a Ch341a programmer, but I am now having issues trying to write to a 25Q064A BIOS chip in a mid 2014 15" MacBook Pro.

I installed flashrom with homebrew.
I connected the SOP8 clip to the chip, then the adapter, then the CH341A.
I read the chip into an image.bin file 3 times and compared MD5 sums to make sure they were the same.
I then patched the file with UEFI Patch to unlock undervolting (https://github.com/IsmaelHG/UndervoltPatchMacBook).

I then ran the write command in terminal. You can see the command and the output pasted below ending in "Segmentation fault: 11".

Should I try erasing the chip first? I'm scared I will brick it if it still can't write afterward. What else can I try?

Terminal output:
sudo flashrom -V -p ch341a_spi -c N25Q064..3E -w /Users/Flyview/Downloads/UEFIPatch_0.28.0_mac/image.bin
flashrom 1.4.0 on Darwin 23.6.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

flashrom was built with LLVM Clang 15.0.0 (clang-1500.3.9.4), little endian
Command line (7 args): flashrom -V -p ch341a_spi -c N25Q064..3E -w /Users/Flyview/Downloads/UEFIPatch_0.28.0_mac/image.bin
Initializing ch341a_spi programmer
libusb: info [darwin_detach_kernel_driver] no capture entitlements. may not be able to detach the kernel driver for this device
Device revision is 3.0.4
The following protocols are supported: SPI.
Probing for Micron/Numonyx/ST N25Q064..3E, 8192 kB: compare_id: id1 0x20, id2 0xba17
Added layout entry 00000000 - 007fffff named complete flash
Found Micron/Numonyx/ST flash chip "N25Q064..3E" (8192 kB, SPI) on ch341a_spi.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Block Protect 3 (BP3) is not set
Chip status register: Top/Bottom (TB) is top
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).
This flash part has status UNTESTED for operations: WP
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash chip. Please include the flashrom log
file for all operations you tested (see the man page for details), and mention
which mainboard or programmer you tested in the subject line.
You can also try to follow the instructions here:
https://www.flashrom.org/contrib_howtos/how_to_mark_chip_tested.html
Thanks for your help!
Reading old flash chip contents... read_flash: region (00000000..0x7fffff) is readable, reading range (00000000..0x7fffff).
done.
Segmentation fault: 11

Thank you!

Faviu
_______________________________________________
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-leave@flashrom.org