TFTP TP-Link Archer C7 funktioniert nicht

Hallo ihr Lieben,

seit zwei Tagen versuche ich vergeblich meinen Archer C7 V2 zu unbricken. Dazu nutze ich die TFTP Methode. Der AP zieht sich auch brav die Firmware. Danach passiert allerdings nichts. Er blinkt fröhlich vor sich hin. Die Firmware installieren will er allerdings nicht.

Habt ihr da eventuell ein paar Tipps?

LG Freddy

Welche wäre das denn?
(Quelle, Link, MD5 oder SHA1 or whatever Deiner lokalen Datei)

Ich habe es mit vielen verschiedenen probiert. Darunter:

http://static.tp-link.com/res/down/soft/Archer_C7(EU)_V2_160616.zip

https://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-archer-c7-v2-squashfs-factory.bin

http://www.friedzombie.com/tplink-stripped-firmware/download.php?d=Archer-C7-V2

o.k, mit denen sollte es wirklich funktionieren.

Dann wird Dir nur noch der Weg übrig bleiben, eine serielle Konsole (RS232, USB…) anzuschließen und dem Gerät beim Booten zuzuschauen.
Evtl. das Gerät auch zu jemandem bringen, der damit Übung hat. (ist evtl. selbst „mit Postversand“ effektiver, sofern man das nicht selbst erlernen möchte. Wobei das durchaus auch Spass machen kann und man auch was lernt.)

1 „Gefällt mir“

Ich habe schon mal gelesen, dass je nach Archer Firmware Version nur signierte Fw angenommen werden.

Bisher war es dann aber mit der seriellen Konsole möglich den tftp Prozess per Hand anzustoßen und dann per Hand die Fw einzuspielen. Details zu dem Prozess im OpenWRT Wiki.

2 „Gefällt mir“

Das habe ich auch gelesen:

Note: the TFTP flashing process requires that the product hardware id and version in the new image header match those in the existing image in flash, otherwise the new image is rejected, flashing is cancelled and the bootloader proceeds to boot the old image. When this happens, the following output is seen on the serial console:

original_product_id = ffffffff
original_product_ver = ffffffff
recovery_product_id = c7000002
recovery_product_ver = 01
auto update firmware: product id verify fail!
Autobooting in 1 seconds

Also komme ich nicht um Seriell herum? :frowning:

1 „Gefällt mir“

Hier ist auch alles normal oder?

wireshark

Das mit den vergurkten HW-IDs ist mir auch schon untergekommen.
Da war eigentlich alles O.K, nur die HW-ID war aus völlig ungeklärten Gründen in der Tag auf irgendwelchen „ffff“-Werten statt einer zu erwartenden 36000001 (oder so) für einen 3600v1.

Wie kann ich diese IDs am besten einsehen/ändern?

Leider nur mit der Konsole.
Wenn er tftp-recovery beim Flash-Versuch ausstiegt mit einer „falsche HW-ID“ aussteigt, dann im Openwrt-Wiki suchen, wie man sie für dieses Gerät anpasst auf das was eigentlich in der Firmware steht.
(„Forcen“ geht auch irgendwie, aber danach hat man dann evtl. auch einen „totalbrick“ und der Lötkolben ist angesagt.)

Ich versuche mal die damals im Versand enthaltene CD zu finden und hoffe, dass darauf eine Firmware mit richtigen IDs ist…

Ich denke, wir reden hier aneinander vorbei, die HW-ID aller verfügbaren („richtigen“) factory-files wird identisch sein.
Was vermutlich in beschriebenen Fall fehlerhaft/abweichend ist dürfte die HWid in Deinem C7.
(Bei dem hier betroffenen WDR3600er lief ein Openwrt das beim Boot crashte, also nie hochgefahren kam. Aber TFTP-Pushbutton lief noch los, er nahm nur die FW nicht. Rätsels Lösung war: HW-ID auf ffffffff im Gerät, Rescueloader akzeptierte daher die eigentlich gültigen Images nicht.)

Wobei ich nicht sage, dass es bei Dir genau sein muss. Ist halt nur eine Vermutung.

1 „Gefällt mir“

Gibt es eine Möglichkeit diese (richtigen) ID der factory-files einfach an die (vermutlich falschen) ID des Geräts anzupassen? Wäre doch wesentlich einfacher oder?

Wäre einfacher, wenn Du eine Idee hast, wie Du dem File danach wieder eine gültige Signatur verpasst bekommst. (Stichwort ETSI/FCC lockdown)
Abgesehen davon, dass Du vorerst ja gar nicht weisst, welche ID erwartet wird.

Oder kommst Du noch irgendwie auf eine Shell auf dem Gerät „anderweitig“?
Aber nein, das wäre widersinnig, wenn Du sie auf einer shell auslesen könntest, dann wäre es ja viel einfacher, die ID gleich zu ändern im Gerät.
(Es sei denn es ginge jetzt um die Fingerübung, eine passende Firmware zurechtzupatchen.)

Man könnte natürlich auch mal blind probieren, also mal FW-Files mit ID ffffffff und 00000000 und anderen 8-stelligen Kombinationen zu bauen und es damit zu versuchen.
(Das Problem der fehlenden Signatur bleibt natürlich.)

Wenn es „nur“ ein ID Problem sein sollte, dann kann man das auch im Flash Chip direkt ändern. Muss ihn jedoch ggf. auslöten und an die ID aus der Fw anpassen die aufgespielt werden soll.

Wenn alle Sticke reißen könnte man die Fw auch mittels Flash Programmer direkt aufspielen, aber ich würde erstmal probieren über die serielle Konsole das Update anzuwerfen.

Ich habe jetzt ein serielles bestellt. Berichte nach :slight_smile:

1 „Gefällt mir“

So, das serielle Kabel ist nun da. Allerdings funktioniert auch das nicht wie gewünscht: Archer C7 Serial Unbrick will nicht - #4 von freddygreve