Menügeführtes Hilfsskript für "TP-Link WR841N: RAM und Flash aufrüsten"

Es gibt eine menügesteuerte Alternative für Freifunker, die reihenweise TL-WR841 Router speichermäßig aufrüsten möchten und die die Befehlsfolgen aus dem c’t Artikel nicht immer wieder händisch leicht modifiziert auf ihrem Raspberry Pi eingeben möchten.
Es handelt sich um das Shell-Skript "flashdumper.sh"

Das Skript und weitere Informationen dazu sind hier zu finden: GitHub - oszilloskop/FlashDumper: TL-WR841N Flash Dumper (für Linux/macOS)
Technisch sollte alles vorhanden sein. Von der Bedienung her gibt es bestimmt noch Optimierungspotenzial.

15 Likes

Das Skript wurde weiterentwickelt und etwas bedienerfreundlicher gestaltet. Es unterstützt nun neben dem Raspberry Pi auch noch weitere USB-Flasher-Programmer. Weiterhin ist es jetzt unter Linux oder unter macOS nutzbar.

Kleiner Tipp am Rande:
Ein CH341A-Flash-Programmer (USB) und ein SOIC SOP8 zu DIP8 Adapter kosten zusammen nicht mal 15€ (keine China-Bestellung).
Unabhängig davon, ob nun ein Raspberry Pi oder ein beliebiger USB-Flasher verwendet wird, kann ich nur wärmstens einen SOIC SOP8 zu DIP8 Adapter empfehlen. Er ist deutlich handlicher als ein (mein) Zangenadapter. Bei dem Adapter ist darauf zu achten, dass es sich um einen Adapter für 200 mil Chips handelt.

10 Likes

Danke für die Arbeit.

Getestet auf Raspi 2, PineA64(+) und x86 32/64.

Faulerweise in den X11-Desktop eingebaut:
x11-Desktop configs im github

Testaufbau:

Danke an Freifunker Hans-Peter aka. d3dhemmer aus Sankt Augustin für die pine64 Hardware.

3 Likes

Hm, habe meinen CH341A-USB-Programmer noch nie mit meinem Raspi benutzt, immer nur mit meinem Mac. Und nun muss ich bei Dir lesen, und selber bei mir feststellen, dass auf dem Raspi der USB-Zugriff auch Root-Rechte benötigt. Ich gehe mal davon aus, dass das auf allen Linux-Kisten so sein wird (@alladin: Kannst Du das bestätigen?). Auf einem Mac, mit per brew installiertem flashrom-Tool, ist dieses nicht notwendig. Daher ist es mir nicht aufgefallen.

Das Problem lässt sich jedoch schnell lösen. Es ist eigentlich im Skript schon alles vorbereiten. Auf Linux-Kisten bedarf es dann jedoch bei jedem erneuten Skriptlauf einer einmaligen Eingabe des Root-Passwortes. Dadurch wird der Zugriff auf /dev/usb/… gewährt und die Dateirechte der durch das Skript erzeugten Flash-Dumps etc. bleiben beim aktuell angemeldetem User.

So, das Problem ist behoben.
Siehe: Eingabe eines sudo-Passwortes ist unter Linux jetzt immer notwendig · oszilloskop/FlashDumper@9a4209d · GitHub

Unabhängig vom Programmer-Type ist unter Linux jetzt bei jedem Skriptlauf eine einmalige Eingabe des sudo-Passwortes notwendig. Bevor das Tool 'flashrom' vom Skript erstmalig aufgerufen wird, wird das Passwort automatisch abgefragt.

P.S.
Falls vorher noch eine alte Version des Skriptes verwendet wurde, so muss im Setup erneut einmalig der Programmer-Type ausgewählt werden. Erst dann greift der Fix.

1 Like

Theroretisch reicht ein Hinzufügen des Users zur Gruppe Dialout bei den Rechten (ähnlich wie bei der Arduino Ansteuerung über USB). Da ich faul bin und Einzelnutzer auf den Kisten, spare ich mir ein sudo mit chmod +s /usr/sbin/flashrom und chmod +t /usr/sbin/flashrom:

Sehr geil! Das werde ich fortan auch nutzen…

2 Likes

Wie ist denn das mit der 3,3/5V Geschichte bei den Dingern? :thinking:
Ich lese grade das die 5V liefern und nicht umschaltbar sind…

Gruß Marius

Lediglich der CH341A-Chip wird hier mit 5V versorgt.
Die zu programmierenden EEPROM-ICs werden über den ZIF-Sockel Vcc-seitig nicht mit 5V versorgt, dort ist Vcc immer 3,3V.

Spannungs-technisch sind die I/O Pins der 24xx/25xx-Serie recht genügsam, meist sind sie so zwischen 2,5V bis 5V spezifiziert. Wenn der CH341A nun I/O-seitig mit 5V treibt, dann ist trotzdem alles im erlaubten Bereich.

Der Programmer hat die spezifizierte Aufgabe 24xx/25xx I2C EEPROMs zu programmieren, und das macht er gut.

Evtl. Interessante Links: eevblog und DataSheet CH341A

Aber ich drifte vom Hauptthema dieses Threads ab, ist ja jetzt doch etwas hardwarelastig geworden.

EDIT:
Evtl. wäre für weitere HW-Fragen der folgende Thread ein besserer Ort:

1 Like