[Aporte] Reparador de Dumps (TV Chinos no Smart)

Holaaaaaa, solamente quería aclarar el tipo de microprocesador que utiliza la Soyea SDP160, pues no he visto acá el modelo de Soyea SDP070 mencionada en el post número 16 de este tema, había quedado aclarado con anterioridad que la aplicación aportada por D@rkbytes es para micros de MStar, un saludo desde Cuba y FELIZ AÑO NUEVO!!! a todos en forosdeelectronica
 
Un saludo tengan todos y muchas felicidades.
E
l modelo es SOYEA SDP070, fue actualizada con un archivo diferente y la misma no reacciona a nada.
E
stas cajas fueron unas de las primeras que salieron en Cuba y no aparece casi nada al respecto de ellas, por eso hice la pregunta.
M
uchas gracias.
 

Adjuntos

  • IMG_20221130_172331687.jpg
    IMG_20221130_172331687.jpg
    563.1 KB · Visitas: 26
  • IMG_20221130_172405812.jpg
    IMG_20221130_172405812.jpg
    334.8 KB · Visitas: 24
Última edición por un moderador:
Holaaaaa
Interesante este post de este tema, nunca había visto una caja decodificadora de TV Digital Soyea SDP070, buscando en Internet para tratar de ayudar encontré las fotos que adjunto en este post, así tal vez al verlas algún otro colega pueda ayudar con el firmware de la misma, aclarando que no debe servir un programador como CH341A o EZP2019 para flashear esta Soyea (pues no sportan el microprocesador mostrado en las imágenes), ya que no se observa memoria SPI Flash en la foto adjuntada por Jorge Antonio, qué interface habría qué utilizar entonces:
algo así como un programador casero por Puerto serie o paralelo (LPT)? , saludos colegas desde La Habana
 

Adjuntos

  • Soyea_SDP070.jpg
    Soyea_SDP070.jpg
    76.7 KB · Visitas: 15
  • Soyea_SDP070_Front.jpg
    Soyea_SDP070_Front.jpg
    147.9 KB · Visitas: 15
Una vez intenté adaptar un panel a una tarjeta main Mover Mexico marca VIOS pero tuve el problema de imagen invertida, la corregía en el menu de servicio pero al apagar la TV volvia a su posicion original. ¿Se puede modificar el firmware para solucionar este problema?
 

Adjuntos

  • main mover.png
    main mover.png
    775.2 KB · Visitas: 17
  • main mover micro.png
    main mover micro.png
    718.5 KB · Visitas: 19
Para comprobar volcados de diferentes SoC MStar, ya que no todos tienen la misma estructura.
Si no se puede reparar con el tipo 1, se prueba con el tipo 2, y si no, con el tipo 3.
Si con el tipo 3 tampoco se puede reparar el volcado, entonces no es un volcado soportado.

La opción de insertar el CRC32 es porque algunos SoC realizan una comprobación de redundancia cíclica en el firmware.
Si no corresponde con la insertada, supondrá que el firmware está corrupto y no lo instalará.
 
Me llegó una pantalla de 19" RCA la cual solo se queda en standby, no enciende. Usé el programa sin exito, aunque sí generó el BIN reparado no funcionó. ¿Será posible reparar el firmware con un editor hexadecimal? Tengo otra placa exactamente igual pero su panel es de 23.6" La SPI en la RCA es 25Q16 y en la otra es 25Q32. ¿En teoria que es lo que se alteró en el fimware para que ya no quiera encender la pantalla?
 
Última edición:
Me llegó una pantalla de 19" RCA la cual solo se queda en standby, no enciende.
¿Modelo de tarjeta?
¿Será posible reparar el firmware con un editor hexadecimal?
Posiblemente.
¿En teoria que es lo que se alteró en el fimware para que ya no quiera encender la pantalla?
Por lo regular alteraciones en la zona de caché, que es lo que repara el programa.
Si el problema se encuentra en el firmware, será complicado encontrarlo, se necesitaría un archivo en buen estado para comparar.
 
Actualización v1.4

