The TP-Link TL-WDR3600 (v1.x) comes with an 8MB SPI flash.
This describes the steps to convert to a 16MB SPI flash.
- Open case, attach flash programmer, while holding the CPU in reset, execute the flashrom command:
time /src/flashrom/flashrom -p serprog:dev=/dev/ttyACM1:115200,spispeed=2M -c "W25Q64.V" -V -r 8M-001.img
- Repeat 4 times to different files, and compare the files:
sha256sum *.img
Investigate any differences. - Desolder the 8MB flash part and save
- Solder the 16MB flash part.
- Solder a three-pin header for serial, The order of the pins, starting on the ethernet connector side is:
VCC -- no connect GND RX -- from cable, to router TX -- from router, to cable
If desired, drill a hole between the WAN and LAN ethernet connectors for a stereo jack serial connector. - Grab parts of the original flash:
dd if=8M-001.img of=macaddr.bin bs=1 skip=130048 count=6 dd if=8M-001.img of=model.bin bs=1 skip=130304 count=8 dd if=8M-001.img of=pin.bin bs=1 skip=130560 count=8 dd if=8M-001.img of=art.bin bs=64k skip=127 count=1
- Reconstitute:
dd if=/dev/zero bs=1M count=16 | tr '\000' '\377' > 16MB-new.img dd if=u-boot_mod__tp-link_tl-wdr3600_16m__20190216__git_local-build-tweaks-2019-02-16-7a540a78.bin of=16MB-new.img conv=notrunc dd if=openwrt-ath79-generic-tplink_tl-wdr3600-16m-squashfs-sysupgrade.bin of=16MB-new.img bs=64k seek=2 conv=notrunc dd if=art.bin of=16MB-new.img bs=64k seek=255 conv=notrunc dd if=macaddr.bin of=16MB-new.img bs=1 count=6 seek=130048 conv=notrunc dd if=model.bin of=16MB-new.img bs=1 count=8 seek=130304 conv=notrunc dd if=pin.bin of=16MB-new.img bs=1 count=8 seek=130560 conv=notrunc