Forum: Mikrocontroller und Digitale Elektronik Routerimage auslesen über JTAG mit RPI, editieren und neu flashen


von Detlev E. (detleve)


Lesenswert?

Hallo zusammen,
habe durch Zufall dies Forum gefunden und bin begeistert von der 
Vielzahl der einzelnen Unterforen und auch der Tiefe der Beiträge und 
daraus folgenden Diskussionen.
Ich selbst bin Mitte 50, habe etwa um mein 30. Lj. eine Umschulung zum 
Industrielektroniker absolviert, ca. 15 Jahre in der Industrie als 
Elektroniker gearbeitet und beschäftige mich seit etwa 20 Jahren mit 
PCs, Betriebssystemen, Software etc. Neben meinem Job habe ich 
berufsbegleitend das Abi nachgeholt, das Grundstudium E-Technik gemacht 
und anschließend noch 8 Semester Wirtschaftsinformatik.

Doch nun zu meinem eigentlichen Anliegen (falls ich das falsche Forum 
gewählt habe, bitte ich den Mod um Verschiebung - danke sehr):
Habe einen Mobilfunkrouter von Huawei, für die einzulegende SIM-Card ist 
ein Standardprofil eingerichtet. Es lassen sich zwar nachträglich 
weitere Profile einrichten, doch verbindet sich das Gerät immer nur über 
das Defaultprofile. Dieses würde ich gerne ändern. Dabei habe ich daran 
gedacht das Image zweimal per JTAG auszulesen, einmal nur mit dem 
Standardprofil, danach ein weiteres SIM-Profil hinzufügen und dieses 
geänderte Profil wiederum auszulesen. Danach möchte ich die beiden 
Images miteinander vergleichen, um die Stelle im Image zu finden, an der 
das Standard- bzw. geänderte Profil beginnt, und das zweite ausgelesene 
Image dann wie gewünscht zu editieren. Anschließend muss das Image ja 
wieder in den Router hinein, dieser muss somit geflasht werden. Als 
Router habe ich dabei an den Huwaei B260a oder die Easybox 802 (aus 
Preisgründen) gedacht.

Mir fehlen hierzu zu viele Kenntnisse und obwohl ich denke, dass es eine 
Menge Einarbeitungszeit bedeutet, möchte ich diese Aufgabe gerne 
durchführen, um mich a) mit dem Raspberry Pi etwas mehr zu beschäftigen 
und b) über das Auslesen von Daten aus E-Geräten zu lernen.

Kann mir jemand einen Link zu den von mir benötigten Informationen über 
den Einsatz von JTAG und RPI geben oder direkt einen Tipp, wie ich das 
Image aus dem Router auslesen kann? Da beide Geräte auch über 
Netzwerkbuchsen verfügen, wäre möglicherweise auch das Auslesen über das 
Netzwerk möglich, nur weiß ich auch hier nicht genau wie das vonstatten 
geht und wäre ebenfalls dankbar über Tipps.

Gibt es jemanden der mir hier weiterhelfen könnte?

detleve

von wendelsberg (Gast)


Lesenswert?

Ich wuerde vermuten, dass der Router das zusaetzliche Profil irgendwo in 
seinem RAM speichert und deswegen kein Unterschied sichtbar sein wird.

Dass der sich selbst seinen Flash umprogrammiert ist mehr als 
unwahrscheinlich.

wendelsberg

von ich (Gast)


Lesenswert?

wendelsberg schrieb:
> Ich wuerde vermuten, dass der Router das zusaetzliche Profil
> irgendwo in
> seinem RAM speichert und deswegen kein Unterschied sichtbar sein wird.
>
Vielleicht nicht im RAM (wenn er nicht betteriegestützt ist), eher im 
EEPROM. Er soll sich die Profile ja auch bei Stromausfall merken.

Aber auf keinen Fall wird er in seinem eigenen Flash herumschreiben, da 
stimme ich mit dir überein.