Muchas mejoras y agregados.
Ahora escrito en C#, lo cual hace que las funciones sean más rápidas.

Quiero hacer notar qué, aunque esta nueva versión ha sido probada, puede contener errores.
La mayoría han sido depurados, pero esto no representa que el archivo obtenido sea válido.
Esto es porqué, tanto las cabeceras y los offsets de la zona de caché pueden ser distintas en cada SoC.
Esto hace que la aplicación pueda confundir un offset de cierta zona como válido, cuando en verdad no lo es.
Como ejemplo: expongo lo que llamo (MagicBytes), esto hace referencia a ciertos bytes que se deben encontrar para determinar la zona de caché.
Supongamos que la zona de cache tiene los bytes 0x00, 0xBE, 0xEF, 0x00, que son los clásicos para MStar, estos bytes no deben ser buscados desde el principio del archivo, sino desde el final.
¿Por qué? Porque si buscamos estos bytes desde el principio podemos encontrar varias coincidencias.
En cambio, si estos bytes se buscan desde el final del archivo, el resultado es más certero.
Pero esto no garantiza haber encontrado un offset correcto, ya que aunque el proceso se haga a la inversa, también origina encontrar un offset que no sea el correcto.
Esto ha sido solventado buscando firmas gráficas dentro del sector y avisar al usuario que posiblemente no sea el offset correcto y poder abortar la operación para seleccionar otra opción.

Puedo considerar que este proyecto apenas anda en pañales y lo pienso seguir mejorando.
Gracias al haber portado el programa de VB a C#, pienso que muchas cosas se van a mejorar.
Dentro de este mismo tema iré subiendo sus actualizaciones.
También espero poder agregar la reparación de otro tipo de volcados.
Sobre esto ya realicé algunas pruebas y han sido satisfactorias.

De igual forma agradeceré si tienen un volcado de un TV con problemas y que lo adjunten, especificando modelo de tarjeta, tipo de memoria SPI Flash, etc.
Lo analizaré, y si es reparable, lo agregaré a la lista.
Esto es con el fin de agregar nuevos tipos de reparación de volcados al programa.

Aprovecho para comentar que de ahora en adelante mis programas estarán en inglés.
Y es que he recibido bastantes correos pidiendo esto.
Para mí no es ningún problema, siempre y cuando se trate de un programa reciente.
Pero si ya cuenta con varias versiones, pues sí que me resultará complicado cambiar cientos de cadenas en español al inglés.

Espero que comprendan que este Foro supera nuestras fronteras latinas y que hay muchas personas a las que les es más fácil comprender el idioma inglés.
A fin de cuentas, para los ingenieros en electrónica es un lenguaje requerido.

DRV14.jpg

Funciones extra agregadas:

getCRC32:

Obtiene el checksum de un archivo basado en la comprobación de redundancia cíclica de 32 bits de una serie de bytes.
Sirve para comprobar la diferencia entre archivos y así mismo agregar una comprobación de integridad.
En esta versión ya no se inyecta el CRC32 en el nuevo archivo porque resultó ser incomprobable.
Solo se deja para comprobar la diferencia entre archivos.

Align File to 0xFF:
Alinea un archivo que esté fuera del rango numérico basado en bytes justos.
Es decir, un archivo convencional de 1 KB deberá ser de 1024 bytes.
Un archivo de 1 MB deberá ser de 1048576 bytes, etc.
Comprobado el offset final, el archivo será rellenado con 0xFF hasta completar lo seleccionado.
Esto es útil en los volcados MStar y tal vez en otros para establecer si el archivo es firmware o copia.

Si les interesa el tema podré seguir avanzando con el proyecto.
Espero que sí y que puedan aportar con nuevos bytes de la zona de caché en volcados.

