Hi Rudolf,
On Mon, 2010-07-12 at 21:52 +0200, Rudolf Marek wrote:
What happens if you try to selectively write or erase only the bottom 4 KB of each chip?
Well I tried to write there 512KB of zeros using -c A25L40PT with PT chip then erase with -E -c A25L40PT
This works fine. Same with PU chip with -c A25L40PU. However if there is some combination of non-agreeing chips/params I got hard lockup of whole computer.
Okay, so write/erase works fine with the setting that matches the chip in hand?
With PU chip, written all 0's with right switch and then erasing PT param:
ruiktest:~/flashrom# ./flashrom -VE -c A25L40PT Erasing flash chip... Looking at blockwise erase function 0... trying... 0x000000-0x00ffff, ERASE FAILED at 0x00001000! Expected=0xff, Read=0x00, failed byte count from 0x00000000-0x0000ffff: 0xf000 ERASE FAILED!
Looking at blockwise erase function 1... trying... 0x000000-0x07ffff,
This is really useful to know! The blockwise erase function fails at the 4 K (0x1000) mark. The flashrom program expects to erase a 64 K segment (0x10000) because it thinks it is talking to a PT chip, but it only gets 4 K erased, because the chip is really a PU. That makes sense!
What about the reverse case? What if you put in the PT chip and tell flashrom that it's a PU? flashrom -VE -c A25L40PU In this case, it should fail when it tries to erase the /upper/ region of the memory, because flashrom is expecting to erase a 64 K chunk, but only getting 4 K since it is really a top boot block chip.
If that's really what happens... then I am convinced once and for all that the PT and PU really are distinct chips!
<hang>
It hangs pretty solid, keyboard non-responsive.
I don't understand why it hangs... I guess this is an issue with your chipset?
Dan