Tp-link ac750 ver 1.0 archer c20

Czesc

mam sliczna cegle po probie wgrania openwrt przez tftp...
serial w ogole milczy, wyglada na to ze zostal nadpisany bootloader.
posiada ktos moze ten model? moglby zrobic mi dump zebym mogl sobie sflashowac u siebie z tego?
ew gdzie tego poszukac?
badz chociaz skad wziac rozklad partycji zeby sprobowac sobie spreparowac uboot partition z jakichs dostepnych obrazow..?

jakakolwiek pomoc, sugestie mile widziane
dzieki

Witaj,
Najpierw zacznij od zrobienia kopii zawartości pamięci flash,
Pobierz firmware ze strony producenta, obetnij pierwsze 512 bajtów i wstaw całą resztę na początek kopii ( uważaj żeby nie zmienić rozmiaru pliku)
Wgraj tak przygotowany plik do pamięci flash.

Do całej operacji potrzebujesz jedynie programatora do pamięci SPI oraz sprzętu aby pamięć wylutować i spowrotem wlutować do routera.

@Heinz
Bardzo dziekuje za wskazowki, udalo sie zreanimowac router i to za pierwszym podejsciem.

Opisze caly proces, bo znajac zycie za rok najdzie mnie ochota na zmiane softu, zapomne co i jak, wiec oszczedze sobie calego procesu poznawczego od poczatku. A moze komus sie tez przyda taki opis.

Najlepsze, ze udalo sie wszystko zrobic bez przelutowywania SOC i bez programatora.
Zamiast tego uzylem takiego klipsu:
allegro.pl/oferta/soic8-sop8-klips-pomiarowy-2x-podstawka-8960731196
oraz raspberry pi 2B v1.1

Do podlaczenia klipsu do RPI posilkowalem sie tymi instrukcjami:
tomvanveen.eu/flashing-bios-chip-raspberry-pi/
pwassi.privatedns.org/lede/archerc20i/

Z tego najwazniejsza jest rozpiska pinow:
pins

Na samej RPI sa to konkretnie te piny z obszaru zaznaczonego na czerwono (czerwone numery to piny SOC, ktore wpialem do pinow RPI z czerwonej ramki):


tutaj tylko nalezy dodac, ze mozna uniknac tej zabawy z RPI uzywajac takiego klipsu z jakims programatorem - nie uzywalem, ale podejrzewam, ze wystarczy cos takiego: allegro.pl/oferta/programator-ch341a-pamiec-spi-flash-eeprom-ttl-7804573873 )

Na RPI nalezalo wlaczyc SPI interfacing (z ww. instrukcji):

Enable the SPI interfaces by typing "sudo raspi-config" and selecting "P4 SPI" under the "Interfacing options."

Cala zabawa na RPI odbywa sie programem flashrom. Jesli nie ma - doinstalowac z apt (sudo apt install flashrom).
Doinstalowalem tez paczki z ww. instrukcji, nie wiem czy sa potrzebne, ja to zrobilem: (sudo apt install git libpci-dev libusb-1.0 libusb-dev).

Do RPI podlaczamy oczywiscie bez zasilania zadnego ze strony routera.
Sam klips podlaczyl sie na SOC dosc slabo... po pierwszych nieudanych probach komunikacji z chipem:

komenda: sudo flashrom -p linux_spi:dev=/dev/spidev0.0
output:
flashrom v1.2 on Linux 4.19.75-v7+ (armv7l)
flashrom is free software, get the source code at flashrom .org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Using default 2000kHz clock. Use 'spispeed' parameter to override.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.

w akcie desperacji docisnalem palcami obie strony klipsu (nie trzymalem, docisnalem tylko) i... diodka usb na routerze mignela, jak przy zwyklym (uceglonym) odpalaniu ze swojego zasilania. W tym momencie juz pelen nadziei sprawdzilem jeszcze raz komenda i faktycznie okazalo sie, ze RPI rozpoznalo chip!

sudo flashrom -p linux_spi:dev=/dev/spidev0.0
flashrom v1.2 on Linux 4.19.75-v7+ (armv7l)
flashrom is free software, get the source code at flashrom .org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Using default 2000kHz clock. Use 'spispeed' parameter to override.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi.
No operations were specified.

Tutaj juz korzystajac z porady @Heinz zrobilem kopie aktualnego - uceglonego softu:

flashrom -r c20_brick.bin -p linux_spi:dev=/dev/spidev0.0

Sciagnalem oryginalny firmware ze strony producenta www.tp-link .com/en/support/download/archer-c20/v1/#Firmware

wget https://static.tp-link.com/res/down/soft/Archer_C20(EU)_V1_160427.zip
jego nazwe od razu zmienilem na archer_c20_original.bin

Wycialem pierwsze 512 bajtow:

dd if=archer_c20_original.bin of=original_stripped.bin bs=512 skip=1

Zrobilem kopie tych obrazow, gdyz w kolejnych krokach nadpisze ten uceglony zrzut.
Nastepnie nadpisalem poczatek zbrickowanego obrazu oryginalnym softem bez poczatkowych 512b:

dd conv=notrunc if=original_stripped.bin of=c20_brick.bin
ta komenda nadpisze poczatek c20_brick.bin zawartoscia pliku original_stripped.bin

nazwe c20_brick.bin zmienilem na ArcherC20V1_tp_recovery.bin dla przejrzystosci i sflashowalem komenda:

flashrom -w ArcherC20V1_tp_recovery.bin -p linux_spi:dev=/dev/spidev0.0

caly proces zajal pare minut:

flashrom v1.2 on Linux 4.19.75-v7+ (armv7l)
flashrom is free software, get the source code at flashrom .org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Using default 2000kHz clock. Use 'spispeed' parameter to override.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

Klips odpialem, Router wystartowal na oryginalnym firmware bez problemu.

Podsumowujac: zabawy z RPI i platanina kabli mozna zapewne uniknac kupujac ten programator wymieniony wyzej i wpinajac klips przejsciowka, ktora dostalem razem z klipsem. Sam klips oszczedzil lutowania, wiec z niego jestem zadowolony.
Tutaj jak to spialem (wykorzystalem przejsciowke zeby na pospinac wszystko wygodnie na plytce stykowej):



Szczezre mowiac nie sadzilem, ze pojdzie tak latwo :smiley:
Linki nieklikalne i ze spacjami, bo mam ograniczenie jako nowy user.

1 polubienie

Bardzo fajny opis, dzięki w imieniu kolejnych potrzebujących :slight_smile: