Tekway MSO
For an English version of this article check http://embdev.net/articles/Tekway_MSO
von Tinhead
Im Juli 2012 hat Tekway Technologies Co.,Ltd ein neues Oszilloskop angekündigt um deren Produktpalette zu erweitern [1]
Allerdings handelte sich dabei nicht um ein komplett neues Produkt, sondern um ein Mixed Signal Oszilloskop basierend auf der DSO2.0 Platform, die besser bekannt ist als Tekway DST1000B Modelreihe. Ein Monat später hat auch Hantek, die auch Lizenznehmer von DSO2.0 Platform sind, eine eigene Version des MSOs vorgestellt [2], [3]
Ich konnte noch ein (vorserien) Testgerät von Tekway bestellen, der schon allerdings viel Versprechend war. Schnell ist mir klar geworden, dass es sich dabei um eine DSO Hauptplatinne (DST1000B) mit einem kleinen Aufsatz (MSO LA Platinne) handelt. Da die spezielle Firmware auch auch anscheinend übertragbar war kam die Idee meine vorhandene Tekway DSOs entsprechend umzubauen um die MSO Funktionalität nachrüsten.
Eine 8-Lagen Platine ist allerdings nicht günstig, ich müsste schon jede Menge davon bestellen um die bezahlbar (pro Stück) machen. So habe ich direkt beim Tekway nachgefragt, mit der Hoffnung die können ein paar Platinen aus eigener Produktion verkaufen. Die Antwort war "klar, aber nur wenn du 200stk kaufst", was allerdings 198 Stück höher war als ich benötigt hätte. Eine Sammelbestellung müsste daher organisiert werden, die Hantek/Tekway/Volcraft Benutzer fand ich hier [4], hier [5] und auch hier [6].
Dieser Artikel beschreibt alle notwendigen Änderungen (sowohl die mechanischen als auch softwareseitigen) um ein DSO 2.0 Platform Oszilloskop auf MSO umzubauen. Zu der DSO 2.0 Platform gehören folgende Modele:
* Tekway DST1000B serie - DST1062B, DST1102B, DST1202B * Hantek B serie - DSO5062B, DSO5102B, DSO5202B * Hantek BM/BMV serie - DSO5062BM/BMV, DSO5102BM/BMV, DSO5202BM/BMV * Voltcraft DSO 3062B * Voltcraft DSO 1062D * einige der PCE Instruments (Hantek Klone) Modele[7] * Hantek Handheld DSO1xxxB/BV serie * Extech Handheld MS6060, MS6100, MS6200
Die beiden letzten Modele (Extech und Hantek Handhelds) kann man allerdings aus Platzgründen nicht umbauen. Auch die I/O Erweiterungsport ist anders belegt.
Auch wenn die Sammelbestellung eine einmalige Aktion war, und nicht jeder der eins haben wollte auch eins bekamm, kann dieser Artikel auch benutzt werden um dabei zu helfen eine selbstgebaute MSO-LA Platinne zu erstellen. Auch die, die nur die MSO Firmware testen möchten finden hier alles was dafür benötigt wird.
Elektronische änderungen
An der DSO Platine sind lediglich zwei änderungen notwendig:
- die I/O Stiftleiste muss eingelötet werden. - es muss ein 0R Widerstand bestückt werden um das nGCS4 SoC Signal mit dem LA FPGA zu verbinden. Ohne den Widerstand kann die Firmware NICHT mit der LA Platine kommunizieren. Es ist leicht zu finden, gleich neben den S3C2440:
Mechanische änderungen
Ein MSO besitzt auch ein paar extra Eingänge, so sind auch ein paar mechanische Änderungen notwendig um die HD50 (oder DB25) Buchse zu montieren. Ich habe ein paar Bilder, als PDF, zusammengefügt. Die sind Selbsterklärend und sollten studiert werden bevor man anfängt irgendwelche Löcher zu schneiden / bohren.
Die PDF befindet sich in der Download-Bereich weiter unten [8]
Firmware aktualisierung
- Für Hantek BM/BMV Modelreihe Benutzer
Ich habe bis jetzt KEINE Anletiung für diese Modelreihe erstellt. Der Grund dafür ist eigentlich einfach, keiner der Sammelbestellung Teilnehmern hatte so ein Gerät. Im Prinzip benutzt die BM/BMV Modelreihe schon Linux 2.6.30.4 (genau wie die MSOs), andererseits soweit ich weiss sind ein paar änderungen im Kernel und Dateisystem notwendig um die MSO Programme auszuführen. Ich denke die einfachste Methode für BM/BMV Modelreihe Benutzer ist eine aktualiesierung über den JTAG Port:
- ein komplettes Backup erstellen, z.b. dieser Tool kann dabei helfen [9] - ein Backup der DSO-spezifischen Dateien (siehe weiter unten welche) erstellen - mit einem JTAG Adapter die Datei mso_ready.bin (beinhaltet in der Master Image Datei aus der Download-Bereich weiter unten) ins NAND Speicher programmieren (Achtung: mso_ready.bin beinhaltet auch die OOB Blöcke) - wenn fertig, den JTAG Adapter abziehen und das DSO neustarten. - die DSO-spezifischen Dateien wieder auf das Gerät kopieren - die Selbstkalibrierung ausführen
Eine Umwandlung zurück ist eigentlich nicht notwendig da die MSOs sowohl kompatibles (zu der BM/BMV Modelreihe) Kernel als auch passendes Dateisystem benutzen. Es ist dann nur notwndig die DSO Applikation der BM/BMV Modelreihe (/dso.exe) und die (Modelreihe und Firmware Version abhängige) Sprachdateien (/OuLanguages/* ) auf das MSO zu kopieren. Nach einem Neustart, und einer Selbstkalibrierung, wird das Gerät wieder ein BM/BMV Model sein. Umgekehrt, also MSO Applikation auf BM/BMV kopieren, wird nicht sauber funktionieren auf grund von fehlenden Dateien und Einträgen im Kernel.
- Für alle anderen - wie oben aufgelistet - Tekway DSO 2.0 Platform Benutzer
Es gibt (mindestens) zwei Möglicheiten die Firmware zu aktualisieren
* über UART/USB * über JTAG
über JTAG ist die einfachste Methode, allerdings braucht man dafür ein USB-basierendes JTAG Adpater. Der muss auch den Samsung SoC S3C2440 und NAND Programmierung unterstützen. Wer so ein JTAG Adapter hat (z.b. H-JTAG USB)braucht nur folgende Schritte auszuführen:
- es ist empfehlenswert mindesten die firmware version 2.06.3_121027.0 auf dem DSO installiert zu haben. - die Datei Master Image herunterladen (aus der Download-Bereich weiter unten) und entpacken. - die Datei dst1kb_backup.up auf ein leeres USB Stick kopieren - den USB Stick in die USB Buchse des DSOs (auf der Vorderseite) reinstecken und "Firmware Update" aus der "Utility Menu" ausführen. Achtung: es kann bis zur 5min dauern bis alle Backups erstellt worden sind - wenn fertig, den USB Stick rausziehen und auf dem PC den Inhalt des Verzeichnisses 'dump' prüfen (dies wird angelegt während des Backups). Folgende Dateien sollten vorhanden sein: chk_base_volt mult_adc.log tdc.log i2c.log tdc_edge125M tdc_overtime125M tdc_pulse125M chk1kb_091023 boot.bin kernel.bin root.bin Sollte eine oder mehrere Dateien nicht vorhanden sein bitte nicht Fortfahen! - JTAG Adapter an DSOs ARM JTAG Stiftleiste (J901) anschliessen - mit einem JTAG Adapter die Datei mso_ready.bin (beinhaltet in der Master Image Datei aus der Download-Bereich weiter unten) ins NAND Speicher programmieren (Achtung: mso_ready.bin beinhaltet auch die OOB Blöcke) - wenn fertig, den JTAG Adapter abziehen und das DSO neustarten. Während des ersten Bootvorgangs sollte folgendes Bild erscheinen:
- die Datei dst1kb_backup.up vom USB Stick löschen - die Datei dst1kb_restore.up auf den USB Stick kopieren - den USB Stick in die USB Buchse des DSOs (auf der Vorderseite) reinstecken und "Firmware Update" aus der "Utility Menu" ausführen. - wenn fertig, den USB Stick entfernen und ca. 15min abwarten bis das DSO auf die Betriebstemperatur kommt. - die "Selbstkalibrierung" aus dem "Utility Menu" ausführen
Das wars dann, das DSO ist jetzt ein MSO.
über UART/USB ist zwar nicht die einfachste, denoch von jedem durchführbare Methode. Dafür wird ein LVTTL UART auf USB Konverter, wie einer der vielen CP21xx basierenden und günstigen TTL UART USB converter auf ebay. Zusätzlich wird eine PC Terminal Anwendung mit Xmodem Unterstüzung (z.b. Hyperterm) und ein Windows PC, um die DNW.exe auszuführen, benötigt.
Für die, die kein Windows benutzen, ehm, ich muss ehrlich sagen hat mich das wenig gekümmert. Möglicherweise gibts auch ein dnw.exe Ersatz für Linux/OSX, falls nicht verbleibt die über JTAG Methode (oder ein Temp Windows PC).
Das UART port hat folgende Belegung:
Nur TXD, RXD und GND werden benötigt. Die anderen Anschlüsse am besten nicht benutzen. Die +3.3V kann zwar für eigene PCBs (z.b. ein BT-UART adapter), für den Umbau hier ist es aber irrelevant. Die passende Stiftleiste muss 2.00mm Rastermaß haben, die sllte am besten auch gelötet werden. Hat man keine parat, geht auch wenn man 3 einzelne Stifte einer 2.54mm Stiftleiste nimmt. Die Isolierung muss dann etwas abgeschnitten werden.
Als allerserstes sollte die Verbindung über das UART<-> Konverter geprüft werden. Die notwendigen einstellungen sind 115200, 8n1. Am besten prüfen ob irgendwas beim Bootvorgang zu sehen ist. Falls ja, ein bitte nochmal prüfen ob die shell des DSOs erreichbar ist nach STRG+C / ENTER drücken. Falls dies alles funktioniert kann man mit folgenden Schritten fortfahren:
- es ist empfehlenswert mindesten die firmware version 2.06.3_121027.0 auf dem DSO installiert zu haben. - die Datei Master Image herunterladen (aus der Download-Bereich weiter unten) und entpacken. - die Datei dst1kb_backup.up auf ein leeres USB Stick kopieren - den USB Stick in die USB Buchse des DSOs (auf der Vorderseite) reinstecken und "Firmware Update" aus der "Utility Menu" ausführen. Achtung: es kann bis zur 5min dauern bis alle Backups erstellt worden sind - wenn fertig, den USB Stick rausziehen und auf dem PC den Inhalt des Verzeichnisses 'dump' prüfen (dies wird angelegt während des Backups). Folgende Dateien sollten vorhanden sein: chk_base_volt mult_adc.log tdc.log i2c.log tdc_edge125M tdc_overtime125M tdc_pulse125M chk1kb_091023 boot.bin kernel.bin root.bin Sollte eine oder mehrere Dateien nicht vorhanden sein bitte nicht Fortfahen!
- während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die Bootloader prompt sichtbar sein, etwa wie hier:
Leider gibts keine USB Unterstützt in dem Tekway/Hantek Bootloader, daher muss ein neues (supervivi.bin) einprogrammiert werden. ACHTUNG: bitte nur die supervivi.bin aus der Master Image Datei benutzen, andere Versionen die im Imternet zu finden sind können die MTD NAND Partitionen zerstören.
- um den neuen Bootloader einprogrammieren muss man muss man folgendes auf der DSO Bootloader Shell tippen: load flash vivi x und dann die Enter Taste drücken.
- jetzt in der PC Terminal Anwendung das Xmodem Transfer auswählen und die supervivi.bin rüber zum DSO senden. Im Hyperterm ist das die Menu "Transfer->Send file", dann supervivi.bin wählen und als Protokol Xmodem. Folgendes sollte jetzt zu sehen sein:
- wenn fertig das DSO neustarten. Während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die Supervivi Bootloader Prompt sichtbar sein, etwa wie hier:
- falls ja, dann menu tippen und Enter drücken. Dann sollte folgendes zu sehen sein:
- jetzt das DSO mit einem USB Kabel an PC anschliessen. Es sollte eine "Treiber instalation" aufforderung kommen. Der passender Treiber ist in der Download-Bereich weiter unten. Nach dem der Treiber instaliert ist, bitte die dnw.exe starten. In dem Menu oben sollte eine USB:OK Nachricht sichtbar sein. Falls nicht, den USB Kabeln abziehen und nochmal anschliessen. Eventuell auch PC / DSO Neustart ausführen.
Sollte die USB:OK nicht sichtbar sein, ist die Fortführung unmöglich
- in dem Supervivi Menu den Punkt "r" wählen, es steht für "Restore". Unmittelbar danach in der dnw.exe das Menupunkt "Usb Port->Transmit/Restore" anklicken und die Datei mso_ready.bin auswählen. Achtung: wenn dies zu langsam geschieht, wird entweder der Supervivi Bootloader oder die dnw.exe mit einem Zeitüberschreitungfehler sich verabschieden. Dann einfach das ganze wiederholen. Sollte alles rechtzeitig geschehen, wird folgendes zu sehen sein:
Nach dem Programmiervorgang wird wieder die Supervivi Menü erscheinen. Hier macht es Sinn zu hochscrollen und den Status prüfen. Sollten irgendwelche Fehler zu sehen sein, sollte man den letzten Schritt wiederholen. Bei mir gab es NAND bad block Fehler, die können allerdings meistens ignoriert werden da der Supervivi Bootloader die kaputten Bereiche überspringt.
- wenn fertig, die USB/UART Kabeln abziehen und das DSO neustarten. Während des ersten Bootvorgangs sollte folgendes Bild erscheinen:
- die Datei dst1kb_backup.up vom USB Stick löschen - die Datei dst1kb_restore.up auf den USB Stick kopieren - den USB Stick in die USB Buchse des DSOs (auf der Vorderseite) reinstecken und "Firmware Update" aus der "Utility Menu" ausführen. - wenn fertig, den USB Stick entfernen und ca. 15min abwarten bis das DSO auf die Betriebstemperatur kommt. - die "Selbstkalibrierung" aus dem "Utility Menu" ausführen
Das wars dann, das DSO ist jetzt ein MSO.
Eigene anpassungen
Die Master Image ist so präpariert worden das die DM9000EP Treiber (Ethernet) automatisch gestartet werden. Sollte dies nicht erwünscht sein bitte in dem Abschnitt #net der Datei /etc/init.d/rcS folgendes auskommentieren
insmod /dso/driver/dm9000.ko ifconfig lo 127.0.0.1 net_set & /etc/rc.d/init.d/netd start
Die Master Image ist so präpariert worden um die 192.168.100.155 als IP Adresse zu benutzen. Dies kann in der Datei /etc/net.conf geändert werden, z.b.:
IPADDR=10.1.1.10 NETMASK=255.255.255.0 GATEWAY=10.1.1.1 MAC=10:23:45:67:89:ab
Die Master Image ist so präpariert worden um telnet und ftp Dientste automatisch auszuführen. Die Benutzername lautet root, kein Passwort notwendig. Das ist auch einer der gründe warum ftp nicht voll funktionsfähig ist. Falls erwünscht kann der ftp Dienst abgeschaltet werden. Dafür muss in dem Abschnitt #net der Datei /etc/init.d/rcS folgendes auskommentiert werden:
/etc/rc.d/init.d/netd start
Um Dateien aus das DSO zu kopieren ist das Tool von Peter Dreisiebner [10] sehr hilfreich.
Sicherung der MSO firmware
Um den frisch erstellten MSO einmal komplett zu sichern bitte die
- die MSO Backup tools (aus der Download-Bereich weiter unten) herunterladen und entpacken. - die Datei dst1kb_mso_backup_tool.up auf ein leeres USB Stick kopieren - den USB Stick in die USB Buchse des DSOs (auf der Vorderseite) reinstecken und "Firmware Update" aus der "Utility Menu" ausführen. Achtung: es kann bis zur 5min dauern bis alle Backups erstellt worden sind - wenn fertig, den USB Stick rausziehen und auf dem PC den Inhalt des Verzeichnisses 'dump' prüfen (dies wird angelegt während des Backups). Folgende Dateien sollten vorhanden sein: boot.bin kernel.bin root.bin und eventuell root2.bin
Sollte in dem 'dump' Verzeichniss die Datei root2.bin nicht vorhanden sind, befindet sich eine in den MSO Backup tools (aus der Download-Bereich weiter unten).
Wiederherstellung der MSO firmware
Um den MSO einmal komplett wiederherzustellen muss erst eine Komplettabbildung aus den Sicherungsdateien erstellt werden. Dazu bitte folgens ausführen:
- die MSO Backup tools (aus der Download-Bereich weiter unten) herunterladen und entpacken. - die Dateien empty1.bin, empty2.bin und falls keine eigene vorhanden root2.bin in ein Verzeichniss mit den eigenen MSO Sicherungsdateien (boot.bin, kernel.bin, root.bin und falls vorhanden root2.bin) rüber kopieren. - auf dem PC die Eingabeaufforderung (aus dem Verzeichniss) öffnen und folgendes ausführen:
copy /B boot.bin + empty1.bin + root2.bin + kernel.bin + root.bin + empty2.bin fw_backup.bin
Die dadurch erstellte Komplettabbildung Datei fw_backup.bin kann dann
* über JTAG * über USB/UART
auf das MSO einprogrammiert werden.
über JTAG ist die einfachste Methode, allerdings braucht man dafür ein USB-basierendes JTAG Adpater. Der muss auch den Samsung SoC S3C2440 und NAND Programmierung unterstützen. Wer so ein JTAG Adapter hat (z.b. H-JTAG USB)braucht nur folgende Schritte auszuführen:
- JTAG Adapter an MSOs ARM JTAG Stiftleiste (J901) anschliessen - die jeweilige JTAG Anwendung (H-JTAG JFLASH, OpenOCD) benutzen um die Datei fw_backup.bin in das NAND Speicher einprogrammieren. Dabei ist zu beachten das die Datei fw_backup.bin auch die NAND OOB blocks beinhaltet - wenn fertig MSO abschalten, JTAG Adpater abziehen und MSO neu starten.
Damit ist die MSO Firmware wiederhergestellt.
über UART/USB ist zwar nicht die einfachste, denoch von jedem durchführbare Methode. Dafür wird ein LVTTL UART auf USB Konverter, wie einer der vielen CP21xx basierenden und günstigen TTL UART USB converter auf ebay. Zusätzlich wird ein Windows PC benötigt um die DNW.exe auszuführen.
Das UART port hat folgende Belegung:
Nur TXD, RXD und GND werden benötigt. Die anderen Anschlüsse am besten nicht benutzen. Die passende Stiftleiste muss 2.00mm Rastermaß haben, die sollte am besten auch gelötet werden. Hat man keine parat, geht auch wenn man 3 einzelne Stifte einer 2.54mm Stiftleiste nimmt. Die Isolierung muss dann etwas abgeschnitten werden.
Als allerserstes sollte die Verbindung über das UART<-> Konverter geprüft werden. Die notwendigen einstellungen sind 115200, 8n1. Am besten prüfen ob irgendwas beim Bootvorgang zu sehen ist. Falls ja, ein bitte nochmal prüfen ob die shell des MSOs erreichbar ist nach STRG+C / ENTER drücken. Falls dies alles funktioniert kann man mit folgenden Schritten fortfahren:
- während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die u-boot Bootloader prompt sichtbar sein, etwa wie hier:
- jetzt das MSO mit einem USB Kabel an PC anschliessen. Eventuell (falls nicht bereits installiert) wird jetzt eine "Treiber instalation" aufforderung kommen. Der passender Treiber ist in der Download-Bereich weiter unten. Nach dem der Treiber instaliert ist, bitte die dnw.exe starten. In dem Menu oben sollte eine USB:OK Nachricht sichtbar sein. Falls nicht, den USB Kabeln abziehen und nochmal anschliessen. Eventuell auch PC / MSO Neustart ausführen.
Sollte die USB:OK nicht sichtbar sein, ist die Fortführung unmöglich
- in der u-boot Bootloader Eigabeaufforderung menu 1 wählen
- in der dnw.exe die supervivi.bin wählen
und abwarten bis die supervivi.bin einprogrammiert war. Ich empfehle hier das Bild hochzuscrollen und prüfen ob tatsächlich etwas übertragen war. Hier auf dem Bild sieht man es "RECEIVED FILE SIZE" ist grosser 0
Sollte die Übertragung nicht erflogreich sein, wird u-boot trotzdem den Bootloader Bereich und sich selbst damit auch in dem NAND löschen. Sollte dies der Fall sein, wird das MSO nicht mehr bootfähig sein! Falls also fehler beim Übertragung aufgetreten sind, einfach nochmal übertragen. Eventuell auch PC neustarten - NICHT das MSO - und USB Kabel nochmal anschliessen.
- wenn fertig das MSO neustarten. Während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die Supervivi Bootloader Prompt sichtbar sein, etwa wie hier:
- falls ja, dann menu tippen und Enter drücken. Dann sollte folgendes zu sehen sein:
- in dem Supervivi Menu den Punkt "r" wählen, es steht für "Restore". Unmittelbar danach in der dnw.exe das Menupunkt "Usb Port->Transmit/Restore" anklicken und die Datei fw_backup.bin auswählen. Achtung: wenn dies zu langsam geschieht, wird entweder der Supervivi Bootloader oder die dnw.exe mit einem Zeitüberschreitungfehler sich verabschieden. Dann einfach das ganze wiederholen. Sollte alles rechtzeitig geschehen, wird folgendes zu sehen sein:
Nach dem Programmiervorgang wird wieder die Supervivi Menü erscheinen. Hier macht es Sinn zu hochscrollen und den Status prüfen. Sollten irgendwelche Fehler zu sehen sein, sollte man den letzten Schritt wiederholen. Bei mir gab es NAND bad block Fehler, die können allerdings meistens ignoriert werden da der Supervivi Bootloader die kaputten Bereiche überspringt.
- wenn fertig, die USB/UART Kabeln abziehen und das MSO neustarten.
Damit ist die MSO Firmware wiederhergestellt.
Wiederherstellung der DSO firmware
Sollte, aus welchen gründen auch immer, eine Notwendigkeit bestehen die originale DSO Firmware auf MSO wiederzustellen, kann dafür folgende Anleitung genutzt werden.
Um den DSO einmal komplett wiederherzustellen muss erst eine Komplettabbildung aus den Sicherungsdateien erstellt werden. Dazu bitte folgens ausführen:
- die DSO Backup tools (aus der Download-Bereich weiter unten) herunterladen und entpacken. - die Dateien blank.bin und mizi_tag.bin in ein Verzeichniss mit den eigenen DSO Sicherungsdateien (boot.bin, kernel.bin und root.bin) rüber kopieren. - auf dem PC die Eingabeaufforderung (aus dem Verzeichniss) öffnen und folgendes ausführen:
copy /B boot.bin + blank.bin + kernel.bin + root.bin + mizi_tag.bin fw_backup.bin
Die dadurch erstellte DSO Komplettabbildung Datei fw_backup.bin kann dann
* über JTAG * über USB/UART
auf das MSO einprogrammiert werden um den DSO wiederherzustellen.
über JTAG ist die einfachste Methode, allerdings braucht man dafür ein USB-basierendes JTAG Adpater. Der muss auch den Samsung SoC S3C2440 und NAND Programmierung unterstützen. Wer so ein JTAG Adapter hat (z.b. H-JTAG USB)braucht nur folgende Schritte auszuführen:
- JTAG Adapter an MSOs ARM JTAG Stiftleiste (J901) anschliessen - die jeweilige JTAG Anwendung (H-JTAG JFLASH, OpenOCD) benutzen um die Datei fw_backup.bin in das NAND Speicher einprogrammieren. Dabei ist zu beachten das die Datei fw_backup.bin auch die NAND OOB blocks beinhaltet - wenn fertig MSO abschalten, JTAG Adpater abziehen und MSO neu starten.
Damit ist die originale DSO Firmware wiederhergestellt und das Gerät wieder ein DSO statt MSO ist.
über UART/USB ist zwar nicht die einfachste, denoch von jedem durchführbare Methode. Dafür wird ein LVTTL UART auf USB Konverter, wie einer der vielen CP21xx basierenden und günstigen TTL UART USB converter auf ebay. Zusätzlich wird ein Windows PC benötigt um die DNW.exe auszuführen.
Das UART port hat folgende Belegung:
Nur TXD, RXD und GND werden benötigt. Die anderen Anschlüsse am besten nicht benutzen. Die passende Stiftleiste muss 2.00mm Rastermaß haben, die sollte am besten auch gelötet werden. Hat man keine parat, geht auch wenn man 3 einzelne Stifte einer 2.54mm Stiftleiste nimmt. Die Isolierung muss dann etwas abgeschnitten werden.
Als allerserstes sollte die Verbindung über das UART<-> Konverter geprüft werden. Die notwendigen einstellungen sind 115200, 8n1. Am besten prüfen ob irgendwas beim Bootvorgang zu sehen ist. Falls ja, ein bitte nochmal prüfen ob die shell des MSOs erreichbar ist nach STRG+C / ENTER drücken. Falls dies alles funktioniert kann man mit folgenden Schritten fortfahren:
- während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die u-boot Bootloader prompt sichtbar sein, etwa wie hier:
- jetzt das MSO mit einem USB Kabel an PC anschliessen. Eventuell (falls nicht bereits installiert) wird jetzt eine "Treiber instalation" aufforderung kommen. Der passender Treiber ist in der Download-Bereich weiter unten. Nach dem der Treiber instaliert ist, bitte die dnw.exe starten. In dem Menu oben sollte eine USB:OK Nachricht sichtbar sein. Falls nicht, den USB Kabeln abziehen und nochmal anschliessen. Eventuell auch PC / MSO Neustart ausführen.
Sollte die USB:OK nicht sichtbar sein, ist die Fortführung unmöglich
- in der u-boot Bootloader Eigabeaufforderung menu 1 wählen
- in der dnw.exe die supervivi.bin wählen
und abwarten bis die supervivi.bin einprogrammiert war. Ich empfehle hier das Bild hochzuscrollen und prüfen ob tatsächlich etwas übertragen war. Hier auf dem Bild sieht man es "RECEIVED FILE SIZE" ist grosser 0
Sollte die Übertragung nicht erflogreich sein, wird u-boot trotzdem den Bootloader Bereich und sich selbst damit auch in dem NAND löschen. Sollte dies der Fall sein, wird das MSO nicht mehr bootfähig sein! Falls also fehler beim Übertragung aufgetreten sind, einfach nochmal übertragen. Eventuell auch PC neustarten - NICHT das MSO - und USB Kabel nochmal anschliessen.
- wenn fertig das MSO neustarten. Während des Bootvorgang (direkt nach dem Einschalten) mehrmals die Leertaste drücken. Der Bootvorgang sollte dann unterbrochen werden und die Supervivi Bootloader Prompt sichtbar sein, etwa wie hier:
- falls ja, dann menu tippen und Enter drücken. Dann sollte folgendes zu sehen sein:
- in dem Supervivi Menu den Punkt "r" wählen, es steht für "Restore". Unmittelbar danach in der dnw.exe das Menupunkt "Usb Port->Transmit/Restore" anklicken und die Datei fw_backup.bin auswählen. Achtung: wenn dies zu langsam geschieht, wird entweder der Supervivi Bootloader oder die dnw.exe mit einem Zeitüberschreitungfehler sich verabschieden. Dann einfach das ganze wiederholen. Sollte alles rechtzeitig geschehen, wird folgendes zu sehen sein:
Nach dem Programmiervorgang wird wieder die Supervivi Menü erscheinen. Hier macht es Sinn zu hochscrollen und den Status prüfen. Sollten irgendwelche Fehler zu sehen sein, sollte man den letzten Schritt wiederholen. Bei mir gab es NAND bad block Fehler, die können allerdings meistens ignoriert werden da der Supervivi Bootloader die kaputten Bereiche überspringt.
- wenn fertig, die USB/UART Kabeln abziehen und das MSO neustarten.
Damit ist die originale DSO Firmware wiederhergestellt und das Gerät wieder ein DSO statt MSO ist.
Reparatur / DIY Version
Ich habe die Zeit genutzt und ein Schaltplan der MSO LA Platine erstellt. Dieser kann nicht nur für etwaige Reparatur oder eine DIY Version benutzt werden. Es kann auch als eine Bauanleitung für die DSO 2.0 Platform Netzwerkkarte benutzt werden da dieser Bereich völlig unabhängig von der MSO-Funktion ist.
Problembehandlung
Hier ein paar F&A:
Beim booten von MSO kann ich folgenden Fehler sehen, was kann ich dagegen machen:
*** Warning - bad CRC or NAND, using default environment ##### EmbedSky BIOS for SKY2440/TQ2440 ##### Press Space key to Download Mode ! Booting Linux ...
Das ist kein Fehler sondern lediglich eine Warnung das die Konfiguration des Bootloaders nicht gefunden worden war und daher die standard Konfiguration genommen wird. Da dies für den DSO/MSO völlig irrelevant sei, kann diese Meldung ignoriert werden.
Habe ... gemacht, jetzt kommt nix beim booten, das Bild bleibt schwarz
Dies kann sehr schnell passieren, wenn der Bootloader kaputt, gelöscht und/oder NAND Inhalt weg sind wird natürlich nix funktionieren. Glücklicherweise reicht es den 'supervivi.bin' Bootloader wieder in den NAND Speicher (ab Adresse 0x0) einzuprogrammieren. Dann, je nach dem ob MSO oder DSO wiederhergestellt werden soll, mit jeweiligen Schritten aus diesen Artikel jeweils ab "supervivi" fortfahren.
Gut, aber welches JTAG Adapter ist geeignet
Ein ARM JTAG Adapter wird dafür benötigt, auch eine entprechende Applikation die in der lage ist den Samsung S3C2440 zu steuern um K9F1208 NAND Speicher zu beschreiben sollte man haben. Mögliche JTAG Adapter und passende Applikationen sind:
H-JTAG USB oder H-JTAG LPT Wiggler mit H-JTAG Flasher ARM LPT Wiggler mit SJF2440 oder XJSF244x Applikation OpenJTAG von [11] mit Oflash Applikation [12] OpenOCD kompatibles ARM JTAG Adapter und OpenOCD [13]
Siehe auch in der Download-Bereich weiter unten
Downloads
- Windows Treiber für die DNW.exe / Supervivi bootloader
- Master Image mit allen Backup/Restore tools. ACHTUNG: 7-zip oder Total Commander notwendig um zu entpacken
- Schaltplan der MSO LA Platine
- MSO Backup tools
- DSO Backup tools
- Notwendige mechanische Anpassungen
- H-JTAG LPT Schaltplan
- LPT Wiggler Schaltplan und XSFJ24x0 Applikation
- 100ask USB OpenJTAG Schaltplan und OJtag Applikation
- Bin2Yaffs tool
- Schaltplan Tekway Hantek DSO und MSO, hw1007
Links
- Tekway/Hantek Kommunikations Protokol
- Tekway - Hantek DSO Artikel
- [14] Hantek / Voltcraft hauptthread
- [15] Tekway hauptthread
- [16] MSO-Erweiterung Thread
- [17] Tekway / Hantek hauptthread im EEVBLOG Forum