WR841N - SPI Bausteine austauschen / Flash aufrüsten


#21

Mein EZP ist mittlerweile da. Ich komme jedoch erst im Januar dazu. Ich melde mich dann.


#22

wenn ihr meint das liegt an der ART, vielleicht hilft ein diff vom dmesg modif. zu unmodifiziert.(aber sonst gleiche HW und FW)
dmesg|cut -d"]" -f2- > dmesg.1
vimdiff dmesg.1 dmesg.2


#23

ich habe nach vielen Versuchen es auch nur im Direkt Kopiermodus hinbekommen ich nehme an das beim Zurückschreiben auf den GRÖßEREN Flashbaustein der Fehler auftritt


#24

Hallo und Danke fürs Feedback,
ja, auf die Idee mit dem dmesg sind wir beim hacken letzte Nacht auch gekommen. Nur etwas blöd, dass die (2) Geräte schon umgebaut sind und in der Domänen FF-LD sind, während ein nicht-umgebautes Gerät in FF-KA ist, dumm gelaufen…
Trotzdem haben wir da einen entscheidenden Unterschiede gefunden (Router mit Original-Chip):
[ 0.700000] m25p80 spi0.0: found gd25q32, expected m25p80
[ 0.710000] m25p80 spi0.0: gd25q32 (4096 Kbytes)
[ 0.710000] 5 tp-link partitions found on MTD device spi0.0
[ 0.720000] Creating 5 MTD partitions on “spi0.0”:
[ 0.720000] 0x000000000000-0x000000020000 : “u-boot”
[ 0.730000] 0x000000020000-0x000000154430 : “kernel”
[ 0.730000] 0x000000154430-0x0000003f0000 : “rootfs”
[ 0.740000] mtd: device 2 (rootfs) set to be root filesystem
[ 0.750000] 1 squashfs-split partitions found on MTD device rootfs
[ 0.750000] 0x000000380000-0x0000003f0000 : “rootfs_data”
[ 0.760000] 0x0000003f0000-0x000000400000 : “art”
[ 0.760000] 0x000000020000-0x0000003f0000 : "firmware"
Und die relevanten Stellen des Umbaus:
[ 0.700000] m25p80 spi0.0: found s25fl064k, expected m25p80
[ 0.720000] m25p80 spi0.0: s25fl064k (8192 Kbytes)

[ 0.770000] 0x0000007f0000-0x000000800000 : “art”
[ 0.770000] 0x000000020000-0x0000007f0000 : “firmware”

Also: ART liegt am Ende, beim 1:1 Kopieren natürlich nicht und der EZP2010 scheint beim stupiden Kopieren einfach den Inhalt zu duplizieren. Vielleicht kann das Jemand verifizieren?
Und: es wurde ein 8 MB Flash erkannt.
Werde berichten, wenn wir die Dinger (ohne Löten) wieder gangbar gemacht haben…


#25

Wenn am Ende ein kleines Konvertierungs-Script für die ARTpartition (also deren dump) bei übrig sein sollte, bitte in ein GIT ablegen und/oder hier pasten.
(Ich habe aktuell zwar noch keine Massenaktion vor, aber demnächst soll es hier einen kleineren EasterHack geben wo noch Workshops gesucht werden.)


#26

bin da nicht ganz fit, aber as far as i know muss das da liegen, an dieser Adresse und nicht dort…

das kann aber @NeoRaider oder andere vielleicht schneller beantworten. Mir war jedenfalls so als ich mich mit der Manipulation von der ART beschäftigt hab. (mehr TXpower als 12 db an den kleinen tp710)


#27

Bedeutet, man kann zwar den Chip 1:1 kopieren, kann aber nur 4MB nutzen, weil ART nicht am Ende ist? Wird dann ART überhaupt gelesen?


#28

Moin!

Ich habe mich dem Thema auch mal angenommen und meinen eh schon ziemlich hingerichteten Zombie-WR841v10 noch etwas weiter gemodded.

Also:

root@Alfeld-Talweg-16MB-841:/# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    13.6M    136.0K     13.4M   1% /tmp
/dev/mtdblock3           12.3M    496.0K     11.8M   4% /overlay
overlayfs:/overlay       12.3M    496.0K     11.8M   4% /
tmpfs                   512.0K         0    512.0K   0% /dev

Der Hardware-mäßige Umbau war absolut easy.
Ich habe vorher /dev/mtd0 (u-boot) sowie /dev/mtd4 (die ART-Partition) nach /tmp kopiert und dann via SCP runtergeladen.

Wichtig zum Erfolg des Moddes ist es, den u-boot durch diese Version zu ersetzen:


Der tolle Unterschied zum normalen U-Boot (neben anderer praktischer Features) ist, dass diese Version automatisch die Flash-Größe an Ihrer JEDEC-ID erkennt (also so wie ein Programmer das auch macht).

