Acceso al disco duro del navegador (IAM2.1 level 3, lo que era Sensus entre ¿2010? y 2014)

fasser

Miembro Habitual
26 Abr 2013
486
44
#1
Volvo ha pasado por varias iteraciones en los sistemas de navegación. No tengo claras las fechas de cada uno y puede que me equivoque con las descripciones, pero como mínimo:
  1. Los primeros sistemas no tenían una memoria interna para los mapas: se basaban en un lector de DVD a mayores del "principal" del sistema de audio que iba instalado en el maletero o (de esto no estoy seguro) debajo de un asiento, y necesitaban que hubiera siempre insertado un disco para trabajar.
  2. Luego creo que hubo una evolución que ya tenía un disco duro interno o algún otro tipo de memoria pero eran anteriores al sistema Sensus. Creo que estos se llamaban MMM+ o algo así.
  3. Desde que empezaron a montar Sensus (¿por 2010 o así?) la radio incluye un disco duro en el que se copian los mapas de navegación. A estos sistemas les llamaban Sensus RTI.
  4. En 2014-2015 pasaron dos cosas:
    1. Por un lado cambiaron algún proveedor o pieza clave del sistema multimedia y, aunque el sistema se sigue llamando Sensus, internamente es un animal distinto a los anteriores. En este caso, los sistemas con navegador los llaman Sensus Navigation.
    2. Empezaron a montar las pantallas táctiles enormes en los XC60 y tal, que también siguen llamando Sensus pero es otra cosa distinta de las dos anteriores.
¿Y a cuento de qué hago este resumen muy breve y posiblemente lleno de errores? Pues únicamente para acotar lo que sería la chicha de este post:

De cómo acceder al disco duro de un sistema Sensus RTI, de las protecciones que el sistema equipa, de cómo sortearlas y de qué encontraremos una vez sorteadas las dichas protecciones.

Por tanto, este tema habla de los sistemas multimedia con navegador integrado de entre 2010 y 2014. Es posible que algunas de estas cosas se puedan aplicar a otras versiones, pero nada más.

Lo primero, hay que desmontar la radio y sacar el disco duro. Lo que nos encontraremos es un disco de 2,5" con interfaz IDE PATA y con tamaño a partir de 40GB. Posiblemente la marca sea Hitachi y de la serie Endurastar, lo cual es bueno porque se supone que los Endurastar tienen un historial excelente de fiabilidad a largo plazo.

Lo siguiente es conectar el disco a un ordenador. El interfaz IDE ya hace tiempo que dejó de ser un estándar en favor de SATA, así que hay dos posibilidades:
  1. La mejor, poder usar un portátil antiguo que use ese interfaz y se pueda arrancar desde un CD o USB
  2. Usar un adaptador USB<->IDE, SATA<->IDE o similar. En este caso hay que tener cuidado porque no todos los adaptadores soportan el juego completo de instrucciones ATA.
Con el disco conectado veremos que el sistema no encuentra nada en el disco: no hay tabla de partición y si se intenta una lectura a bajo nivel lo único que recibiremos será un churro de 0s. Esto es porque el disco usa protección ATA, con lo que necesitamos una contraseña para desbloquearlo, y mientras no esté desbloqueado el propio firmware del disco estará bloqueando el acceso. Aquí es donde es importante lo de que el adaptador soporte el "juego completo de instrucciones". Si resulta que no lo soporta no conseguiremos acceder al disco, pero al menos tampoco hay riesgo de cargarse nada.

Desde un sistema Linux (hay herramientas equivalentes para Windows, MacOS y cualquier otro sistema), como administrador ejecutar hdparm -I /dev/sdX, donde sdX es el identificador que le haya dado el sistema al disco, deberíamos ver un churro de características del disco y al final una sección "Security" con algo parecido a esto:

Código:
       *    Data Set Management TRIM supported (limit 8 blocks)
       *    Deterministic read ZEROs after TRIM
Security:
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
    not    frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
En este caso la información es de un disco sin protección, en el disco del navegador deberíamos tener "enabled" y "locked", lo que indica que el disco está protegido y no se ha desbloqueado.

Lo siguiente es lanzar como administrador /sbin/hdparm --security-unlock "siihakawhc2o6937 " /dev/sdX (atención a la contraseña entre comillas: son 32 caracteres en total contando los espacios en blanco al final). Si volvemos a ejecutar el comando anterior debería devolver algo más parecido al listado: "enabled" y "not locked". Si es así, ejecutando /sbin/partprobe/sdX el sistema debería poder ver la tabla de partición y acceder a la información del disco sin problemas. Ojo a varias cosas:
  • Este desbloqueo no es permanente: cada vez que el disco se enciende se vuelve a bloquear.
  • La contraseña en cuestión es la que tiene mi versión del sistema. Posiblemente sea la misma para todos los de la misma época, pero podría haber variantes.
  • Si la contraseña no es correcta no pasa nada: el disco sigue bloqueado sin más. Si se introduce mal demasiadas veces es posible que ya no se deje desbloquear hasta apagarlo/encenderlo de nuevo.
  • Los que hayáis leído el enlace sobre protección ATA de arriba habréis visto que hay dos contraseñas: "user" y "master". Esta es la de "user", que solo deja desbloquear el disco pero no tocar los parámetros de seguridad. La contraseña de "master" además de desbloquear permitiría quitar/cambiar las contraseñas, pero también permite cargarse el disco (tanto la información que contiene como el propio acceso al disco), así que esta mejor me la guardo.
