Boot-Log eines Fernsehers über UART lesen
Das Boot-Log ist das Erste, was ein Fernseher beim Einschalten von sich gibt. Auch ohne Befehle verrät es Ihnen die Chip-Familie, den Bootloader, ob der Speicher lesbar ist und wo der Boot stehen bleibt.
Teil des UART-Leitfadens.
Vor der Aufzeichnung
- Verbinden Sie GND, TX des Adapters mit RX der Platine und RX des Adapters mit TX der Platine, wie in Anschluss an den UART eines Fernsehers. Schließen Sie VCC des Adapters nicht an.
- Verwenden Sie 3,3-V-Logik. Manche Platinen nutzen 1,8 V UNGEPRÜFT Prüfen Sie den Signalpegel mit einem Multimeter oder im SoC-Datenblatt, bevor Sie anschließen.
- Beginnen Sie mit 115200 8N1; das ist am verbreitetsten. Auch 57600, 38400 und 921600 kommen vor.
- Schalten Sie die Protokollierung in eine Datei ein, bevor Sie den Fernseher einschalten.
Was Sie sehen und was es bedeutet
| Terminal zeigt | Bedeutung |
|---|---|
| Lesbaren Text | Richtige Geschwindigkeit und Verdrahtung |
| Zufällige Zeichen | Falsche Baudrate |
| Nichts | TX/RX vertauscht, keine gemeinsame Masse, falscher Pegel oder falsches Pad |
Phasen eines typischen Logs
- Loader der ersten Stufe / ROM-Meldungen. Kurze Zeilen zur Speicherinitialisierung. Endet das Log hier, vermuten Sie RAM oder die Versorgung.
- Bootloader-Banner. U-Boot, LK oder MBoot auf MStar-basierten Platinen, mit Version und Datum sowie dem Platinennamen.
- Speichererkennung. Zeilen zu eMMC oder SPI-Flash: Größe, Busbreite, Fehler. Wiederholte Lesefehler oder „no device“ deuten auf den Speicher oder seine Kontakte.
- Autoboot-Prompt. Text wie „Hit any key to stop autoboot“ oder „Press Enter“ mit einem kurzen Zeitfenster von ein bis drei Sekunden.
- Kernel-Start. Die Kernel-Kommandozeile und die Partitionsliste, dann init und die Android- oder Linux-Dienste.
- Panic oder Reboot-Schleife. Ein Kernel-Panic, ein Watchdog-Reset oder dieselben sich wiederholenden Zeilen sind das Symptom, wegen dem Sie hier sind.
Was Sie notieren sollten
- Die letzte Zeile, bevor das Log stoppt oder neu startet.
- Jedes Wort wie error, fail, timeout, CRC oder bad.
- Speichergröße und Partitionsnamen, zum Vergleich mit einem Dump (siehe Dumps vergleichen).
- Den Prompt-Text des Bootloaders, der verrät, wie Sie seine Konsole erreichen.
Das Unterbrechen des Autoboots gibt Ihnen eine Konsole mit mächtigen Befehlen. Bleiben Sie bei schreibgeschützten Befehlen, bis Sie die Platine kennen. Das Schreiben auf den Speicher von der Konsole aus ohne geprüften Dump kann die einzige Kopie der Daten zerstören. Geschlossene Platinen mit Secure Boot erlauben das Unterbrechen womöglich gar nicht.
Typische Fehler
- Nach einem Log urteilen, das mit der falschen Geschwindigkeit aufgezeichnet wurde.
- Die Aufzeichnung erst nach dem Einschalten starten, sodass die erste Phase fehlt.
- Nur den Bildschirm lesen und das Log nicht speichern.
- Wahllos Tasten senden. Nutzen Sie die Methode der jeweiligen Bootloader-Familie.
So geht das in FW Tool
- Die Registerkarte UART bietet Port- und Geschwindigkeitswahl sowie Bootloader-Profile, darunter Voreinstellungen für Realtek, MediaTek und MStar mit kurzen Spickzetteln.
- Jede Sitzung wird in eine Log-Datei mit Zeitstempel geschrieben; das Log lässt sich aus dem Programm speichern.
- „Boot unterbrechen“ sendet in den ersten Sekunden wiederholt Tasten (Leertaste, Enter, Strg+C, Esc oder „stop“); Sie klicken darauf und schalten sofort ein. Ein automatischer Modus probiert nacheinander alle Tasten.
- „Recon“ führt schreibgeschützte Befehle aus (version, bdinfo, printenv, help, mmc list, mmc part, usb start, dazu Linux- oder Android-Abfragen) und speichert einen Bericht, aus dem Sie ein Profil für die Platine erstellen können.
- „eMMC-Verschleiß prüfen“ liest die Lebensdauer-Register des eMMC und zeigt eine Schätzung des Verschleißes und der Reserveblöcke. Siehe Funktionen.
FAQ
Das Log ist nur in der ersten Zeile Zeichensalat. Warum?
Die erste Stufe nutzt womöglich eine andere Geschwindigkeit als die späteren, oder die Zeile wird vom Adapter verkürzt. Ist der Rest lesbar, ignorieren Sie es.
Der Boot lässt sich nicht unterbrechen.
Das Zeitfenster ist womöglich zu kurz, die Taste für diesen Loader falsch oder der Loader gesperrt. Lesen Sie das Banner und probieren Sie die andere Methode.
Sagt mir das Log, welche Firmware ich flashen soll?
Es liefert den Platinennamen und Versionen. Vergleichen Sie diese mit den Strings im Paket (Paketaufbau).
Logs vergleichen
Ein Log von einem funktionierenden Fernseher desselben Modells ist die beste Referenz. Legen Sie die beiden Logs nebeneinander: Die Stelle, an der sie auseinanderlaufen, ist der erste Ort für die Untersuchung. Achten Sie auf die Reihenfolge der Meldungen statt auf genaue Zahlen, denn Zeitstempel und Speicheradressen unterscheiden sich von Boot zu Boot.
Speichern Sie jedes Log mit Datum und Symptom im Dateinamen. Nach einigen Reparaturen erkennen Sie die typischen Enden eines fehlgeschlagenen Boots: einen Speicher, der nicht gefunden wird, einen Kernel, der nicht startet, oder eine Reset-Schleife. Diese Gewohnheit liefert auch Material für das Reparaturjournal, was hilft, wenn der Kunde mit derselben Beschwerde zurückkommt.
Lassen Sie sich schließlich von einem stummen Port nicht entmutigen. Viele Platinen führen mehrere UART-Pads heraus, und nur eines davon ist die Konsole des Haupt-SoC; andere gehören zum Standby-Mikrocontroller oder zum WLAN-Modul. Probieren Sie jedes infrage kommende Pad mit den gängigen Geschwindigkeiten durch, bevor Sie folgern, dass die Platine keine Konsole bietet, und halten Sie das Ergebnis für das nächste Mal in Ihren Notizen fest.