Sobre el logo de inicio del equipo LAN5020EHTL ...

ranaz

Forero Novato
Motor TL
1.6 TGDi 176 CV
[QUOTE = "JKD, post: 88193, member: 111"] Are you sure Lisa.exe is deleted? As far as I know, if system does not find Lisa.exe in current MMCMemory partition, it mounts the other one (MMCMemory2) which uses to have an old version of the software, sets it as default MMCMemory and executes Lisa.exe on there. [/ QUOTE]
Yes i'm sure
I wanted to replace Lisa.exe with Menavrus. The message says that memory is low.
I also erased one of Contact7's folders in memory that will free up space and replace the file.
I just need a flash file or the way I can connect to the laptop and put it back on the original file.
 

HYSantaFe

Forero Novato
Motor TL
2.0 CRDi 185 CV
Versión TL
Style Aut. 4x4 48V
Color TL
Phantom Black
En este post voy a hablar un poco sobre el logo de inicio de nuestro equipo. Me refiero a la imagen con el logotipo de Hyundai o el de KIA que se muestra cuando se enciende el equipo de infoentretenimiento. Y es que, al respecto, han surgido dos o tres preguntas.


¿Cuándo se muestra?

En el foro italiano, un usuario pregunta bajo qué condiciones se muestra dicho logo ya que no siempre lo ve. Durante el transcurso de los sucesivos posts de ese hilo, la conclusión a la que llegan es que se muestra "a veces" sin tener claro cuándo.

La respuesta corta a esta pregunta es "el logo se muestra cada vez que el equipo se inicia". Ante esta respuesta, muchos usuarios dirán "Cuando entro en el coche yo no lo veo" o "Cuando apago el equipo y lo enciendo yo no lo veo". Por eso hay una respuesta más larga ;)

Cuando pulsamos el botón físico de apagado en el equipo de infoentretenimiento, realmente no lo apagamos. El sonido se desactiva, la pantalla táctil se desactiva y la pantalla en general se queda en negro pero el equipo en realidad sigue encendido. El software del equipo recibe un mensaje de evento, llamémosle POWER_OFF con lo que se prepara para dejar las aplicaciones en standby. Por ejemplo, pausa la reproducción de un mp3.

Si volvemos a pulsar el botón físico de apagado/encendido, el software del equipo recibe el evento POWER_ON. Activa la pantalla y el sonido vuelve a su estado inicial (si estaba en MUTE lo deja como tal) y el software continua su trabajo. Esto da la sensación de que al "encender" el equipo, el sistema se ha cargado casi al instante. Pero es simplemente porque en todo este tiempo no ha estado realmente apagado.

Lo mismo ocurre si detenemos el motor del vehículo totalmente (ACC OFF). El equipo "simula" que se ha apagado pero si pulsamos el botón de encendido del equipo vemos que el software continua donde lo habíamos dejado. El equipo permanecerá encendido con el motor apagado durante unos minutos (No suele superar los 5 minutos) hasta que corta definitivamente la corriente.

Y ¿por qué no se suele ver el logo de inicio cuando entramos en el coche y lo ponemos en marcha? Porque nuestro equipo se enciende en cuanto recibe corriente del coche. Y esto es así desde el momento en el que desbloqueas y abres la puerta del vehículo. Aunque el equipo parezca apagado, ya se está iniciando. Normalmente, cuando arrancamos el motor del coche, al equipo ya le ha dado tiempo a iniciar el sistema. Al arrancar el vehículo, el software del equipo ya iniciado recibe un evento tipo ACC_ON, habilitando el sonido y la pantalla si el equipo no fue "apagado" deliberadamente por el usuario anteriormente. Si sois rápidos al arrancar o directamente en cuanto entráis en el vehículo pulsáis el botón de encendido, veréis el logo de inicio.

Creo que al respecto no me dejo ninguna otra condición que haga dudar de la respuesta corta. Pero si es más evidente si forzamos el sistema mediante software para que se reinicie.


¿Se puede cambiar el logo de inicio?

La respuesta corta es "No sin los medios adecuados". Y es que no tenemos mucha información sobre este tema. Alguno podrá decir "Para otros coches de Hyundai/Kia lo han conseguido". Pero el problema es que hay una manera estandarizada de hacerlo y otra forma que depende de cada fabricante. Y habría que conocer el funcionamiento del proceso de carga del sistema.

Del proceso de inicio se encarga el bootloader. Es una porción de código que inicia el sistema operativo instalado. En algunas versiones de Windows CE, el bootloader estándar de Microsoft muestra una imagen de inicio. Dicha imagen se localiza en un archivo llamado splash.bmx. Esa imagen es un bmp compilado que no ha de superar los 64KB y se "compila" con un programa que suele venir incluido junto con las SDK de WinCE. Pero cada fabricante puede decidir si incorporar el bootloader de Microsoft o proporcionar uno hecho a medida. Este es nuestro caso.

He tenido acceso al bootloader que usa nuestro equipo. No al código desensamblado pero sí al archivo que usa Hyundai para flashear el bootloader. El archivo en cuestión es eboot.nb0 y ocupa unos 2MB. Por lo poco que he podido ver, para cambiar el logo de inicio es necesario conectarse a la interfaz terminal del equipo y habría que ver la forma de conectar un PC con el equipo mediante puerto serie. Por lo tanto, de poder cambiar los logos de inicio, no es un tema trivial al alcance de cualquier usuario. El programa de Hyundai Aerith permite flashear tanto el bootloader como un NK.bin nuevo (esto es peligroso) pero no veo que permita flashear los logos.

Digo "los logos" porque en nuestro modelo tiene que haber dos. Uno para Hyundai y otro para Kia. Eso descarta la existencia de un splash.bmx por alguna parte de nuestro equipo.


¿Dónde están esos logos?

Los usuarios más puestos en el tema, saben que la unidad MMCMemory contiene dos carpetas con imágenes exclusivas para la interfaz de Hyundai y Kia respectivamente. Pero ahí no pueden estar los logos ya que la unidad MMCMemory no se monta (no es funcional) durante el proceso de inicio por lo tanto, sus archivos no son accesibles. Sería un error que un bootlader confiara en otra unidad, que no tiene por qué existir, para hacer parte de su trabajo. Es el programa MyShell.exe el que monta esa unidad y su ejecución se produce en las últimas fases de un sistema operativo ya iniciado.

Otra hipótesis sería que los logos estuvieran en la unidad principal " \ " o en una de sus subcarpetas, básicamente porque es donde reside el contenido extraído de la ROM NK.bin. Aún así, tampoco los he localizado como archivos.

Volviendo al bootloader, entre otras opciones del menú del bootloader, hay una que destaca:
Insertar CODE, HTML o PHP:
ROM:00003C40 0000005D C Specify destination for Splash screen NB0 \r\n[1 = NOR, 2 = NAND, 3 = SD/MMC, 4 = SPI Flash]:

ROM:00003CA0 00000011 C splashscreen.nb0
Esa opción permite flashear el logo que inicialmente tiene el nombre splashscreen.nb0 a uno de los 4 destinos. ¿Cuál sería el destino adecuado? La lógica me dice que SD/MMC, que hace referencia no a SDMemory ni a MMCMemory sino a la unidad principal donde se monta " \ ", pero NO en una forma accesible mediante el sistema de archivos.

Los archivos nb0 representan a un buffer de datos binarios sin compresión o indexación que se van a flashear tal cual, en el destino indicado. Por lo tanto, splashscreen.nb0 podría contener un logo o más de uno. La lógica me dice que el buffer de ese archivo splashscreen se guarda siempre en la misma dirección así que debería localizarse en un sector muy concreto de la unidad principal. Concretamente un sector anterior al sistema de archivos.


¿Por qué creo que hay dos logos?

Uno puede pensar que a lo mejor el fabricante pone uno u otro logo en función del vehículo al que va destinado el equipo. Porque ... podríais decir que no hay ningún Hyundai que de alguna forma muestre el logo de Kia y vicebersa. Pero tiempo atrás, un usuario trató de actualizar su Hyundai usando un backup de otro propietario de Tucson (cosa que desaconsejo totalmente. El backup vale para tu propio equipo). Corrompió el sistema y tras reiniciarse mostraba el logo de Kia. El backup del que partía era de otro Hyundai.

Tras un vistazo rápido en el bootloader, estas dos cadenas de texto de depuración confirman la existencia de 2 imágenes de inicio:
Insertar CODE, HTML o PHP:
ROM:00184AD4 00000066 unicode LoadBootingImage() : second boot image = %d sector\r\n
ROM:00184B44 00000064 unicode LoadBootingImage() : first boot image = %d sector\r\n

¿Como sabe el bootloader qué logo mostrar?

Hyundai o Kia, e ahí la cuestión. No he localizado en el código de Hyundai indicios que me hagan pensar que el tipo de vehículo sobre el que está montado el equipo le llegue a través de la señal de canbus. Pero sí he visto que el sotware de Hyundai hace una lectura a bajo nivel en un sector determinado de la unidad principal. Cuando digo a bajo nivel, significa que no abre un archivo y lo lee sino que directamente accede a un sector del disco y lee un buffer de datos que a priori son incomprensibles, de los cuales extrae entre otras cosas un byte cuyo contenido es decisivo para saber qué tipo de vehículo es.

Hay una cadena bastante significativa en eboot.nb0:
Insertar CODE, HTML o PHP:
ReadCarType() : SDMMC_ReadSector()
Indica la existencia de una función llamada ReadCarType que hace uso de otra función llamada SDMMC_ReadSector, lo cual confirma que el bootloader hace uso del tipo de vehículo leyendo un sector determinado de la unidad principal (No confundir SDMMC con MMCMemory).

El siguiente mensaje de depuración del bootloader indica que una vez conocido el tipo de vehículo, muestra una u otra imagen:
Insertar CODE, HTML o PHP:
ROM:0017C138 0000006C unicode CarType is Hmc.. so try to load hmc booting image..\r\n
El tipo de vehículo (CarType) puede ser Kia o Hmc cuyas siglas significan Hyundai Motor Company.
Buscando para descargar el bootloader para poner algo de vídeo, creo que era coreplayer, encuentro esto y estoy flipandola. Me suena todo a chino. Qué máquina!!! Gracias por tu curro!! Una pregunta, el foro es grandísimo, tenéis localizado (que seguro que está, pero no doy con ello) como descargar el bootloader, tucsy y demás?? Tucsy tengo la app del móvil pero no encuentro lo que haya que poner en la SD. Graciaaaasss
 
Arriba