En este punto ya deberíamos poder ver la tabla de partición del disco. Si no es así no os volváis locos, aunque en este punto sería difícil cargarse el disco (de hecho, se supone que la propia protección nos impide cargarnos el disco), mejor no jugar demasiado.

La tabla de partición del disco es algo así:
  1. SLOT0: de 28GB FAT32, contiene los datos de navegación y el firmware del navegador. En mi caso le quedan unos 5GB libres.
  2. SLOT1: de 10GB FAT32, contiene la base de datos de identificación de CDs. Tiene solo 1GB ocupado
  3. SLOT3: de 1GB FAT32, no estoy seguro de qué contiene, parece archivos de backup. Está practicamente vacía
  4. SLTO4: de 1GB FAT32, solo tiene una carpeta vacía MM_DIAG, entiendo que será para almacenar registros de diagnóstico o algo parecido. Salvo esa carpeta, está vacía
  5. Espacio sin particionar (en mi caso, 40GB sin particionar ya que mi unidad es de 80GB).
Aquí es donde hay que hacer un backup. Lo suyo sería hacerlo completo, respetando la estructura de partición.

Con el backup hecho ya podemos jugar con el disco, aunque en realidad no hay muchas cosas que tocar:
  • La única información útil está en la primera partición. Tres cosas:
    • Por un lado hay dos carpetas, MAPDATA0 y MAPDATA1, que contienen la información de mapas del navegador. Se supone que el contenido de esto lo gestiona el navegador al hacer las actualizaciones por DVD o USB. En algunos casos ha habido problemas al aplicar la actualización de mapas (en realidad es un problema de espacio en la unidad), y la forma de solucionarlo es tocar manualmente estas carpetas.
    • En relación con este problema de espacio, dado que el disco posiblemente tenga espacio sin particionar no creo que haya problema por reparticionar el disco y darle más espacio a esta partición, con lo que ese problema debería desaparecer.
    • Aparte de eso, en la raiz de la partición hay un archivo LOADING.KWI que es el firmware de la unidad. Aunque las modificaciones a este archivo son la forma de actualizar/cambiar funciones del software del navegador y la radio también son el mejor camino para dejar el sistema fuera de servicio, así que el interés de momento es puramente académico.
  • Salvo la protección por contraseña, el sistema me parece que no verifica nada más acerca del disco. Durante un tiempo sustituí el disco original de 80GB IDE por uno de 500GB SATA con la misma estructura y no hubo problema. Eso implica que podríamos cambiar el disco por cualquier otra cosa (uno más grande, un SSD) y funcionará igual. La pega es que no ganaríamos nada con ese cambio.
  • Aunque se quite la protección al disco o se sustituya por otro desprotegido, lo primero que hace el sistema al arrancar es volver a protegerlo con la misma contraseña.

Y eso es todo.
 

aledbar

Miembro Elite
18 Oct 2010
1.326
50
Rias Baixas
#2
Gracias otra vez @fasser !!
Meterme en temas Linux me impone.... a ver si me animo.

Sobre el año de inicio, sí fue 2010 con el lanzamiento del S60 de 2ªgen, y, si mal no recuerdo, este fue el progreso:
- S60-II desde inicio (my11, aunque siempre tuve dudas si hubo algún my10 o pre-serie)
- v60 my11
- xc60 my11.5 (había algún hilo sobre la semana del cambio de fabricación)
- s80, v70 y XC70 desde MY12.
- V40 desde su lanzamiento (12)
 
#3
Hi,

I found your post researching the architecture of the Sensus system. Is it possible to share the image of your drive with me for additional analysis? I could provide you with the means to transfer that huge file (which might also be compressible really well).

You can also send me a private message if you don't want to do this publicly.

Kind Regards
Jonas
 

fasser

Miembro Habitual
26 Abr 2013
486
44
#4
Hi,

I found your post researching the architecture of the Sensus system. Is it possible to share the image of your drive with me for additional analysis? I could provide you with the means to transfer that huge file (which might also be compressible really well).

You can also send me a private message if you don't want to do this publicly.

Kind Regards
Jonas
Hi Jonas,

Most of the drive contents are the GPS' map data (about 25GB) so I doubt there will be a significant compression. Those files aside, all other contents in the drive take less than 50MB or so.

I can send you an image of the drive as it was in 2015, aside from the map updates I think no other content of the drive has been changed since. PM me the details for the upload and I'll send you the whole 25GB or the 50MB interesting bits, as you prefer.

Regards.
 
JAD

V4L

Miembro Master