← Todos los artículos

Comparar dos volcados eMMC/SPI: hashes y diferencias

Un volcado solo sirve si es una copia fiel. Dos lecturas del mismo chip deben coincidir bit a bit; si no coinciden, algo falla en los contactos, la alimentación o el lector. Los hashes y una comparación byte a byte te dicen qué.

Forma parte de la Guía de firmware y volcados.

Cuándo necesitas comparar

  • Justo después de leer un chip: copia 1 contra copia 2.
  • Antes y después de una reparación: ¿qué cambió el TV en su propia memoria?
  • Un equipo que funciona contra uno averiado con la misma placa.
  • Después de escribir: lee de nuevo y compara con el archivo que escribiste.

Paso a paso

  1. Lee el chip dos veces sin tocar nada entre lecturas. Para el flujo de trabajo inicial consulta leer un volcado eMMC y el pinout SOIC8 de la flash SPI.
  2. Comprueba el tamaño de los archivos. Deben ser idénticos. Un tamaño distinto significa que una lectura se cortó o que se leyó la región equivocada.
  3. Calcula un hash de cada archivo. CRC32 es rápido y suficiente para detectar errores accidentales; MD5, SHA-1 y SHA-256 son mejores para registrar una referencia. Hashes iguales significan archivos idénticos.
  4. Si los hashes difieren, ejecuta una comparación byte a byte para obtener la lista de rangos que difieren (desplazamiento y longitud).
  5. Interpreta el patrón, corrige la causa y vuelve a leer.

Leer las diferencias

Patrón Significado probable
Unos pocos bytes sueltos o bloques pequeños, distintos en cada lectura Contacto inestable o alimentación al límite; vuelve a colocar los cables y acórtalos
Una región grande de 0x00 o 0xFF en una de las copias La lectura falló o se detuvo; revisa el lector y la alimentación
Siempre difieren las mismas pocas zonas entre dos TV Datos propios de cada equipo (números de serie, MAC, calibración) o registros; es lo esperado
Diferencias solo al final Los tamaños difieren; la parte común coincide y la cola se informa por separado

Si un TV está funcionando mientras lees una eMMC en circuito, su propio firmware puede escribir en el chip durante la lectura, así que dos lecturas válidas pueden diferir. Lee con el sistema principal detenido y no supongas nunca que una diferencia en una zona de registros significa una mala lectura.

Errores típicos

  • Comparar un volcado con un paquete de firmware y esperar que coincidan. Son cosas distintas.
  • Fiarse de una sola lectura. Una única lectura puede ocultar un mal contacto que solo aparece en la segunda.
  • Comparar después de “arreglar” un volcado a mano. Calcula primero el hash del original y consérvalo.
  • Ignorar la comprobación de tamaño.

Cómo se hace en FW Tool

  • “Referencia → Herramientas hex” calcula CRC32, MD5, SHA-1 y SHA-256 en una sola pasada sobre un archivo, con progreso y cancelación para volcados grandes.
  • La función de comparación trabaja byte a byte, en streaming, y devuelve el número de bytes que difieren y una lista de rangos (desplazamiento, longitud); la lista tiene un límite y el programa te avisa cuando se ha truncado. Si los tamaños difieren, se compara la parte común y la cola se cuenta por separado.
  • La misma pestaña puede buscar un patrón hexadecimal o una cadena de texto (ASCII y UTF-16) y mostrar una vista hexadecimal clásica con desplazamientos y ASCII.
  • En la pestaña “Volcado eMMC”, la escritura en un volcado está desactivada por defecto y se activa con una casilla; haz una copia y verifica su hash antes de activarla. Consulta todas las funciones.

Cuando tu copia esté verificada, puedes examinarla como se explica en cómo está construido un paquete de firmware USB.

Preguntas frecuentes

¿Basta con CRC32?

Para detectar una mala lectura, sí. Para un registro de referencia a largo plazo, guarda también un hash más robusto.

Dos lecturas buenas difieren en algunos puntos. ¿Está mal el volcado?

No necesariamente. Fíjate en dónde: los registros, los contadores y las marcas de tiempo cambian por sí solos. Repite la lectura y comprueba si difieren los mismos rangos.

¿Puedo comparar una carpeta eMMC con imágenes de particiones?

Calcula el hash y compara archivo por archivo. Las particiones que coinciden se pueden ir descartando una a una.

Llevar un registro

Para cada equipo anota el marcado del chip, el tamaño del volcado, el hash y la fecha. Guarda el volcado original en solo lectura y trabaja únicamente sobre copias. Cuando más adelante recibas el mismo modelo, un hash te permite comprobar al instante si un volcado que te han enviado es idéntico al tuyo, sin abrirlo. Si reparas muchos TV de un mismo modelo, una colección de volcados verificados se convierte en una biblioteca de referencia para averías en las que se sospecha del contenido de la memoria y no del hardware.

Un segundo uso de la comparación es después de un intento de reparación. Lee el chip, cambia una cosa, léelo otra vez y compara: la lista de rangos muestra exactamente qué zonas reescribió el TV. Es una forma sencilla de saber qué particiones guardan ajustes y cuáles el sistema, y de decidir qué puedes restaurar con seguridad desde una copia de respaldo.

Por último, recuerda que un hash coincidente solo prueba que dos archivos son iguales, no que el contenido sea bueno. Dos lecturas idénticas de un chip con una celda defectuosa, o de un chip leído a través de un contacto constantemente defectuoso, coincidirán y aun así serán incorrectas. Cuando sea posible, confirma el volcado comprobando que la tabla de particiones se puede leer y que los sistemas de archivos se abren, como se describe en el artículo del volcado eMMC.

Descargar la demo


Probar FW Tool (demo)