Spróbuję wytłumaczyć, ale piszę z telefonu komórkowego, więc pewnie gdzieś użyję skrótów myślowych. Wymagane od Ciebie będzie użycie google kilka razy, żeby doczytać jak jest zorganizowana mapa pamięci w tplinkach (polecam opis pepe2k przy okazji opisu zmodyfikowanego uboota), jak się dostać do uboota, itd. Zakładam, że nie posiadasz programatora spi flash, a jedynie kabel szeregowy usb2ttl. Jeśli chodzi o adresy, to posiłkuję się tym dokumentem: https://wiki.openwrt.org/toh/tp-link/tl-wr1043nd.
Zanim zaczniesz cokolwiek grzebać, to zgraj partycję uboot (128KB) oraz art (64KB), aby można było postawić router na nogi, jeśli coś pójdzie nie tak. Użyj do tego openwrt/gargoyle/ddwrt. Opis znajdziesz w googlach - podpowiedź: dd, scp. Dopóki nie ubijesz uboota, dopóty będziesz w stanie postawić router na nogi, bez programatora spi flash.
Kolejne kroki wykonujesz w konsoli uboota:
1. Kasujesz z poziomu uboota 8257536 bajtów, czyli 0x7e0000 w hex (8MB - 128KB) zaraz za ubootem do końca 8MB bloku. Dla v1 będzie to wyglądało mniejwięcej tak:
erase 0xbf020000 +7e0000
2. Wrzucasz swój art do ramu za pomocą tftp:
tftpboot 0x81000000 art.bin
3. Zapisujesz art, który ma 64KB, czyli 0x10000, w ostatnim 64KB bloku przestrzeni 8MB flash (0xbf020000 +7d0000 = 0xbf7f0000 liczone od końca uboota):
cp.b 0x81000000 0xbf7f0000 0x10000
4. Wrzucasz oryginalny fw do ramu zgodnie z w/w linkiem, sekcja Flashing / Recovery using the serial console i robisz reboot.
Kolejność wgrywania fw oraz art dowolna. Dla oryginalnego fw ważne jest, żeby uboot zajmował pierwsze 128KB flash, fw zaczynał się zaraz za uboot, a art zajmował ostatnie 64KB w przestrzeni 8MB, liczonej od początku flash.
Niech ktoś jeszcze zerknie czy nie pomyliłem się w adresach hex, bo niezbyt to wygodne przełączać się pomiędzy różnymi kalkulatorami i przeglądarką na telefonie.
Mam nadzieję, że teraz jest jasno i przejrzyście.
---edit---
Cokolwiek byś robił, to nie ruszaj przestrzeni od 0xbf000000 do 0xbf020000, bo tam znajduje się uboot + wps pin + mac + model.
rt-ac56u tomato, 2x wdr3600@16MB/u-boot pepe2k/lede, 2x wt3020f@16MB/e3372s/gargoyle/lede, 3x wr841n@16MB/64MB/u-boot pepe2k/lede, rt-n18u tomato, 2x rb750gr2 ROS, 3x rb750gr3 ROS, Unifi ap ac lr