von ./. (Gast)


Lesenswert?

Wo lebt Ihr denn...

Mit der allergroessten Selbstverstaendlichkeit werden 
Konfigurationsdaten
im Flash gespeichert.
"Ordentliche" Systeme haben dafuer ihre eigene Partition/Slice mit einem
zugehoerigen Eintrag im Device-Filesystem.

Geraete die sich das Prozessor- oder Systembedingt nicht leisten 
koennen,
schreiben einfach in feste Offsets.

Mir ist schonmal ein Geraet* beim Neukonfigurieren an danach korruptem
Flashinhalt verreckt und musste per JTAG neu belebt werden.

*) Linksys WET11

von Thomas (kosmos)


Lesenswert?

Oder ein Firmwareupdate besorgen und dort nach dem Profil suchen. Mit 
etwas Glück kann man den Stick mit der gepatchten Version flashen wenn 
keine Prüfsumme im Spiel ist.

Was willst du am Profil ändern die DNS Adresse?

: Bearbeitet durch User
von innerand i. (innerand)


Lesenswert?

Hier gäbe es ein paar Tutorials: http://www.devttys0.com/

von Detlev E. (detleve)


Lesenswert?

Hallo,
sorry, komme erst heute wieder dazu hier weiter zu lesen.

In diesem Huawei-Router ist als Standard-Profil Base eingetragen.
Möchte momentan jedoch gerne o2 dort eintragen, dann könnte ich damit 
Anrufe auf meine O2-Nummer weiterleiten, ohne Rufumleitungskosten 
bezahlen zu müsasen.
Ähnlich sähe es auch bei den Vodafone-Routern aus, bei denen eben VF 
eingetragen ist.
Interessiert mich hauptsächlich grundsätzlich, ob es möglich ist und wie 
es gemacht wird, da ich mit JTAG, µCs usw keine Erfahrung habe und mich 
einfach mal etwas darein denken will und es mir am leichtesten feällt, 
michin solche Projekte einzuarbeiten, statt stumpf irgend wleche 
Anleitungen zu lesen.

von W.S. (Gast)


Lesenswert?

Detlev E. schrieb:
> Dabei habe ich daran
> gedacht das Image zweimal per JTAG auszulesen,

Du schreibst das so einfach dahin..

Also, JTAG ist für Dinge wie das Programmieren von Controllern, CPLD's 
usw. nur das Transportmittel, nicht aber das eigentliche Tool. 
Ursprünglich war JTAG nur für den Boundary-Scan gedacht, also letztlich 
das Finden von Bestückungsfehlern durch Abtasten der Pegel an den Pins. 
Je nachdem, was du nun als Hardware in deinem Router drin hast, gibt es 
im Chip eine davon abweichende Logik, die es ermöglicht, im Prozessor 
herumzufuchteln. Für das eigentliche Programmieren und Auslesen von µC 
wird normalerweise über die JTAG-Schnittstelle irgend ein kleines 
Programm in den internen RAM geschrieben, indem der PC via JTAG dem 
Prozessor die dazu passenden Befehle einzeln unterjubelt. Anschließend 
wird dieses kleine "Vor Ort Agent"-Programm gestartet und dient als 
verlängertrer Arm des im PC-Programm (oder im JTAG-Adapter) 
residierenden Programmier-Algorithmus.

Vielleicht merkst du jetzt, daß du vor jedem Versuch des Image-Auslesens 
erstmal ganz genau die verbaute HW kennen und ein dazu passendes 
PC-Programm und einen dazu passsenden JTAG-Adapter haben mußt.

W.S.

von ./. (Gast)


Lesenswert?

Das Profil koennte auch auf der SIM-Karte stehen.

Auf meinem Schlaufon installiert die SIM-Karte auch ein Profilupdate.

Soweit ich mich erinnere, gehoert das auch zum normalen spezifizierten
Funktionsumfang von Mobilfunk-SIMs.

