I've an idea. Maybe you've managed to switch
the MX25L6445E into the
"individual block protection mode" (read the datasheet page 30 - its
an OTP, once done once its for good) and now it isnt actually
erasing/writing anything at all (that 1M just happens to have
succeeded previously) because flashrom currently doesnt know of the
invidividual block unlock commands (or even the GBULK gang block
unlock) and thinks everything is ok because the status register looks
So maybe read the current contents into a file and modify a little bit
in the erased area (eg. swap out the first 4k to random data*) and see
if it writes. My theory is it wont.
*here's example commands:
flashrom <insert your parameters> -r current.bin
dd if=/dev/urandom of=4krandom.bin bs=1024 count=4
dd if=current.bin bs=1024 skip=4 of=current-4.bin
cat 4krandom.bin current-4.bin > modified.bin
flashrom <parameters> -w modified.bin
Somebody'd need to write a patch to flashrom to use the RDSCUR command
to see if WPSEL is set to see for sure. But support for this wouldnt
hurt anyways. I'll see if i have time later in the evening to make a
prototype/test patch for this...
I already had the datasheet open, so... here it is (in slightly crude form).
there's the commit if somebody wants to just web see.
To test, in the flashrom-serprog git tree you have:
git checkout mx25l6445e-debug