Archer C50 flashen – Factory-Firmware-Images live erstellen

Ausgangssituation

Der TP-Link Archer C50 (v3/v4) stellt aktuell ein solides Einsteigergerät mit Dualbandbetrieb dar, welches darüber hinaus auch noch relativ preisgünstig ist. Eine Herausforderung stellt jedoch die Installation der Freifunk-Firmware dar, die sich durch den herstellerseitig verwendeten U-Boot-Bootloader relativ umständlich gestaltet. Dafür hat unser Mitglied Michael Brinkmann ein Script geschrieben, das die notwendigen Factory- bzw- TFTP-Recovery-Images automatisiert erzeugt. Danke dafür.

Aus urheberrechtlichen Gründen dürfen wir fertige Images mit einem U-Boot-Bootloader leider nicht direkt anbieten, daher der Weg über das Bash-Script. Ursache ist die Tatsache, dass der U-Boot-Bootloader nicht als quelloffene Software entwickelt wird, und somit Lizenzverstöße entstehen würden.

Live erzeugte Images als Lösung

Das erstellte Script umgeht diese Problematik, da ein Bootimage direkt live erstellt wird.

Dazu macht das Script folgendes:

  1. Herunterladen des aktuellen Firmware-Images von der Herstellerwebseite
  2. Entpacken dieses Images
  3. Herunterladen der Freifunk Lippe Gluon-Firmware für das entsprechende Modell.
  4. Extrahieren des Bootloaders aus der Hersteller-Firmware
  5. Erzeugen von Factory- und TFTP-Boot-Images

 

Anleitung

Die Anleitung ist in vier größere Bereiche gegliedert.

  • I. Anleitung unter Linux
  • II. Anleitung unter Windows 10
  • III. Freifunk-Firmware installieren
  • IV. Probleme bei der Installation

 

Hinweis: Unser Script konnte bei Hardware-Revision v4 nur mit der vorinstallierten Hersteller-Firmware in Version 180313 getestet werden. Die neuere erhältliche Version 190125 funktioniert nicht! Bitte überprüfen Sie vor dem Flashen im Webinterface des Routers, ob die korrekte Firmware-Version vorinstalliert ist. Sollte das nicht der Fall sein, nehmen Sie bitte mit uns Kontakt auf unter info@freifunk-lippe.de .

Den C50 v5 gibt es laut Herstellerseite auch schon, diesen konnten wir aber noch nicht testen. Die Anleitung wurde mit der Hardwarerevision v.4 erstellt und getestet. Darum achtet beim Kauf bitte auf die richtige Hardware-Version.

 

I. Anleitung unter Linux

Die Anleitung funktioniert mithilfe eines durch Linux, bzw. den Linux Terminal, erzeugten Images. Dazu öffnen Sie den in Linux den Terminal. (Installation mit Windows 10 siehe unten) Das Script wurde unter Ubuntu 18.04 LTS erstellt und getestet, sollte aber problemlos unter Linux Mint oder Debian Linux funktionieren.

    1.  Zuerst müssen Sie sicherstellen, dass sie im Home-Verzeichnis arbeiten. Dazu wechseln Sie mithilfe von „cd“ ins Home Verzeichnis und bestätigen den Befehl mit der Eingabetaste.
    2. Als nächstes müssen Sie das Script von unserem Downloadmirror herunterladen. Dazu tippen Sie den Befehl „wget http://download.freifunk-lippe.de/archerc50/archerc50.sh“ ein und bestätigen ihn.
    3. Um das Script ausführbar zu machen ist der Befehl „chmod +x archerc50.sh“ nun notwendig.
    4. Als letzten Schritt müssen Sie das Script nur noch ausführen, indem Sie „./archerc50.sh“ eintippen und bestätigen.
    5. Nun öffnet sich das Script, welches ein Installations-Image erstellt. Als ersten Schritt müssen Sie die Hardware-Revision des Geräts herausfinden, welche auf der Rückseite des Geräts abgedruckt ist.
    6. Folgen Sie nun den Eingaben des Scripts, welches für Sie am Ende zwei Dateien erstellt.

 

II. Installation unter Windows 10

Hinweis: Grundlage um das Script unter Windows zu nutzen ist der Dienst Windows Subsystem for Linux (WSL). Dieser ist bei Windows 10 ab Version 1903 (Build 18362) schon installiert, und wird durch die Installation einer Linux-Distribution aus dem Store aktiviert. Dabei wird jedoch nur die Eingabebereich (Terminal) der jeweiligen Distribution installiert.

1. Schritt: Windows Subsystem for Linux installieren

