#74 TL-WR841ND v9 : u-boot mod needed for SPI flash upgrade? (4M -> 8M/16M)

Open
opened 4 months ago by mike_banon · 2 comments

I've always thought that, to upgrade the SPI flash of TL-WR841ND v9, it is enough to simply remove the old chip and solder the new chip, preferably with U-Boot and Firmware already installed

By the way, I have developed a new flashrom mode which allows to program SPI flash memory of this router through the SOIC8 test clip without soldering - https://review.coreboot.org/#/c/flashrom/+/23840/ (not merged currently, only READ tested but WRITE should be working as well!) - so it should be possible to solder a blank chip, even without an U-Boot bootloader, and only then fill it. Might be interesting for you ;)

However, after discovering some threads like this one - https://forum.freifunk.net/t/flashspeicher-upgraden-exemplarisch-am-tp-link-tl-wr841v9/14792 - it started to seem like an U-Boot modification is also required! But they're doing some sneaky modifications in hexedit; also, messing with a weird (closed source?) 64K ART partition... These hacks do not belong to our "free software way"

If that U-Boot modification is really required, I would like to build the whole modified U-Boot by myself, from the completely open source sources - to make sure that my WR841 v9 is running free software only! But sadly there aren't many instructions on this topic - which is sad, because both LibreCMC and OpenWRT are growing in size, and even without LuCi, now there's much less free space at 4M chips than it used to be...

@RISCI_ATOM , could you please describe your own experience regarding the SPI flash upgrade 4M to 8M/16M at your WR841 v9 router? Did you have to do the U-Boot modification, and have you ever rebuilt the U-Boot from scratch for this router? (if yes, from what sources and how?)

I've always thought that, to upgrade the SPI flash of TL-WR841ND v9, it is enough to simply remove the old chip and solder the new chip, preferably with U-Boot and Firmware already installed By the way, I have developed a new flashrom mode which allows to program SPI flash memory of this router through the SOIC8 test clip without soldering - https://review.coreboot.org/#/c/flashrom/+/23840/ *(not merged currently, only READ tested but WRITE should be working as well!)* - so it should be possible to solder a blank chip, even without an U-Boot bootloader, and only then fill it. Might be interesting for you ;) However, after discovering some threads like this one - https://forum.freifunk.net/t/flashspeicher-upgraden-exemplarisch-am-tp-link-tl-wr841v9/14792 - it started to seem like an U-Boot modification is also required! But they're doing some sneaky modifications in hexedit; also, messing with a weird (closed source?) 64K ART partition... These hacks do not belong to our "free software way" If that U-Boot modification is really required, I would like to build the whole modified U-Boot by myself, from the completely open source sources - to make sure that my WR841 v9 is running free software only! But sadly there aren't many instructions on this topic - which is sad, because both LibreCMC and OpenWRT are growing in size, and even without LuCi, now there's much less free space at 4M chips than it used to be... @RISCI_ATOM , could you please describe your own experience regarding the SPI flash upgrade 4M to 8M/16M at your WR841 v9 router? Did you have to do the U-Boot modification, and have you ever rebuilt the U-Boot from scratch for this router? *(if yes, from what sources and how?)*
RISCI_ATOM commented 4 months ago
Collaborator

However, after discovering some threads like this one - https://forum.freifunk.net/t/flashspeicher-upgraden-exemplarisch-am-tp-link-tl-wr841v9/14792 - it started to seem like an U-Boot modification is also required!

It's not just U-boot that needs to be patched. Both U-boot and libreCMC would need to be patched to reflect the change in flash chip, its size and the layout of the flash chip.

But they're doing some sneaky modifications in hexedit; also, messing with a weird (closed source?) 64K ART partition... These hacks do not belong to our "free software way"

The Atheros Radio Test (ART) partition holds structured calibration data for the router, not executable code. The ART partition data is needed to bring up wifi and to prevent it from operating outside of FCC rules. The reason it is backed-up is because calibration is done in a controlled environment.

@RISCI_ATOM , could you please describe your own experience regarding the SPI flash upgrade 4M to 8M/16M at your WR841 v9 router? Did you have to do the U-Boot modification, and have you ever rebuilt the U-Boot from scratch for this router? (if yes, from what sources and how?)

You can use u-boot_mod or TP-Link's u-boot sources from the source tarball they provide for the router, but it will need patching to reflect the different flash chip being used.

> However, after discovering some threads like this one - https://forum.freifunk.net/t/flashspeicher-upgraden-exemplarisch-am-tp-link-tl-wr841v9/14792 - it started to seem like an U-Boot modification is also required! It's not just U-boot that needs to be patched. Both U-boot and libreCMC would need to be patched to reflect the change in flash chip, its size and the layout of the flash chip. > But they're doing some sneaky modifications in hexedit; also, messing with a weird (closed source?) 64K ART partition... These hacks do not belong to our "free software way" The Atheros Radio Test (ART) partition holds structured calibration data for the router, not executable code. The ART partition data is needed to bring up wifi and to prevent it from operating outside of FCC rules. The reason it is backed-up is because calibration is done in a controlled environment. > @RISCI_ATOM , could you please describe your own experience regarding the SPI flash upgrade 4M to 8M/16M at your WR841 v9 router? Did you have to do the U-Boot modification, and have you ever rebuilt the U-Boot from scratch for this router? (if yes, from what sources and how?) You can use u-boot_mod or TP-Link's u-boot sources from the source tarball they provide for the router, but it will need patching to reflect the different flash chip being used.
mike_banon commented 4 months ago
Poster

@RISCI_ATOM , thank you for detailed reply. Which path have you tried (u_boot_mod or official sources) and why you've chosen it over another? Also, were there any unexpected difficulties?

@RISCI_ATOM , thank you for detailed reply. Which path have you tried (u_boot_mod or official sources) and why you've chosen it over another? Also, were there any unexpected difficulties?
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.