1. FEATURE Receiver Firmware
该独家技术信息由工程师所做
JTAG-
Interface ■ Handelsübliches JTAG-Interface
für den Parallel-Port. Man kann es
bei vielen Elektronikversendern
bestellen.
TELE-satellite Magazine
Business Voucher
www.TELE-satellite.info/11/11/jtag
Direct Contact to Sales Manager
• Neuprogrammieren eines defekten
Receivers
• alle notwendigen Informationen im
Internet zu finden
• auch geeignet für andere Geräte mit
Flash-Chips
• gut geeignet, um die Funktion eines
Receivers besser zu verstehen
214 TELE-satellite — Global Digital TV Magazine — 10-1
1/201 — www.TELE-satellite.com
1 www.TELE-satellite.com — 10-1
1/201 — TELE-satellite — Global Digital TV Magazine
1 215
2. FEATURE Receiver Firmware
Rettung für fehlgeschlagene
Firmware-Updates
Vitor Martins Augusto
Wer öfters die Firmware von Satelli- „Bootloader“ genannt. Die Aufgabe des kann der Prozessor den Receiver nicht
ten-Receivern aktualisiert, kennt oder Bootloader ist es, beim Start des Re- mehr starten, der Prozessor stürzt ab
fürchtet zwei Probleme: das Aufspielen ceivers zu prüfen, ob eine Firmware- und der Receiver verwandelt sich in
einer falschen und ungeeigneten Firm- Aktualisierung vorgenommen werden einen Ziegelstein, einen Brick. Nichts
ware sowie der unerwartete Stromaus- soll und wenn dies nicht der Fall ist, den geht mehr.
fall während der Aktualisierung. Wenn Inhalt des Flash-Speichers in den RAM- Hier gibt es zwei unterschiedliche
einer dieser Fälle auftritt ist das Resul- Speicher zu kopieren und dort die Firm- Situationen: ist der Bootloader noch
tat meist ein „toter“ Receiver, im eng- ware zu starten. Dieser Kopiervorgang, intakt, aber die Firmware nicht mehr
lischen zutreffend „Brick“ (Ziegelstein) in dem die Firmware vom Flash in den vorhanden oder korrupt, dann kann
genannt - gut für nichts. Aber halt, es RAM-Speicher kopiert (und dabei meist der Bootloader den Receiver zwar nicht
gibt vielleicht noch eine letzte Mög- auch dekomprimiert) wird, ist für die mehr starten, da er aber auch für die
lichkeit, Firmware aufzuspielen. Näm- Wartezeit verantwortlich, die vergeht Aktualisierung zuständig ist, kann der
lich dann, wenn der Receiver über eine bis der Receiver eingeschaltet ist. Anwender wenigstens durch den Boot-
JTAG-Schnittstelle verfügt. Aber der Der Bootloader befindet sich im Flash- loader die korrekte Firmware erneut
Reihe nach, wie funktioniert überhaupt Speicher auf einer bestimmten Adresse aufspielen. Schlimmer ist es, wenn auch
das Starten eines Receivers? (meist in den letzten 64KB, ab &H7FF- der Bootloader fehlt. Dann funktioniert
Beim Einschalten startet der Pro- FE000). Ist an dieser Adresse kein Pro- gar nichts mehr. Viele Hersteller bie-
zessor des Receivers ein Programm, gramm oder eben ein falsches, dann ten Aktualisierungen der Firmware an,
■ Innenleben eines handelsüblichen Receivers – Der Pfeil zeigt den JTAG-Stecker, der
Kreis zeigt ein weißes Dreieck, welches PIN1 signalisiert: das JTAG-Interface wird so
eingesteckt, dass der rote Leiter auf diese Seite zeigt
216 TELE-satellite — Global Digital TV Magazine — 10-1
1/201 — www.TELE-satellite.com
1
3. 1 3
in denen der Bootloader nicht ersetzt Receivers einer anderen Marke aufzu- programmiert ihn extern, wozu jedoch in vielen Elektronik-Shops kaufen kann. det sich für einen bestimmten Receiver Windows Vista und Windows7, beson-
wird, um solchen Problemen vorzubeu- spielen, z.B. weil die Hardware identisch professionelle Hardware zum Entlöten, Sollte man ein solches JTAG-Interface relativ einfach über Google die richti- ders in den 64Bit Versionen, Probleme
gen. Ist der Bootloader erstmal defekt, ist. Viele Budget-Receiver basieren auf Programmieren und erneutem Einlöten nicht im Handel finden, kann man es ge JTAG-Belegung, wenn es sich nicht mit den Tools zur Firmware-Aktualisie-
kann man den Receiver nicht mehr star- der gleichen Hardware und der Her- notwendig ist, oder man hat das Glück, auch kurzerhand selber bauen, da nur um den genormten Stecker mit 20 Pins rung.
ten. Grundsätzlich wäre es also besser, steller hat lediglich die Firmware ange- auf der Platine eine JTAG-Schnittstelle wenige Widerstände und ein gewöhnli- handelt. Viele Receiver basieren auf Prozes-
wenn bei jedem Firmware-Update auch passt. Es kann daher interessant sein, zu finden. Die JTAG-Schnittstelle er- cher 74HC244N Baustein benötigt wer- Dieses JTAG-Interface wird über den soren des Herstellers STi. Dies ist bei
der Bootloader neu installiert wird. mal die Firmware eines anderen Her- laubt einen indirekten Zugriff auf den den. Im Internet kursieren Schemas Parallel-Port des heimischen Compu- den meisten Budget-Receivern der Fall.
Zeigt der Receiver nur noch „8888“ stellers auszuprobieren. Hierzu muss Flash-Chip über den Prozessor. Beim für alle gängigen Receiver, die per JTAG ters angeschlossen und gesteuert, so Und gerade für diese Prozessor-Fami-
oder gar nichts mehr an, dann ist die jedoch fast immer auch der Bootloader Einschalten wird der Prozessor in einen programmiert werden können. dass man erst sicherstellen muss, dass lie gibt es eine tolle Freeware: jKeys.
Firmware-Aktualisierung fehlgeschla- aktualisiert werden. Schnell hat man bestimmten Modus geschaltet, so dass Das JTAG-Protokoll sieht 6 Leitungen ein solcher Computer im Haushalt noch Dieses Tool funktioniert einwandfrei
gen. Spricht der Receiver nicht mehr sich vertan und die falsche Firmware man über ihn den Flash-Chip auslesen, vor: existiert. Am besten stellt man sich ei- mit dem JTAG-Interface an der par-
auf eine Aktualisierung durch die seri- samt falschem Bootloader aufgespielt. löschen und programmieren kann. • TRST • TDO • TDI nen ausrangierten Laptop mit Windows allelen Schnittstelle und erkennt bei
elle Schnittstelle an, dann ist auch der Wenn der Receiver mangels korrekter Damit dies funktioniert, benötigt man • TCK • TMS • GND XP für JTAG-Arbeiten bereit. Ein solcher aktueller Datenbank automatisch die
Bootloader gelöscht worden und nun Firmware und Bootloader nicht mehr ein JTAG-Interface und entsprechen- Oftmals benutzen Hersteller einen Laptop ist allgemein auch ideal, um meisten STi Prozessoren in gängigen
geht gar nichts mehr. startet, gibt es nur noch zwei Möglich- de Software. Glücklicherweise ist ein genormten Stecker mit 20 Pins. Ist dies Firmware über die serielle Schnittstel- Receivern. Was jKeys meist nicht auto-
Fortgeschrittene Anwender versu- keiten, den Receiver zu reparieren. Ent- JTAG-Interface in der Regel sehr ein- nicht der Fall, gilt es, die richtige Rei- le aufzuspielen und sollte daher in der matisch erkennen kann ist der im Re-
chen auch gerne, die Firmware eines weder man lötet den Flash-Chip aus und fach aufgebaut, so dass man es günstig henfolge zu erraten. Normalerweise fin- Werkstatt nicht fehlen. Zu oft bereiten ceiver verbaute Flash-Chip. Es gibt zu
viele verschiedene Flash-Speicherchips
und jeder Hersteller hat verschiedene
Modelle im Angebot; dann muss man
2 4 den Hersteller und das Modell vom Chip
ablesen und das entsprechende Daten-
blatt im Internet suchen.
Nehmen wir unser Beispiel eines han-
delsüblichen Receivers. Beim eingebau-
ten Flash-Chip handelt es sich um das
Modell MX 29LV160CTTC. Eine Suche
bei Google listet viele verschiedene
Webseiten. die das entsprechende Da-
tenblatt zur Verfügung stellen. Warum?
Weil es sich um Elektronikgroßhändler
handelt, die für alle Komponenten die
1. Rückseite eines älteren Laptops: Paral-
lel-Port und serielle Schnittstelle waren zu
dieser Zeit noch Standard und werden für
das JTAG-Interace benötigt. Alte Laptops
also nicht verschenken oder wegwerfen:
sie können noch gute Dienste bei Repara-
turarbeiten tun!
2. Unser Arbeitsplatz für die Firmware-
Bearbeitungen mit JTAG
3. Zeigt der Receiver nur noch „8888“ oder
gar nichts mehr an, dann ist die Firmware-
Aktualisierung fehlgeschlagen. Spricht
der Receiver nicht mehr auf eine Aktua-
lisierung durch die serielle Schnittstelle
an, dann ist auch der Bootloader gelöscht
worden.
4. Blick in unseren defekten Musterrecei-
ver: diese Abbildung zeigt unten links den
STi Chip (ein STi5518BVC), sowie den MX
29LV160CTTC-70G Flash Speicher und den
JTAG-Stecker: diese Komponenten findet
man immer nahe beieinander, da die Lei-
tungen aufgrund der hohen Taktfrequenzen
kurz sein müssen
218 TELE-satellite — Global Digital TV Magazine — 10-1
1/201 — www.TELE-satellite.com
1 www.TELE-satellite.com — 10-1
1/201 — TELE-satellite — Global Digital TV Magazine
1 219
4. Aktualisierung mit jKeys
entsprechenden Datenblätter anbieten,
damit Interessenten die richtige Kom-
ponente wählen können. Praktisch für
unser Vorhaben!
Aus dem Datenblatt können wir die
relevanten Informationen zum Aufbau
des Chips ablesen. Es interessieren fol-
gende Informationen:
- Größe des Chips, in diesem Fall 2MB
- Aufbau der Speicherbänke
- Ob eventuell vor dem Löschen und
Schreiben ein Schreibschutz gelöscht
werden muss
Diese Informationen geben wir in die
jKeys Definitions-Datei ein. In jKeys.def
suchen wir die Gruppe mit den Flash-
Definitionen und tragen die Datenstruk-
tur des Flashchips ein. Nun können wir
jKeys starten. Vorbeugend sollte man
als erstes den gesamten Flashspeicher
auslesen, was natürlich nur bei einem
funktionierenden Receiver sinnvoll ist.
Dieses Image („Dump“) heben wir uns
auf für den Fall, dass eine zukünftige
Firmware-Aktualisierung nicht erfolg-
reich abläuft.
Falls dies doch passiert, können wir
nun ganz einfach unser Backup-Image
wieder aufspielen. Dafür müssen wir
das jKeys-Flash Menü aufrufen, wozu
ein Reset des Receivers notwendig ist.
In kurzer Reihenfolge schaltet man den
Receiver aus, wieder ein und drückt
gleichzeitig bei jKeys auf OK. Wenn dies
geklappt hat, wird das Programmier-
Menü angezeigt.
Nehmen wir nun an, dass nichts mehr
geht. Als erstes muss man den gesam-
ten Flash löschen. Dieser Vorgang setzt
alle Bits des Flashspeichers auf „1“. Die
Programmierung kann lediglich „1“ in
„0“ umkippen, jedoch nicht umgekehrt.
Dies erklärt auch, warum eine unter-
brochene Aktualisierung immer einen
defekten Receiver zurücklässt: der
Bootloader befindet sich in den letzten
64KB und wird vor dem Flash-Vorgang
gelöscht!
Anschließend wählt man die ge-
wünschte Firmware-Datei aus und pro-
grammiert den Flash-Chip. Viele Recei-
ver auf STi-Basis binden den Flash-Chip
im Adressraum von &H7FE00000 bis
&H7FFFFFFF ein, was genau 2MB ent-
spricht. Ist die Programmierung be-
1. jKeys hat in diesem Fall den Receiver
samt Flash-Chip erkannt, weil die entspre-
chenden Definitionen schon in der Daten-
bank vorhanden sind
2. Auslesen des gesamten Flash-Chips
(Adresse &H7FE00000 bis &H7FFFFFFFF):
es ist immer vorteilhaft bei neuen Recei-
vern ein Backup anzufertigen
3. Um den Modus zur Löschung und Pro-
grammierung des Flash-Chips zu akti-
vieren, muss der Receiver kurz aus- und
eingeschaltet werden
220 TELE-satellite — Global Digital TV Magazine — 10-1
1/201 — www.TELE-satellite.com
1
5. endet, schaltet man den Receiver aus, programmiert werden. Hier muss man 4. Ist der Modus zur Löschung und Pro-
entfernt das JTAG-Interface und schal- die Firmware in einem Hex-Editor öff- grammierung des Flash-Chips erfolgreich
aktiviert worden, erscheint dieses Menü
tet den Receiver wieder ein. Dieser soll- nen und die ersten Bytes löschen, die
5. Sicherheitsabfrage vor dem Schreibpro-
te sich nun wieder einschalten. nicht zur Firmware gehören. Dies klingt zess des Flash-Chips
Um sicher zu gehen, dass der Recei- schwieriger als es in Wirklichkeit ist.
ver korrekt programmiert ist und nicht Erstens muss die Firmware ja genau wird der Flash-Chip mit einem beson-
mangels falscher Konfigurationen ab- so groß sein wie die Kapazität des Flas- deren Kleber unzugänglich gemacht.
stürzt, empfiehlt es sich, anschließend hchips. Ist dieser 2MB (2048KB) groß, Damit soll vorgebeugt werden, dass
die originale Firmware über die seriel- dann darf die Firmware nur genau diese Hacker Zugriff auf den Inhalt des Flash-
le Schnittstelle aufzuspielen. Der be- Größe haben. Daher schneidet man am chips erlangen können, da dieser wich-
schriebene Vorgang funktioniert mit Anfang der Datei die entsprechenden tige Daten zur Verschlüsselung enthält.
praktisch allen auf dem STi Prozessor Bytes einfach raus. Oftmals wird auch Hat man sich einmal in die Welt des
basierenden Receivern. nur der Bootloader angeboten. Dieser JTAG eingearbeitet, erscheint dieses
Aber was macht man, wenn man ei- muss an das Ende des Speicherraums Thema gar nicht mehr so schwierig.
nen Receiver besitzt, der nicht mit ei- des Flashchips programmiert werden, Der große Vorteil besteht darin, mit gu-
nem STi Prozessor ausgestattet ist? meist bei &HFFFE000. Es handeln sich tem Gewissen Firmware aufspielen zu
Dann lohnt sich ein Nachforschen trotz- um die letzten 64KB und genau diese können, denn sollte es doch mal schief
dem: viele Hersteller nutzen eine JTAG- Größe muss die Datei mit dem Bootloa- gehen, kann man mittels JTAG den ori-
Schnittstelle auf der Platine und bieten der haben. Wird nur der Bootloader pro- ginalen Zustand des Receivers wieder-
offiziell oder inoffiziell eine JTAG-Soft- grammiert, funktioniert der Receiver herstellen.
ware für ihren Receiver an. Mit Goog- immer noch nicht, doch zumindest lässt Kleinere Fachbetriebe im Digital TV
le findet man recht schnell das nötige sich die Firmware über den normalen Bereich können sicherlich vielen Re-
Layout für das JTAG-Interface, sowie Weg wieder aufspielen. ceivern wieder auf die Sprünge hel-
eine passende Software zum Program- Moderne Receiver des gehobenen fen, denn viele Endbenutzer schaffen
mieren. So kann man durchaus ver- Segmentes bieten oftmals keine JTAG- es doch hin und wieder, die Firmware
schiedene Linux-Receiver mittels JTAG Stecker mehr an. Um Problemen mit falsch aufzuspielen. Das JTAG-Protokoll
programmieren. der Firmware-Aktualisierung aus dem wird übrigens nicht nur in Digtal-TV-Re-
Ein anderes Problem besteht darin, Wege zu gehen, wird ein anderes Kon- ceivern eingesetzt, sondern in praktisch
dass viele Benutzer kein Backup der zept angewendet: der Receiver verfügt allen Geräten, in denen ein Prozessor
Firmware haben, um dieses mittels über zwei Bootloader. Ein „First Stage und ein Flash-Chip benutzt werden. So
JTAG auf einem defekten Receiver auf- Bootloader“ prüft, ob eine Firmware kann man mitunter auch Smartphones
zuspielen. Auch hier hat man Möglich- aufgespielt werden muss. Ist dies nicht und andere Geräte nach einer miss-
keiten: der Fall, wird ein „Second Stage Boot- glückten Firmware-Aktualisierung noch
1) Man organisiert sich einen zweiten, loader“ aufgerufen, der dann wiederum retten.
funktionierenden Receiver, aus dem die Firmware startet. Der Vorteil dieser Zum Schluss: Sicherheit geht vor!
man die Firmware ausliest Methode ist, dass der „First Stage Boot- Wichtig ist der korrekte Umgang mit
2) Man sucht im Internet, ob nicht loader“ niemals überschrieben wird, so einem geöffneten Receiver! Denken Sie
schon jemand genau die gesuchte Firm- dass der Anwender die Firmware in je- immer daran, dass Receiver mit integ-
ware anbietet dem Fall erneut aufspielen kann. riertem Netzteil 220V (außerhalb Euro-
3) Man extrahiert sich die zu flashen- Ganz anders verhalten sich die Her- pas oft 110V) führen! Es müssen daher
de Firmware auf einer Firmware-Aktua- steller von propietären Receivern für alle vorgesehenen Sicherheitsvorschrif-
lisierung des Herstellers PayTV Anbieter. Hier gibt es nicht nur ten beachtet werden. Schnell kann das
Bei der letzten Möglichkeit gilt es zu keinen JTAG-Stecker, dieser wird be- JTAG-Interface mit den Netzteilbau-
beachten, dass die Datei mit der Firm- wusst weggelassen und es werden auch steinen in Berührung gelangen, was
ware-Aktualisierung oftmals einen so- keine JTAG Leiterbahnen vom Prozessor größeren Schaden hervorrufen könnte.
genannten „Header“ hat, also eine be- auf den äußeren Ebenen der Platine ge- Prüfen Sie daher, ob das JTAG-Interface
stimmte Anzahl von Bytes, die die Datei führt, wo der Anwender die JTAG-Ver- sicher sitzt, bevor der Receiver einge-
beschreiben und nicht auf den Flashchip bindungen anzapfen könnte. Weiterhin schaltet wird.
222 TELE-satellite — Global Digital TV Magazine — 10-1
1/201 — www.TELE-satellite.com
1