Leer el registro de arranque de un TV por UART
El registro de arranque es lo primero que dice un TV al encenderse. Incluso sin ejecutar ningún comando, te indica la familia del chip, el bootloader, si la memoria se puede leer y dónde se detiene el arranque.
Forma parte de la Guía de UART.
Antes de capturar
- Conecta GND, TX del adaptador a RX de la placa y RX del adaptador a TX de la placa, como en conectarse a la UART de un TV. No conectes el VCC del adaptador.
- Usa lógica de 3,3 V. Algunas placas usan 1,8 V UNVERIFIED comprueba el nivel de señal con un multímetro o con la hoja de datos del SoC antes de conectar.
- Empieza con 115200 8N1; es lo más habitual. También se dan 57600, 38400 y 921600.
- Activa el registro en un archivo antes de encender el TV.
Qué ves y qué significa
| El terminal muestra | Significado |
|---|---|
| Texto legible | Velocidad y cableado correctos |
| Símbolos aleatorios | Velocidad en baudios incorrecta |
| Nada | TX/RX intercambiados, sin masa común, nivel incorrecto o pad equivocado |
Etapas de un registro típico
- Cargador de primera etapa / mensajes de la ROM. Líneas cortas sobre la inicialización de la memoria. Si el registro termina aquí, sospecha de la RAM o de la alimentación.
- Banner del bootloader. U-Boot, LK o MBoot en las placas basadas en MStar, con una versión y una fecha, y el nombre de la placa.
- Detección del almacenamiento. Líneas sobre la eMMC o la flash SPI: tamaño, ancho de bus, errores. Errores de lectura repetidos o “no device” apuntan al almacenamiento o a sus contactos.
- Prompt de autoarranque. Un texto como “Hit any key to stop autoboot” o “Press Enter” con una ventana corta de uno a tres segundos.
- Inicio del kernel. La línea de comandos del kernel y la lista de particiones, y después init y los servicios de Android o Linux.
- Panic o bucle de reinicios. Un kernel panic, un reinicio por watchdog o las mismas líneas repitiéndose son el síntoma que buscabas.
Qué anotar
- La última línea antes de que el registro se detenga o se reinicie.
- Cualquier palabra como error, fail, timeout, CRC o bad.
- El tamaño del almacenamiento y los nombres de las particiones, para compararlos con un volcado (consulta comparar volcados).
- El texto del prompt del bootloader, que te dice cómo entrar en su consola.
Interrumpir el autoarranque te da una consola con comandos potentes. Quédate con los comandos de solo lectura hasta que conozcas la placa. Escribir en el almacenamiento desde la consola sin un volcado verificado puede destruir la única copia de los datos. Las placas cerradas con arranque seguro pueden no permitir la interrupción en absoluto.
Errores típicos
- Juzgar por un registro capturado a una velocidad incorrecta.
- Empezar la captura después de encender, de modo que falta la primera etapa.
- Leer solo la pantalla y no guardar el registro.
- Enviar teclas al azar. Usa el método propio de la familia del bootloader.
Cómo se hace en FW Tool
- La pestaña UART tiene selección de puerto y de velocidad y perfiles de bootloader, incluidos preajustes de Realtek, MediaTek y MStar con breves hojas de referencia.
- Cada sesión se escribe en un archivo de registro con marca de tiempo; el registro se puede guardar desde el programa.
- “Interrumpir arranque” envía teclas de forma repetida (espacio, Enter, Ctrl+C, Esc o “stop”) durante los primeros segundos; lo pulsas y enciendes el TV de inmediato. Un modo automático prueba todas las teclas por turnos.
- “Reconocimiento” ejecuta comandos de solo lectura (version, bdinfo, printenv, help, mmc list, mmc part, usb start, además de consultas de Linux o Android) y guarda un informe que puedes usar para crear un perfil de la placa.
- “Comprobar desgaste de eMMC” lee los registros de vida útil de la eMMC y muestra una estimación del desgaste y de los bloques de reserva. Consulta las funciones.
Preguntas frecuentes
El registro es basura solo en la primera línea. ¿Por qué?
La primera etapa puede usar una velocidad distinta de las etapas posteriores, o el adaptador acorta la línea. Si el resto es legible, ignóralo.
No se puede interrumpir el arranque.
La ventana puede ser demasiado corta, la tecla incorrecta para este cargador o el cargador estar bloqueado. Lee el banner y prueba el otro método.
¿Puede el registro decirme qué firmware flashear?
Te da el nombre de la placa y las versiones. Compáralos con las cadenas del paquete (estructura del paquete).
Comparar registros
Un registro de un TV que funciona del mismo modelo es la mejor referencia. Coloca los dos registros uno junto al otro: el punto en que divergen es el primer lugar que investigar. Fíjate en el orden de los mensajes más que en los números exactos, porque las marcas de tiempo y las direcciones de memoria cambian de un arranque a otro.
Guarda cada registro con la fecha y el síntoma en el nombre del archivo. Tras unas cuantas reparaciones reconocerás los finales típicos de un arranque fallido: un almacenamiento que no se encuentra, un kernel que no arranca o un bucle de reinicios. Este hábito también te da material para el registro de reparaciones, que ayuda cuando el cliente vuelve con la misma queja.
Por último, no te desanimes ante un puerto silencioso. Muchas placas exponen varios pads UART y solo uno de ellos es la consola del SoC principal; los otros pertenecen al microcontrolador de standby o al módulo Wi-Fi. Prueba cada pad candidato a las velocidades habituales antes de concluir que la placa no ofrece consola, y anota el resultado para la próxima vez.