Banner publicitario de PCBWay

Reparador de Dumps (TV Chinos no Smart)

Tengo una placa CV512H-U32. ¿Alguien sabría decirme qué SoC tiene esta placa y si se podría reparar el dump?
Si es similar a la placa CV512H-U42, podría ser que tenga el SoC S2T512CP532-1 de Sz-Tek (Rich Technology).
Lo he intentado con el Dump Repair, pero por lo visto no es MStar.
Gracias.
Actualmente a Dump Repair se le ha añadido soporte para otros tipos de SoC, pero la estructura del volcado para la placa CV512H-U32 es complejo.
Generalmente la zona de caché viene al final del volcado, pero en este viene más o menos por la mitad, pero solo un fragmento y luego continúan datos nuevamente.
Para obtener el inicio de la zona de caché se usan firmas que definen bloques o una cadena única que no se repite, a continuación viene el checksum, y posteriormente la caché, que estando vacía se conforma por un gran bloque con datos en 0xFF.
el SoC lleva pegado un disipador plano y no me quiero arriesgar a quitarlo por si rompo el IC, va muy bien pegado.
Tampoco he encontrado el esquema.
Se puede quitar fácilmente aplicando aire caliente sobre el disipador a una temperatura de 80 °C.
Nunca a más ni por más de 1 minuto, ya que se corre el riesgo de debilitar la adherencia del estaño.

Método de prueba para intentar reparar el volcado.
Cargar el volcado en un editor hexadecimal.
Como este volcado no tiene una firma definida para poder encontrar la caché, deberás buscar la zona manualmente.
Se encuentra más o menos por la posición 0x4253B0 o donde veas un gran bloque conformado por 0xFF.
El inicio de la caché no suele estar alineado, puede estar en cualquier parte de un sector, un sector generalmente es un bloque de 512 bytes.
Es importante determinar y mantener el checksum, que pueden ser 4 bytes y en ocasiones tiene dos, así que serían 8 bytes.
Otro tipo de volcados usan un checksum CRC-16, que serían dos bytes, pero en este caso sí se definen los bloques o módulos.
Ya encontrada la zona de caché, apunta la posición después del checksum, que es justamente donde empieza el bloque con 0xFF.
Posteriormente sitúa el cursor en la última posición del volcado y realiza una selección tomando como inicio la posición de inicio de caché y como final la última pocisión del archivo, que viene siendo su tamaño físico.
Este bloque seleccionado lo debes rellenar con 0xFF o recortar, no importa que el archivo final quede de menor tamaño y sin alinear, pero puedes alinearlo si quieres, no es relevante.

Como dato extra:
En dado caso que el volcado quede dañado por haber eliminado datos útiles, se tendría que analizar si el bloque de caché tiene datos.
Si los tiene, entonces solo se deberá seleccionar ese bloque y rellenarlo con 0xFF, dejando el resto posterior intacto.

Creo que no es necesario mencionar que siempre se debe realizar una copia del original, pero por si acaso, siempre guarda una.

Por si sirve para pruebas, adjunto un volcado funcional (desconozco para qué marca de TV sea).
 

Adjuntos

  • CV512H-U32.rar
    4.2 MB · Visitas: 10
Muchas gracias, probé con el volcado que adjuntas y hace el mismo síntoma (reinicio en logo), por lo que el problema debe estar en otra cosa de la main, posible micro ya que las tensiones parecen estar todas bien.
 
Comúnmente los problemas debido a datos corruptos, se encuentran en la zona de caché.
Como ya probaste con ese volcado y la falla persiste, sí se puede tratar de otra cosa.

Recomendaciones:
1.- Realizar un borrado de la memoria antes de regrabarla.
2.- Probar con otra memoria.
3.- Mirar el log de depuración RS-232 para ver si pasa la prueba "BIST" Built-In Self-Test.
Si alguna RAM está dañada se podrá ver en qué BIST falló, u otros datos de inicio.
Si la RAM es interna se tendrá que reemplazar el SoC o la placa.
 
Dump Repair Engineer Version

Esta aplicación fue especialmente desarrollada para ingenieros o técnicos que han estudiado la estructura de los volcados, principalmente los del tipo MStar y con referencia al bloque de caché.

En algunos volcados MStar se puede encontrar el nombre original del firmware y esta aplicación lo puede hacer.
Solo basta con cargar el volcado y presionar el botón: SearchFirmwareName.png
También puede encontrar los posibles logotipos embebidos en el volcado, presionando: ScanExistingLogos.png
Se notificará si existen y cuántos se encontraron, las imágenes se podrán ver como miniaturas...
Logos.png
Con un clic sobre la imagen se mostrará su información, y con doble clic se podrá ver la imagen en pantalla completa.
Si se quiere guardar, se debe presionar el botón 'Save Selected Logo XX'.

La búsqueda por patrones se recomienda cuando ya se conoce el volcado, pero se puede usar aunque no se sepa.
Si no encuentra el patrón o firma, se notificará.
Cuando el patrón es encontrado, la reparación se llevará a cabo con las opciones establecidas.
Por ejemplo: si se realizó la búsqueda del nombre del firmware y si es que fue encontrado, el archivo final tendrá el nombre que se encuentre, si no se encontró el nombre del firmware, el archivo final tendrá el nombre del volcado seleccionado, pero con '_repaired.bin' al final.

