Issue #554 has been updated by Evgeny Zinoviev.
I just said you were being very helpful
I know, I saw, thank you for that. I'm just saying that IFD is not the problem... I gave you correct (I believe) instructions on how to fix it.
Flashrom was unable to flash 0x00800000 and above because there were no such region in the ifd layout, so, I guess, it just wasn't mapped in memory. So the obvious fix was to adjust the ifd layout, allocating the `00800000:00bfffff` to something harmless like `pd` and leaving all other regions intact, then flash only the new `fd` region, then power off the machine, then power it back on (new ifd takes effect only on cold boot, thus we need this power cycle), and then you could flash above `0x00800000`.
Obviously, you had to change the ifd layout again, so that the new `bios` would now be `00500000:00bfffff` (as it originally was) instead of `00500000:007fffff`, and flash new `fd` and new `bios`, all that using the right ROM image of course.
Then, after one more power cycle, it all should've been working. What went wrong on your side, I have no idea...
Technically, they have floating CS lines. It's a deficiency of some boards that you always have to connect both chips' CS, one to VCC (preferably through a resistor) the other to the programmer.
Yeah, thanks for pointing that out.
---------------------------------------- Other #554: Do not follow ch1p's guide on flashing Thinkpad W530 with only 8MB chip!! https://ticket.coreboot.org/issues/554#change-1902
* Author: Simon Dominic * Status: Rejected * Priority: Normal * Target version: none * Start date: 2024-08-23 ---------------------------------------- I had to learn this the hard way and (literally) pay the price (for it to be repaired) for following this guide (both on their own [website](https://ch1p.io/coreboot-t530-one-chip/) and a [reddit post](https://www.reddit.com/r/coreboot/comments/956ymu/howto_flash_coreboot_on_x2...)). I often make tweaks to my coreboot config which often breaks my system by not being able to boot, and thus requires a fully disassembly to access the 4MB chip to externally flash. As you can imagine, doing this every time I mess up is annoying, and so the idea that I could do it with just the 8MB chip, which is easily accessible, was very attractive.
Right off the bat, I'll say this this method causes so many problems and going through the pain and frustration is not worth the convenience of not doing full disassembly. I was in contact with ch1p who was very helpful in trying to help me out. However, it must be said that this guide should **NOT** be followed!
This completely messes up the bios chips' firmware tabling, making it impossible to internally or externally flash (while the chips were still on the motherboard). You cannot read or write from either of the chips, and the 8MB chip thinks it 4MB.
I would get errors like this: ``` Reading old flash chip contents... done. Erasing and writing flash chip... FAILED at 0x00000000! Expected=0xff, Found=0x16, failed byte count from 0x00000000-0x00000fff: 0x1000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x16, failed byte count from 0x00000000-0x0000ffff: 0x10000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x16, failed byte count from 0x00000000-0x0000ffff: 0x10000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x16, failed byte count from 0x00000000-0x003fffff: 0x400000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x16, failed byte count from 0x00000000-0x003fffff: 0x400000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Looking for another erase function. 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. Apparently at least some data has changed. Your flash chip is in an unknown state. Please report this to the mailing list at flashrom@flashrom.org or on IRC (see https://www.flashrom.org/Contact for details), thanks! ```
Thanks to [this](https://github.com/flashrom/flashrom/issues/190) github issue, I figured the only way to fix this was to have the chips physically removed and then flash them. Since I can't solder, I paid someone to do it (they charge for disassembly, so saved by dissembling myself and giving them just the motherboard).
The bad news is the 8MB always thinks it's 4MB, so impossible to externally flash that chip. The good news is the 4MB chip is perfectly fine, which is great because that's the chip for the actually bios. From there, you can internally flash (both chips), so that problem sorts itself out.
I had to pay someone to fix the mess that the guide caused. If someone with a Thinkpad W530 happens to stumble upon this post, you will save yourself time, pain and money by ignoring the guide and just dealing with full disassembly. It's not worth it.