¿Cómo encontrar la zona de caché?
Es fácil, este sector siempre se encuentra después de la zona de datos.
O sea, casi al final del volcado.
Ya sea en memorias de 2MB, 4MB, 8MB, etc, la zona de caché podrá ser encontrada porque deberá contener más de 512 KB con 0xFF
Así que, podemos considerar que desde donde empecemos a encontrar 0xFF en un rango de 512 KB, será la zona de caché.
Y esos bytes anteriores a 0xFF son los que mencioné anteriormente como MagicBytes.
Y para validar estos MagicBytes, debemos tener otros archivos para poder comparar y validarlos, ya que deben existir y después de ellos encontrar 0xFF

Ante esto, pongo un ejemplo:
CacheZone.jpg
En la imagen de arriba se pueden ver los MagicBytes de un clásico volcado MStar (00BEEF00) y lo que sigue es la zona de caché.
Es donde el procesador escribe y lee datos.
Las fallas principales se deben a una mala escritura debido a cortes eléctricos y es cuando se pueden alterar sectores en esta zona que posteriormente harán que el TV no inicie.
Esta es la zona que se repara, ya sea eliminándola o reescribiéndola con 0xFF.
Cuando se elimina supondrá para el TV que se trata de un firmware nuevo y mostrará la pantalla de configuración.
De igual forma si se reescribe con 0xFF, pero el archivo obtenido tendrá el mismo tamaño.
Y aquí es donde entra el alineamiento, que básicamente lo que hace es dejar el archivo reparado pero alineado hasta completar los bytes faltantes.

Ejemplo de un archivo no alineado:
NotAligned.jpg
Ejemplo del mismo archivo pero alineado:
Aligned.jpg
Aquí la alineación fue de 4 bytes, y esto lo hace la aplicación de forma automática.
Aunque pienso poner esta opción como opcional.

Este tema tiene por finalidad evitar la compra de archivos que ustedes mismos pueden reparar.

Actualización v1.6

.- Se mejoró la comprobación de gráficos dentro de la zona de caché para realizar una mejor selección del tipo de reparación.
Esto es porque algunos volcados pueden contener más de un archivo gráfico y puede ser eliminado si no se elije la opción correcta.
El programa avisará cuando esto suceda y dará la opción de continuar con la reparación sin importar este caso, o elegir otra opción.
Debido a esta circunstancia se añadió otro tipo de reparación. (Número 5)

.- Se corrigieron otros bugs menores que finalmente hacen que el programa sea más estable.
 

Adjuntos

  • Dump Repair v1.4.rar
    97.3 KB · Visitas: 96
  • Dump Repair v1.5.rar
    115 KB · Visitas: 90
  • Dump Repair v1.6.rar
    131.3 KB · Visitas: 143
Última edición:
D@rkbytes Buenas Tardes: primero que todo agradecerle su buena intencion de compartir sus conocimientos, son muy pocos los que lo hacen sin interés. he prrobado varias consolas, pero el gran problema es : los comandos. allgunos trabajan bien pero otros ......cuesta mucho . Tengo una tarjeta P75-628VX V6.0 que con TVDT he logrado extraer la memoria emmc (los tres archivos) pero quería voltearla y corregirle los bits porque se ve vueta y manchada pero no he podido ni con el modo 1 ni con el 2... usted no podria decirme cual es el comando para invertir la imagen con el secureCRT . para ver si lo logro. de antemano muchas gracias .
 
En primer lugar, olvídate del Secure CRT, es un programa comercial al que se le hizo fama en esto de la reparación de TV por comandos UART.
¿Por qué? Por que de igual forma esto se puede realizar con cualquier terminal.
En tu caso lo que te recomiendo es entrar al menú de servicio y desde ahí cambiar el modo MIRROR.
 
Para comprobar volcados de diferentes SoC MStar, ya que no todos tienen la misma estructura.
Si no se puede reparar con el tipo 1, se prueba con el tipo 2, y si no, con el tipo 3.
Si con el tipo 3 tampoco se puede reparar el volcado, entonces no es un volcado soportado.

La opción de insertar el CRC32 es porque algunos SoC realizan una comprobación de redundancia cíclica en el firmware.
Si no corresponde con la insertada, supondrá que el firmware está corrupto y no lo instalará.
buenas tardes disculpe mi ignorancia que significa CRC32 ?
 
Atrás
Arriba