Caso de ejemplo de un nombre de firmware encontrado:
FirmwareName.png
Cuando se encuentra un nombre de archivo, es recomendable seleccionar la opción: TruncateOutputFile.png
Esto hará que el archivo final sea recortado eliminando el bloque de caché.
Con esto se obtendrá un archivo listo para poder ser instalado desde una memoria USB Flash/Pendrive.
Solo basta con formatear una memoria USB Flash en FAT32, copiar el archivo CVT_MSD3393_4M.BIN obtenido, insertar la unidad en un puerto USB del televisor y proceder como con cualquier instalación de firmware en los TV no Smart.

Los patrones o firmas hexadecimales se pueden agregar y editar directamente en la lista, añadiendo los datos extra que se requieran.
Por ejemplo: la cantidad de bytes extras que se omitirán después del patrón, estos bytes suelen ser los referentes al checksum del volcado y por seguridad deberán conservarse.
También se debe agregar si se debe verificar la cabecera del volcado.
Esta verificación se puede realizar de dos formas...
1.- Por un patrón o firma hexadecimal al inicio de la cabecera del volcado: CheckByPattern.png
2.- Por un valor consecutivo de bytes en cierto rango al inicio de la cabecera: CheckByBlock.png
Esta verificación se puede omitir si el volcado no contiene cabecera o su inicio puede ser diferente en volcados del mismo tipo.

Es importante agregar una descripción sobre el tipo de patrón agregado, ya que será mostrada si se encuentra.

RepairInfo.png

No es necesario seleccionar el tipo de patrón a buscar, ya que la búsqueda se realiza automáticamente con todos los patrones de la lista.
Cuando se agreguen nuevos datos a la lista se deben guardar presionando: SavePattern.png
Para eliminar un patrón se deberá seleccionar posicionando el cursor al lado izquierdo de la lista, donde está la flecha...
PatternList.png
Presionar el botón: DeletePattern.png y se preguntará si se desean eliminar los datos de esa fila.

Algo nuevo que se agregó y que es con el fin de poder compartir información, es que la base de datos se puede exportar o importar.
La base de datos es un archivo XML, pero se exporta o importa en CSV.
Cuando se importa un archivo CSV se comprobará que no existan datos repetidos y se notificará sobre los agregados y los omitidos.
Así que si gustan colaborar, pueden compartir sus archivos CSV en este tema, dando una explicación sobre los nuevos datos.

Esta versión puede encontrar el bloque de caché aunque no se conozca su ubicación en el volcado.
Es la opción a usar cuando se desconoce el patrón o firma hexadecimal que identifica el inicio del bloque de caché.
Para que esto funcione correctamente se deben proporcionar dos datos.
1.- Establecer si la búsqueda se realizará desde el principio del archivo o desde el final.
2.- Definir el tamaño mínimo del bloque en bytes que se deberá encontrar.
Comúnmente, tamaños entre 0x2000 y 0x10000 funcionan bien, pero pueden probar con otro tamaño.
Cuando se usa esta opción, y si el bloque es encontrado, se notificará y se abrirá un editor hexadecimal interno que mostrará el contenido que existe después del offset encontrado.
HexEditor.png
Si se analiza el bloque y se da por correcto, se deberá validar en el menú 'Cache Block Confirmation/Cache Block is Correct'.
Esta acción le dirá al reparador que continúe con el proceso, si no es correcto, basta con cerrar el editor hexadecimal.
En el caso de cerrar el editor porque el bloque de caché no es el correcto, se notificará que el proceso fue cancelado.
El proceso lo podemos repetir modificando los parámetros, como buscar desde el principio o final y el tamaño mínimo de caché.

Espero que con esta breve explicación acerca del funcionamiento de la aplicación, la puedan usar sin problemas.
No es necesario realizar copias de seguridad del archivo a procesar, pues se crea otro que será el reparado.
El archivo creado se guarda en la misma ubicación del archivo procesado y se sobre escribe en cada reparación (si es que realizan varias pruebas).

Es importante mencionar que con la búsqueda por bloque de caché se puede obtener el patrón o firma, si es que esta se repite en otros volcados del mismo tipo.
Si tienen duda sobre algo, pueden realizar su consulta, pero no se analizarán archivos para obtener los datos que requiere la aplicación.
 

Adjuntos

  • DumpRepairEngineer.png
    DumpRepairEngineer.png
    48.8 KB · Visitas: 12
  • Dump Repair Engineer Version 1.10.7.25.7z
    132.9 KB · Visitas: 12
Hola y gracias por enviar el programa.
Importé el mismo archivo del receptor mini 12 al programa, pero no encuentra el nombre del archivo ni los logotipos.
¿Este programa está hecho solo para TV?
 
Importé el mismo archivo del receptor mini 12 al programa, pero no encuentra el nombre del archivo ni los logotipos.
Debes leer con atención...
En algunos volcados MStar se puede encontrar el nombre original del firmware y esta aplicación lo puede hacer.
Si no encuentra logotipos, es porque no existen o no es un volcado para TV no Smart.
¿Este programa está hecho solo para TV?
No, se puede usar cualquier volcado extraído de memorias SPI Flash que tenga un bloque dedicado a la zona de caché.
 
Atrás
Arriba