Das brauche ich dann nur starten, und alle wichtigen Eintreage
sind automagisch am richtigen Platz.

von Detlev E. (detleve)


Lesenswert?

Eben nicht, das Profil befindet sich im Router und nicht auf der 
SIM-Card, denn sonst würde beim Austausch der SIM-Card ja auch das 
Profil geändert.
Habe die SIM-Card aber momentan in meinem Smartphone, da ich darüber ne 
I-Net-Flat habe und habe eine o2-SIM-Card eingesetzt.
Kann zwar neben dem Base-Profil weitere Profile einrichten, aber die 
zusätzlichen Profile haben keinerlei Einfluss auf die Verbindung über 
das Standardprofil, welches nun mal BASE ist.

Generell möchte ich eigentlich nur wissen, ob es möglich ist solche 
Hardware auszulesen und dann gegebenenfalls nach dem Auslesen Änderungen 
einzubringen und diese dann wiederum zu flashen. Deshalb danke dir W.S., 
denn ich habe keinerlei Ahnung wie ich das anstellen kann und möchte 
hieran eben auch etwas lernen.

von ./. (Gast)


Lesenswert?

Wenns ein Androide ist, such mal nach "SIM Toolkit" bei den 
Applikationen.

> ob es möglich ist solche
> Hardware auszulesen und dann gegebenenfalls nach dem Auslesen Änderungen
> einzubringen und diese dann wiederum zu flashen.

Wenn die Hardware irgendwo JTAG-Anschluesse hat, und die auf einem
PC laufende JTAG-Software die verwendetet CPU kennt, kann man mit
einem zur Software passenden JTAG-Adapter den Speicher auslesen.

Fuer ARM-CPUs und einige andere z.B. der Segger J-Link mit der Software
JFlashARM.

Exotischere CPUs werden vom Hersteller auch oft mit spezieller Software
versorgt die haeufig ueber den PC-Parallelport an die Zielhardware
angeschlossen wird.

Bei Huawei wuerde ich mal bezweifeln, dass ensprechende Software
fuer Endkunden verfuegbar ist.


Die uebliche Hardcoremethode ist aber den Flash auszuloeten und
in einem Eprommer auszulesen, den Flashinhalt gemaess den eigenen
Vorstellungen zu aendern und den Flash dann damit zu programmieren.


Zum Schluss kann es Dir dann immer noch passieren, das die Firmware
ihre Integritaet mit Pruefsummen und Zertifikaten absichert.

Da gibts dann hoechstens noch ein "Corrupted Image detected, 
rebooting..."
in einer Dauerschleife auf einem seriellen Pin des Controllers zu sehen.

SAT-Receiver nehmen da z.B. gern die MPEG-CRC ihres Inhalte, die dann 
ganz
hinten im Flash steht.

Summa summarum eine Menge Aufwand fuer ein unbekanntes Resultat.

von detleve (Gast)


Lesenswert?

Hallo,

komme leider nicht immer dazu hier auf der sSeite kontinuierlich 
mitzulesen bzw zu antworten.
Danke vielmals für die technischen Ausführungen, deren Kenntnis mir 
fehlte und für die Entmutigung/Ermutigung. Soll das heißen, ich soll 
jetzt meinen Forscherdrang einstellen, oder wie darf ich das verstehen?

Das Gerät als solches hat nen 10er oder 20er gekostet und wenn es nach 
dem Erforschen nicht mehr tut - ein kleiner Preis für die Wissenschaft.
Andererseits immer noch eine Herausforderung und wenn jemand da über 
Kenne verfügt und mir Tipps zum Auslesen geben kann, dann sind die nicht 
nur hilfreich sondern gern angenommen. Etwaige Ergebnisse würde ich hier 
sowieso mit anderen teilen - so verstehe ich den Sinn eines Forums.

Auch wenn es scheinbar entmutigende Beiträge sind, können sie das genaue 
Gegenteil bewirken.

Nochmals danke sehr.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.