Dazu müssen Sie eine PowerShell als Administrator öffnen, indem Sie die mit einem Rechtsklick auf das Windows-Logo klicken und dann „Windows PowerShell (Administrator)“ anklicken

  • Anschließend müssen Sie das Ausführen bestätigen.
  • Tippen Sie nun folgenden Befehl und bestätigen Sie diesen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

 

  • Mit der Bestätigung auf „y“ wird der Rechner neu gestartet, und das WSL wird aktiviert.

 

2. Schritt: Eine Linux-Distribution installieren

Der Microsoft Store bietet inzwischen eine ganze Vielfalt von Linux-Distributionen an, welche sich mit WSL nutzen lassen. Wir empfehlen Ubuntu zu nutzen, da Cannonical, die Firma hinter Ubuntu eng an der Entwicklung von WSL mit Microsoft zusammenarbeitet.

Um Ubuntu zu installieren öffnen Sie den Microsoft Store und suchen nach „Ubuntu“. Alternativ klicken Sie diesen Link. Klicken Sie anschließend auf installieren bzw. herunterladen.

 

3. Schritt: Root-Benutzername und Passwort festlegen

Nach der erfolgreichen Installation der Linux-Distribution starten Sie diese. Nun müssen Sie ein root-User und dessen Passwort festlegen. Dieses müssen Sie sich unbedingt merken oder ggf. notieren.

 

4. Schritt: Script nutzen (siehe oben)

Da nun eine Linux-Umgebung verfügbar ist, können Sie mit der Installation des Scripts verfahren wie in der oberen Anleitung (siehe I. Installation unter Linux)

 

III. Freifunk-Firmware installieren

1. Schritt: Installationsdatei finden

Wenn das Scipt nun erfolgreich durchgelaufen ist, sucht ihr bestimmt unter Windows den Pfad, wo ihr die erzeugten Dateien finden könnt.

Variante 1: Am einfachsten ist dies, wenn im Linux-Terminal „explorer.exe .“ eingetippt und bestätigt wird (bitte den Punkt am Ende des Kommandos beachten!). Dabei öffnet sich automatisch der Windows-Explorer in dem Ordner, in welchem Sie gerade arbeiten.

Variante 2: Eine weitere Möglichkeit ist, den Windows Explorer zu öffnen und in die Adresszeile %AppData% einzutippen. Dies öffnet den AppData-Ordner des aktuellen Benutzers. Die Benutzerdateien liegen unter:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\$USER

%USERNAME% ist eine Windows-Systemvariable und zeigt immer auf den gerade angemeldeten Benutzer.
$USER ist eine Linux-Systemvariable und zeigt ebenfalls auf den gerade angemeldeten Benutzer.

 

Hinweis: Das lokale Installationspaket (CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc) kann vom Name abweichen, wenn der Anbieter dieses updated.

 2. Schritt: Freifunk-Firmware installieren

Das Script erzeugt zwei Dateien. Eine für ein TFTP-Recovery und eine für die Installation auf der grafischen Oberfläche des Archer C50. Für die Installation über die grafische Oberfläche des Geräts wird die Datei gluon-fflip-tp-link-archer-c50-v4-factory-webflash.bin benötigt.

Hinweis: Der Dateiname ändert sich hinsichtlich der Hardwarerevision des Geräts 

Alle weiteren Schritte erfolgen wie in der regulären Installationsanleitung beschrieben

 

IV. Probleme bei der Installation

Falls etwas schief gelaufen sein sollte und der Router nicht mehr bootet, keine Panik! Das Gerät hat einen Notfall-Bootloader eingebaut. Dieser nutzt das Trivial File Transfer Protocol (TFTP).

Die notwendige Vorgehensweise ist hier und hier beschrieben.

Unter Windows hat mir der Solarwinds-TFTP-Server gute Dienste geleistet.

 

Für Fragen stehen wir gern bereit, oder besuchen Sie uns bei einem der nächsten Freifunk-Treffen

 

Ergänzung 28.06.2020: Das Script funktioniert leider nicht mit aktuellen Firmware-Versionen von TP-Link, Der Hersteller scheint den Bootloader geändert zu haben. Installiert das TFTP-Recovery-Image gemäß Anleitung oben und spielt die neueste Firmware per sysupgrade ein. Wir empfehlen, den Archer C50 nicht zu kaufen!

https://my.hidrive.com/share/nhpovwshgm#$/Firmware/Archer%20C50%20V3%20V4%20Factory


Kommentare

2 Antworten zu „Archer C50 flashen – Factory-Firmware-Images live erstellen“

  1. 11/2019 : beim ausführen des scriptes kommen einige fehlermeldungen… es werden dann zwar zwei bin-dateien erzeugt, diese zerstören den router dann aber wenn man so dumm ist und diese verwendet :-)

    1. Hallo Stefan, bitte den Hinweis vor dem Flashen lesen. Das Script läuft fehlerfrei für den passenden Router.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert