Banner publicitario de PCBWay

Mstar Firmware Unpacker & Repacker

¿Cómo se dice "el fin del mundo" en español? Mi tele me está volviendo loco. No enciende y la recuperación de emergencia no funciona. Parece que el LED parpadea, pero la pantalla no se ilumina=(
 
Si el bootloader está en buen estado, puedes mirar el log de depuración por RS-232 para que sepas lo que sucede.
 
Si el bootloader está en buen estado, puedes mirar el log de depuración por RS-232 para que sepas lo que sucede.
Sí, y también el dispositivo de depuración. ¿Podrías ayudarme? ¿Podrías compilar el firmware del segundo enlace en el formato correcto como ejemplo? Lo flashearé y veré si el televisor funciona, después de haberlo restaurado por completo, claro.
Bash:
[CVTE]Wakeup intercept 1.5S
CRC Check OPEN: 1

[CVTE] PM VERSION:Apr 17 2021,00:23:28
WOW_GPIO_NUM        = 0
WOW_GPIO_NUM is invalid
WOBT_GPIO_NUM       = 255
WOBT_PM_GPIO_NUM    = 255
WOEWBS_GPIO_NUM     = 255
WOEWBS_PM_GPIO_NUM  = 255
BTW = FF
USB = FF
VAD = FF
0x8701
 
¿Podrías compilar el firmware del segundo enlace en el formato correcto como ejemplo?
Ese firmware es diferente al del primer enlace. ¿Es para otro TV? Lo adjunto empacando únicamente cusdata.

Ese log no dice mucho porque seguramente el UART está deshabilitado, el que adjunto viene modificado para habilitar el UART.
 

Adjuntos

  • allupgrade516_8GB_1GB_sos.rar
    491.3 KB · Visitas: 10
Ese firmware es diferente al del primer enlace. ¿Es para otro TV? Lo adjunto empacando únicamente cusdata.

Ese log no dice mucho porque seguramente el UART está deshabilitado, el que adjunto viene modificado para habilitar el UART.
La televisión no es lo mismo que una plataforma multimedia, pero es interesante. La primera actualización de firmware logró revivir el televisor; la mejoría fue muchísimo mayor. Ahora actualizaré a la segunda versión y probaré el archivo que me enviaste.

Sinceramente, creo que le he hecho algo raro al televisor. La primera actualización de firmware se instaló y funcionó a la perfección, pero la segunda, que actualicé decenas de veces ayer y que sin duda funcionó en esta placa, ahora da un error al completarse y el televisor no enciende. ¿Es posible que haya dañado la memoria USB de esa manera?

Tengo otra placa similar, pero ¿sabes cómo obtener una copia completa del firmware de ella?

Por cierto, ¿existe algún videotutorial sobre cómo usar tu programa de depuración? Me refiero a lo básico para ralentizar la carga y poder usar la consola.

Board mt9216-fg75

No power on after flashing with good firmware, an other good firmware booing ok - what can it be?

No enciende después de flashear con un firmware correcto, con otro firmware correcto funciona bien, ¿qué puede ser?

UART_115200
AC_ON
01-2L-SM-03-20210812

9TH

MIU0_DQS-OK

BIST0-OK

BAP=1
BAP=1
optee teeloader entry
MultiOptee image detected, ModelID=00000000
MultiOptee image detected, ModelID=00000000
CusConfig
eMMC_RPMB_Check_Program_Key
BAP=1
BAP=1
RPMBProg exists, erasing...
BAP=1
ree_opt=0000007B
BAP=1
Auth reeloader...
Decrypt reeloader...
Check reeloader magic ID...
Version check on reeloader...
BAP=1
BAP=1
Auth CKB...
Decrypt CKB...
Check CKB magic ID...
ns_uboot_boot
NOTICE: BL3-1: v1.1(debug):342a5851
NOTICE: BL3-1: Built : 20:55:55, Dec 26 2021
INFO: BL3-1: Initializing runtime services
INFO: [0;32;31m [Booting] mstar_send_magic_ATF 496 [m
INFO: BL3-1: Initializing BL3-2
[Ramlog] ramlog_init init success
INFO: BL3-1: Preparing for EL3 exit to normal world
INFO: BIN1_32bit mode Dec 26 2021 20:55:55
INFO: R1 0
INFO: R2 0
INFO: R3 0
ree_entry
U[AT][MB][start ub][615]
U-Boot 2011.06 (Nov 27 2022 - 22:50:22)
[Mboot] ===== sw IR Config Register =====
[Mboot] ===== Attach IR Interrupt ======
Uboot Relocation: 152 MiB
eMMC HS400 5.1 200MHz
eMMC 7.28 GB
eMMC used life: 0~10%
CID
0x00C9DBBE
0x02D70652
0x34465447
0x38000115
[CVTE]Wakeup intercept 1.5S
CRC Check OPEN: 1
[CVTE] PM VERSION:Apr 17 2021,00:23:28
WOW_GPIO_NUM = 0
WOW_GPIO_NUM is invalid
WOBT_GPIO_NUM = 255
WOBT_PM_GPIO_NUM = 255
WOEWBS_GPIO_NUM = 255
WOEWBS_PM_GPIO_NUM = 255
BTW = FF
USB = FF
VAD = FF
0x8701
 
Sinceramente, creo que le he hecho algo raro al televisor. La primera actualización de firmware se instaló y funcionó a la perfección, pero la segunda, que actualicé decenas de veces ayer y que sin duda funcionó en esta placa, ahora da un error al completarse y el televisor no enciende. ¿Es posible que haya dañado la memoria USB de esa manera?
Las memorias suelen dañarse por desgaste, pero no creo que ese sea el caso.
Tengo otra placa similar, pero ¿sabes cómo obtener una copia completa del firmware de ella?
Con TV Debugging Tool se puede realizar la copia.
¿existe algún videotutorial sobre cómo usar tu programa de depuración? Me refiero a lo básico para ralentizar la carga y poder usar la consola.
No, todo ha sido explicado en el Foro.
No enciende después de flashear con un firmware correcto, con otro firmware correcto funciona bien, ¿qué puede ser?
Si con un firmware el TV enciende y con otro no, entonces no es el correcto.
 
Disculpen mis preguntas tan básicas, estoy intentando entender el programa. Copié los datos de un televisor a una memoria USB y ahora está ilegible. ¿Qué programa puedo usar para convertir los datos de la memoria USB en un archivo de firmware?
 
Ilegible por ti, no para el procesador.
Ese mismo respaldo lo puedes usar para restaurar el televisor, ya sea por comandos o con un programador de e-MMC.
Para crear un firmware MStar necesitas unir los archivos apuntando sus direcciones y escribir el script.
Como cada placa es diferente requieres hacerlo manual y usar un editor hexadecimal para empacar todo.
Los scripts son escritos por ingenieros que tienen toda la información del procesador y conocen las instrucciones y variables.

Si ya tienes un respaldo no necesitas el firmware, y si quieres aprender sobre esto, necesitas estudiar bastante al respecto.
 
Última edición:
Entonces, parece que tu programa principal puede forzar al televisor a subir una imagen ilegible a una memoria USB, luego usar alguna aplicación para capturar la imagen de la memoria USB, nombrarla con el nombre del televisor y, finalmente, subir esta imagen ilegible de vuelta a la memoria USB cuando sea necesario. De esta manera, la estructura del firmware no se dañará y siempre se actualizará.

El firmware de estas plataformas está disponible para pruebas. Si lo necesita, avíseme. Puedo intentar abrirlo con su descompresor y enviarle los scripts originales que muestra el programa.

!webos\
2841P531\
2842P531\
2842P539\
2842P637\
2842P639\
2842P839\
2851P739\
2851P839\
2851V09\
2861V09\
2871\
2871P738\
512CH_U42\
512CP532\
512CP539\
512CP639\
512CP839\
512PA63\
512PB83\
512PC821\
9632-m42\
9632M5F4\
CV338H-T42\
CV338H-U42\
CV3463H_Q42\
CV358H-T42\
CV358L-T42\
CV3663BH_Q32\
CV3663BH_Q42\
CV3663BL_B24\
CV3663C_A32\
CV3663C_Q32\
CV3663C-M32\
CV3686H-A50\
CV512H_B42\
CV512H-A50\
CV512H-B42\
CV512H-U42\
CV512L-B24\
CV512L-U24\
CV538H-Q50\
CV628H_T42\
CV6488H-Y\
CV6681_HA42\
CV6681H_B42\
CV6681-K24\
CV9256-B24\
CV9256-B42\
CV9256-D42\
CV9256-L42\
CV9256-T42\
CV9632-AH\
CV9632H-A50\
CV9632-K55\
CV9632-N55\
CV9632-P55\
CV9632-QH\
cvte6681\
EL9602_E\
LDM538A\
MS338E_PA671\
MS338E_PB803\
MS3463S_PA63\
MS3463S_PB801\
MS3463S_PB818\
MS3463S_PC821\
MS3463S_U851\
MS3663c_n42\
MS3663S_PA671\
MS3663S_PA672\
MS3663S_PB763\
MS3663S_PB765\
MS3663S_PB801\
MS3663S_PB803\
MS3663S_PB805\
MS3663S_PB818\
MS3663S_PC821\
MS3663T_PB751\
MS3663T_PB757\
MS3663T_PB763\
MS3683_PC821\
MS638_PC822B\
MT5510S_PB802\
MT5510S_PB803\
MT5510S_PB818\
MT5510S_PC822\
MT5522S_82\
MT5522S_PC822\
MT9632_757\
MT9632_N55\
MT9632_PC756\
MTK5510S.PB802\
MTK5510S_82\
MTK5510S_PB802\
MTK5510S_PB803\
MTK5510S_PB818\
MTK5510S_PC822\
MTK5510T_PB755\
NTM3663_3G390\
NTM3663_4G500\
P75_2841V61\
SIS231.81\
SK105S_PA671\
SK105S_PB802\
SK506S_PB802\
SK506S_PB818\
SK506S_PC821\
SK508_PB802\
SK508S_PB818\
SK508S_PC821\
SK513S_PB802\
SK516S_PB802\
SK516S_PB818\
SK516S_PC821\
SK706S_82\
SK706S_PC822\
SK706S_PC825\
TP.SIS231.P83\
TP.SIS231.PТ835\
V56.PB816\
V56.PB826\
 
Sea lo que sea que se encuentre en la posición 0x30000000 de la RAM, obviamente se mantendrá ahí hasta que se sobrescriba.
Como a la RAM se accede constantemente, es muy probable que lo que quieras leer a partir de 0x30000000 nunca sea lo mismo.
Si es en una e-MMC, leyendo desde esa posición el bloque del tamaño que quieras.

Pienso que sería más conveniente que expliques con detalle qué es lo que pretendes hacer.
 
¿Para qué? Las direcciones RAM se definen el firmware con la intención de no sobreescribir otros datos o procesos.
Si usas la dirección que quieras puedes corromper datos y afectar el sistema.

Nuevamente... explica lo que pretendes hacer.
 
Atrás
Arriba