Flashspeicher upgraden - exemplarisch am TP-Link TL-WR841v9


#4

Hallo begin,

die Images werden schon erzeugt, dann aber durch namensgleiche überschrieben :wink:

Das hat mich auch viel Nerven gekostet, speziell beim V11, wo wir 4MB, 8MB und 16MB Images haben wollten. Man muss dann mehr Profile definieren.

Ich habe die Patches auf github hochgeladen, vielleicht schaust Du da mal rein, es sollte klar werden, was man tun muss. Vor dem Wochenende habe ich wenig Zeit, sonst könnte ich mehr helfen.

Viel Erfolg
Hermann-Josef (bk9050)

P.S.: Ja, die Typangabe hatte einen Typo, 28 (= Parallel-Flash) anstelle von 25 (= SPI-Flash)


#5

Hallo Hermann-Josef,

vielen Dank für die rasche Unterstützung. :+1:

Ja, Danke werde ich tun. Wobei ich nicht allzu viel Hoffnung habe, da ich null Ahnung vom Scripting/Coding habe. Aber ich werde mein bestes versuchen. In die Patch-Geschichte muss ich mich auch erst noch einlesen.

Kein Problem. Ich doktere jetzt schon eine ganze Weile, ohne nennenswerte Erfolge daran herum. Also werden mich einige Tage mehr oder weniger, nicht direkt ins Unglück stürzen.

Noch einmal Danke für deine Hilfe.

cu
begin


#6

Bitte denke auch immer dran, das man sich so ein Sonderling baut, dessen Support wahrscheinlich nie upstream sein wird.

Will man was zukunftsfähiges haben, dann ist der 841er keine Option mehr. Auch und wahrscheinlich eben wegen den 16MB Flash, nicht.


#7

Hallo Tarnatos,

Ja, ich muss dir mittlerweile uneingeschränkt zustimmen. Vielleicht sollte man das auch direkt im ersten Beitrag erwähnen.
Zu Anfang hatte ich noch die Hoffnung, dass Euer Mod “Mainstream” werden könnte.
Und mit den Patches und Scripten von bk9050 wäre man damit auch auf einem guten Weg.
Aber wenn das niemals in Gluon aufgenommen wird, dann …

Korrekt. Meine 841er Geräte sind leider erst 4. bzw. 1. Monat alt.
Die Geräte mit “Zukunft” die ich betreibe, ein WR1043ND-v4 u. ein WR842N-v3 , haben mich nicht so beeindruckt. Doppelt so teuer, schwer zu beschaffen u. eine Unterstützung dafür, die stabil funktioniert hat auch einige Zeit auf sich warten lassen.
Da sind die 841er schon robuster u. im Vorteil, besonders bei schwierigen Einbau- u. Empfangslagen. Da habt Ihr nun auch schon ewig dran herum optimiert und jeden Winkel erforscht.

Euer Mod ist preiswert (unter 10,- €) wenn man die Handwerkzeuge schon besitzt. Daher wollte ich es einfach ausprobieren. Nenne es von mir aus Forscherdrang. War vorher mit Flasher, SPI Chips, u-boot, ART, Gluon kompilieren vorher noch nie in Berührung gekommen.
Denn eigentlich kann man den ganzen Billig-TP-Link-Routerkram, im Zeitalter von Dual-Band, Multi-MiMo, Annex-J, Vectoring, Kabel- u. FTTH Anschlüssen. Provider-Zwangs-HotSpots eh’ für nichts mehr sinnvoll verwenden, außer für Freifunk.

cu
begin


#8

@begin, der Archer C25 hat Dualband und wird in Zukunft von Gluon unterstützt werden, nur so zur Information :wink:


#9

Wie funktioniert das denn nun?
Wäre es nicht nach wie vor besser, dem Router eine -zu definierende- eigene HW-ID zu geben?
Also entweder einen 841er mit extrem hoher Nummer (sind ja immerhin 4 Stellen frei).

Oder -falls das unerwünscht ist- eben das TP-Link in etwas anderes zu ändern (a la “BMW->Alpina”, falls befürchtet wird, man könnte mit “Umdefininitionen im TP-Link-Numberspace” die Rechte von TP-Link verletzen/einschränken oder zumindest unwahrscheinliche Kollisionen in Kauf nehmen).

Zumal man mit einer neuen Manufacturer-ID keine vorhandenen Profiledateien patchen, sondern schlicht ein weiteres Profil nur “dazunehmen” könnte. (Ja, bleibt ein Patch, aber einer, der nicht mitten im “fremden” Namespace passiert.)


TL-WA901ND zerflashed / ART-Partition beschädigt ("total kaputt")
#10

Das wird doch gemacht! Schau bitte nochmal genau hin.


#11

Kannst Du mir helfen, wo im Posting ich schauen sollte wo die HW-ID geändert wird?


#12

Klar! Direkt oben im ersten Posting habe ich es erklärt.

Habs dir nochmal rauskopiert.


#13

Ich war davon ausgegangen, dass sich das nur auf den Build-Vorgang für’s das Image bezieht.

Das Kommando gebe ich auf der neuen Uboot-Konsole ein, um die HW-ID zu ändern?


#14

Ob es auch auf der Konsole geht, weiß ich nicht.

Die von mir rauskopierten Textpassagen bezogen sich auch den Gluon Build Prozess.

Hier:

Wird beschrieben wie man es direkt in der mtd0 Partition des Images mit einem HEX Editor ändert.


#15

Ach, das ist auch die HWID. Ich dachte, dass wäre die Info für den Bootloader.

Anway, mein Vorschlag war ja, etwas sparsamer mit den Resourcen umzugehen. (zumal die Bestückungen mit einiger Sicherheit 4^n MByte sein werden, also 6, 7 oder 12MB eher unwahrscheinlich sein werden in Zukunft.


#16

Du mach doch, ist doch ein Wiki!


#17

Hallo,

möchte Rückmeldung zu meinen “Experimenten” geben.

Die ID des Router Modell hatte ich mit einem Hex-Editor zuerst im original mtd0.bin / u-boot_mod nach Tarnatos Vorschlag angepasst, bevor ich diesen mit dem Flasher auf den 16MB Winbond SPI Chip geschrieben habe.

Das sieht dann auf der seriellen Konsole so aus:


  • U-Boot 1.1.4-0c183583-clean     *
    
  •      Build: 2017-05-10          *
    

BOARD: TP-Link TL-WR841N/D v11
SOC: QCA953x ver. 2 rev. 0
CPU: MIPS 24Kc
RAM: 32 MB DDR1 16-bit CL3-3-3-8
FLASH: 16 MB Winbond W25Q128
MAC: 18:A6:F7:xx:xx:xx
CLOCKS: CPU/RAM/AHB/SPI/REF
650/400/200/ 25/ 25 MHz

u-boot> printmodel

Router model stored in FLASH at offset 0x9F01FD00: 0841161100000001

Die Vorlage des Patches von bk9050 selber zu integrieren, habe ich erwartungsgemäß nicht hinbekommen.
Aber auf github liegt auch ein Build-Script von ihm, dass ich soweit anpassen konnte, mit Hilfe dessen ich die für mich passende “site” der Community einbinden konnte.

Nach 3 Stunden Durchlauf wurden die zusätzlichen Images erstellt:

*tp-link-tl-wr841n-nd-v11-16mb-sysupgrade.bin
*tp-link-tl-wr841n-nd-v11-8mb-sysupgrade.bin
*tp-link-tl-wr841n-nd-v12-8mb-sysupgrade.bin
*tp-link-tl-wr841n-nd-v9-8mb-sysupgrade.bin

Done!

Start: 2017-05-20T16:32+02:00
Stop: 2017-05-20T19:25+02:00

Soweit ich es gesehen habe, werden zur Zeit in zwei Durchläufen noch nicht alle möglichen Images für 841er gebaut, Da müsste noch einmal die fähiger Köpfe ran. Aber das von mir benötigte “tp-link-tl-wr841n-nd-v11-16mb-sysupgrade.bin” war dabei.

Vorher erstellten passenden pepe2k “u-boot_mod” + “modifizierte Router-ID” auf den Flash Chip geschrieben, eingelötet, ART Partionon per u-boot Web-Interface wieder hergestellt und das Image “tp-link-tl-wr841n-nd-v11-16mb-sysupgrade.bin” ebenfalls per Web-Interface geflasht.

Router getestet, Mesh-VPN, Mesh, Client-Verbindung, SSH geht.
Wunderbar! Vielen Dank an alle Beteiligten für die Hilfe und Unterstützung.

Aber wie von Tarnatos völlig korrekt angemerkt, haben wir jetzt einen “Sonderling” gebaut.
Durch persönliches Unvermögen, passte jetzt der Versions-String nicht zu dem der verwendeten Community, sodass einige “opkg update” nicht geladen werden konnten. Konnte ich zwar mit einigen Basteleien wieder hinbiegen, aber mir ist aufgefallen, dass einige via opkg installierte Pakete nicht korrekt funktionieren.

Heißt, die ganze Sache macht nur wirklich Sinn, wenn die von euch präferierte Community auch diesen Mod letztendlich unterstützt und entsprechende sysupgrade Images baut. Sonst wird das auf lange Sicht nichts, vor allem in Hinblick auf anstehende Autoupdates, 802.11s Umstellung, Migration zu LEDE Projekt.

cu
begin


#18

Daher meine dringende Bitte, das mit der HW-ID/BoardID so zu machen, dass es nicht nur technisch funktioniert, sondern auch Upstream zu Gluon gehen kann. Also den kritischen Blicken von Neoraider&Co standhält.
Ansonsten bringt es nämlich wirklich nichts.


#19

Nochmal und letztmalig,

die HW ID wurde angepasst und ist unique. Wie das geht ist oben beschrieben!

Wenn das besser, anders oder sinnvoller geht, dann nicht reden MACHEN! Der Betrag oben ist ein Wiki, jeder kann ihn editieren.


#20

Das Gluon-Git ist kein Wiki.

Es geht darum, eine Lösung zu finden, um die Umrüstungen im größeren Stil “auf Events” durchzuführen.
(und dass die Leute das dann auch nutzen können, dauerhaft)


#21

Hallo begin,
Danke für das Update. Freut mich, dass es mit etwas Gefriggel dann doch noch gepasst hat. Im Wesentlichen basiert das ja auf den Anleitungen von @Manawyrm und @Tarnatos. Auf github ist auch noch ein Patch für die v12, den ich gerade mit dem anderen “verheirate” und dann wieder auf github hochlade.
Mangels schneller Verfügbarkeit der 16MB Chips war die Modifikation für 16MB nicht im Vordergrund, dito. für die v10. Werde das noch nachreichen - 16MB chips sind jetzt bei uns in ausreichender Menge von aliexpress eingetroffen.
Wie Du vielleicht gemerkt hast (siehe github), probiere ich auch an LEDE herum, das ist aber noch nicht soweit. Offiziell gehören die Images für den 841 ja dann zu ar71xx-tiny, aber Sinn macht die Erweiterung eher für das ar71xx-generic Target.
Wie Du ggf. gesehen hast, gibt es da auch ein Skript, das die Modifikation des u-Boot-Images mit Linux-Bordmitteln vornimmt, man benötigt die Software für den TL866 also nicht (wenn man nur den EZP2010 besitzt).

Grüße
Hermann-Josef (bk9050)


#22

Hi,
der Patch ist nun so geändert/erweitert, dass v8 … v12 in jeweils 3 Versionen (4MB, 8MB und 16MB) gebaut werden. Werden noch weitere benötigt?

@begin Du hast über Probleme beim “opkg update” geschrieben, welche Pakete waren das?
Das würde mich interessieren, denn damit das dann geht (= mehr Software installieren), macht man ja die Bastelei…

Danke
– Hermann-Josef (bk9050)


#23

Hallo bk9050,

Wunderbar, vielen Dank!
Meine vorherige Anmerkung war nicht als “Kritik” zu verstehen, sonder vielmehr als Hinweis, dass keiner enttäuscht ist, wenn nach dem Gluon Build-Vorgang einige Images fehlen.

Alle unterstützten 841er sollten jetzt enthalten sein. Sehr schön.
Für mich würde ich mir noch etwas für den TP-Link TL-WA860RE v1 wünschen.
Aber macht im Moment keinen Sinn, da es (noch) kein pepe2k u-boot für diesen Router gibt.
Mal schauen, was daraus wird.

Ja, den Rest hatte ich mir auch schon angeschaut.
Sind einige nette Dinge dabei. Nur leider verstehe ich nicht genug davon um alles nachvollziehen zu können.

Es war:

 opkg install mtr

Beim testen mit:

 mtr google.com

ist mir der Router mehrmals abgeschmiert und hat neu gebootet.
Würde ich aber nicht überbewerten. Habe bestimmt beim Gluon Build-Vorgang etwas bei den Versionen durcheinander gebracht. Hatte gluon-2016.2.5 kompiliert, aber die verwendeten Community nutzt im Moment /modules/gluon-2016.2.4/ar71xx/generic/Packages.gz
War mir auch nicht wirklich sicher, ob das Paket vorher lauffähig war, da ich es bei 4MB Flash nie installieren konnte.

Da es ja eh’ nun ein “Sonderling” ist, habe ich mal ein wenig herum gespielt.
Via pepe2k u-boot lässt sich ja jedes sysupdate image installieren. Also habe ich das aktuelle “tp-link-tl-wr841n-nd-v11-sysupgrade.bin” meiner verwendeten Community installiert. Das funktioniert, auch wenn dann als Modell TP-Link TL-WR841N/ND v11 angezeigt wird.
Auch das “mtr” Paket lässt sich jetzt nachinstallieren und funktioniert.

Habe dann via luci Config Interface versuchsweise einige ältere Versionen (z.B. v2016.1.5 u. v2016.2.3) installiert, die hier noch auf der Platte herum lagen. Nach der Erst-Konfiguration schlägt dann auch nach kurzer Zeit der “autoupdater” zu und installiert die aktuelle Version v2016.2.4 der Community, ohne mein zutun. Sehr schön!
Anscheinen wird die modifizierte HW-ID/BoardID im u-boot bei einem sysupgrade nicht ausgelesen/ausgewertet.

Dadurch ermutigt, habe ich via luci Config Interface auf TP-Link Interface mit “wr841nv11_stripped_3_16_9.bin” zurück geflasht. Auch das funktioniert, solange der pepe2k u-boot Loader nicht dabei überschrieben wird.
Wieder zurück zu Gluon mit einem “normalen” factory Images meiner verwendeten Community hat funktioniert.
Es bezieht sich aber alles auf OpenWRT basierende Images und nur auf den TL-WR841N/D v11 mit 16MB Flash (WinBond) mit U-Boot 1.1.4 Build: 2017-05-10. Mit LEDE habe ich noch nicht herum probiert.

cu
begin