Also wird einfach ein neuer leerer Flash genommen, man lädt das 128kByte mtd0.bin Image und ersetzt den Anfang durch ein fertiges Image des pepe2k u-boots.
Das ganze wird auf den Flash gespielt und der Flash kommt in den Router.
Nach dem Einlöten des Flashes lässt sich über Halten der Reset-Taste beim Starten ein Webserver auf 192.168.1.1 aktivieren.
-> http://192.168.1.1/
hier lädt man dann die Firmware hoch
-> http://192.168.1.1/art.html
Unter dieser URL lässt sich dann das Backup der ART-Partition hochladen.

LEDE dazuzubringen, 16MByte Images für den 841er nach ar71xx-generic auszuspucken war auch erstaunlich einfach.
Hierzu muss ich später nochmal eine genaue Anleitung schreiben. Dabei hat NeoRaider jedenfalls auch sehr geholfen :smile:

root@Alfeld-Talweg-16MB-841:/# iwinfo client0 info
client0   ESSID: "hannover.freifunk.net"
      Access Point: 5A:61:F7:7F:7C:10
      Mode: Master  Channel: 1 (2.412 GHz)

WLAN / die ART-Partition habe ich dabei übr. auch nicht kaputt gemacht :smile:

Viele Grüße,
Tobias


#29

Wenn ich mir was wünschen dürfte:
Einen Workshop oder ein Youtube-Tutorial.

Einfach damit mehr Leute ihre 841er aufbohren.


#30

@adorfer: Ein YouTube-Video werde ich denke ich schon machen, wie so oft bei mir, aber für zu Hause ist das leider noch nichts ):
Man benötigt zwangsweise einen EEPROMer. (mit nem JTAG Adapter könnte das auch klappen, hab ich aber nicht.).
Zumindest halt um auf den neuen Chip ursprünglich mal den neuen U-Boot draufzuladen. Alles andere bekommt man dann per Ethernet/TFTP nachgeladen. (auch die ART-Partition usw.), aber das Henne-Ei-Problem muss man irgendwie lösen.

Ansonsten muss man halt zwangsweise Gluon selbst bauen.
Wer vor diesen beiden Dingen keine Angst hat, kann diesen Hack umsetzen.

Wenn man sich beim Löten nicht gerade völlig blöde anstellt, kann man immerhin nicht allzuviel kaputt machen, wenn alles schiefgeht, lötet man halt wieder den 25Q32 ein und lässt es erstmal.


#31

Moin,

so wirds gemacht :smile:

@adorfer: Bitte sehr :smile:

Viele Grüße,
Tobias


Flashspeicher upgraden - exemplarisch am TP-Link TL-WR841v9
#32

Sehr geil Dankeschön!


#33

Jemand mit JTAG müsste mal testen, wie (gut) das mit nem JTAG-Programmer geht…

Auch: Das ist natürlich absolut beta! Ich habe noch keinerlei Langzeiterfahrungen.
Auch: Autoupdater unbedingt ausschalten! Ich habe keine Ahnung, was Sysupgrade auf dieser Hardware veranstaltet.


#34

Gibt es inzwischen ein modifiziertes Gluon-Target, damit das bei Lede&Co aus dem AR71xx-tiny herauskommt?
(ich habe gerade mal 20 Chips bestellt für die Umrüstung)


#35

Joa, also in dem Video zeige ich, wie man das umbaut.
Wir haben dann ja mehr als genug Platz, daher wird das dann auch ein ar71xx-generic…

Muss man aber halt schon immer manuell reinpatchen, das wird nicht in den “mainline” aufgenommen.


#36

Aber wenn man doch sowieso am Flash dran ist, warum keine neue Hw-ID, irgendwas was frei ist und frei bleibt…
Wenn wir das für FF als Standard etablieren, dann wäre es doch mit etwas gutem Willen auch möglich, dafür ein Target zu bekommen.


#37

Jo, die Hardware-ID steht ja in der ersten Partition bei dem Bootloader und die habe ich auch verändert.

NeoRaider meinte aber schon, dass Sie das eher nicht so gerne Upstream haben würden…


#38

Kannst du daraus vielleicht einen Patch bauen, den kann man ja dann optional einbauen?


#39

Super Anleitung, vielen Dank fürs Schreiben :smile:

Ja, da könnte man mal nen Patch draus machen…


#40

Koennte man nicht in die obersten beiden Bits der 841er - Version (also der id) die Flashgröße kodieren?
Also 00 für 4MB. 01 für 8MB, 10 für 16 und 11 für 32MB? Dass TP-Link zu Lebzeiten über eine 841v99 kommt ist doch eher unwahrscheinlich.


Flashspeicher upgraden - exemplarisch am TP-Link TL-WR841v9