Success in recovering from bad BIOS upgrade - Framework 13 AMD 7040

I cannot thank you enough for this, my fw13 7048U was bricked trying to upgrade from 3.03 to 3.07 last week, yours was the first thread I saw when I came to the forum, I ordered:

and opened a ticket with framework. They asked a few questions (my LED sequence was wggggggggggggrbgbgbggg, my screen wouldn’t turn on at all, didn’t show what yours did) and for me to try all the troubleshooting steps I’d already tried, then said sorry, out of warranty, buy a new $500 mainboard. :frowning:

So amazon shipping was delayed and those items arrived today, I compiled the latest flashrom from git because the latest released version can’t flash this chip. Then I ran this on arch linux:

# flashrom --programmer ch341a_spi --wp-status
flashrom v1.6.0-devel (git:v1.5.0-36-g0cad6dfd) on Linux 6.13.2-zen1-1-zen (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Found Winbond flash chip "W25Q256JW" (32768 kB, SPI) on ch341a_spi.
Protection range: start=0x00000000 length=0x00000000 (none)
Protection mode: disabled
# flashrom --programmer ch341a_spi -r bob1.bin --progress
flashrom v1.6.0-devel (git:v1.5.0-36-g0cad6dfd) on Linux 6.13.2-zen1-1-zen (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Found Winbond flash chip "W25Q256JW" (32768 kB, SPI) on ch341a_spi.
Reading flash... 
[READ: 100%]...done.
# flashrom --programmer ch341a_spi -r bob2.bin --progress
flashrom v1.6.0-devel (git:v1.5.0-36-g0cad6dfd) on Linux 6.13.2-zen1-1-zen (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Found Winbond flash chip "W25Q256JW" (32768 kB, SPI) on ch341a_spi.
Reading flash... 
[READ: 100%]...done.
# sha1sum bob*
2f2cee73a97863862effcae28deb8ff2474c0143  bob1.bin
81f34a15a89beb737759080eba7cfa94295a7686  bob2.bin

But those two reads were different, so I kept reading to bob3.bin and bob4.bin until finally I got 2 identical reads. This is when I rigged up something to hold it down because flashing and reading take forever and my fingers hurt.



That’s a pair of helping hands holding the pogo plug and a stack of heavy ceramic coasters on top. Don’t bump the table because the coasters could destroy your machine. :smiley: (yes I tried other things before coasters but everything was either too light or too slippery)

Then I wrote the new rom, but with verification turned off, because it’s slow and I like doing it manually:

# flashrom --programmer ch341a_spi -nNw orig/fw-bios-3.07-from-capsule.bin --progress
flashrom v1.6.0-devel (git:v1.5.0-36-g0cad6dfd) on Linux 6.13.2-zen1-1-zen (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Found Winbond flash chip "W25Q256JW" (32768 kB, SPI) on ch341a_spi.
Reading old flash chip contents... 
[READ: 100%]...done.
Updating flash chip contents... 
Fixing total value of stage 2 progress on the fly.
[READ:  0%][ERASE: 100%][WRITE: 100%]...Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Fixing total value of stage 1 progress on the fly.Erase/write done from 0 to 1ffffff

Then I read the rom back, and verified the sha1sum matched what I just wrote.

Then I put the ram+nvme back in and plugged in the power and it works.

I can upload the bad firmware for whoever wants it.

10 Likes