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

**URL:** <https://community.frame.work/t/success-in-recovering-from-bad-bios-upgrade-framework-13-amd-7040/66598>\
**Category:** Community Support\
**Tags:** not-booting, amd-7040\
**Created:** [March 24, 2025, 8:52pm UTC](https://community.frame.work/t/success-in-recovering-from-bad-bios-upgrade-framework-13-amd-7040/66598 "2025-03-24T20:52:46Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![moparisthebest](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/moparisthebest/32/24214_2.png) [@moparisthebest](https://community.frame.work/u/moparisthebest)\
**Post date:** [April 3, 2025, 3:48am UTC](https://community.frame.work/t/success-in-recovering-from-bad-bios-upgrade-framework-13-amd-7040/66598/14 "2025-04-03T03:48:27Z")

</div>

I _cannot_ thank you enough for this, my [fw13 7048U was bricked](https://community.frame.work/t/framework-13-firmware-upgrade-brick/66763) 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:

- [Amazon.com: ACEIRMC SOIC8 SOP8 Test Clip For EEPROM 93CXX / 25CXX / 24CXX + CH341A 24 25 Series for EEPROM Flash BIOS USB +1.8V Adapter + Soic8 Adapter Programmer Module Kit (1 sets) : Industrial & Scientific](https://www.amazon.com/dp/B07V2M5MVH)
- [https://www.amazon.com/dp/B0CJQ8KQK2](https://www.amazon.com/dp/B0CJQ8KQK2)

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. ☹

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:

```auto
# 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.

 ![pic-under](https://us1.discourse-cdn.com/flex001/uploads/framework3/original/3X/2/4/246a090d05c0cf4feee0b14baecf5f25a78d5e75.jpeg)  
 ![pic-over](https://us1.discourse-cdn.com/flex001/uploads/framework3/original/3X/0/c/0c531daafacce09a5cecd8a7d2642dc97e4d7e8f.jpeg)  
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. 😃 (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:

```auto
# 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.

---

_[View the full topic](https://community.frame.work/t/success-in-recovering-from-bad-bios-upgrade-framework-13-amd-7040/66598)._
