Cirugía a un PVR

      16 Comments on Cirugía a un PVR

Mi colega el que me puso el mote que da nombre a esta página, el otro día me obsequió con un trabajito de investigación. Su mayor exponente de estar a la vanguardia de la tecnología, un PVR Thomson DTH 8550E se había estropeado y no le permitía acceder al menú del equipo debido a que la placa base del mismo estaba frita (palabras del servicio técnico).
Conectado al PC
En estos casos el aparato se lleva a la casa a hacer efectiva la garantía, pero mi amigo temía (con razón) por el destino que sufrirían las pelis que tenía guardadas en el disco duro, con vídeos de sus monstruitos haciendo el monstruo en diversos eventos sociales. Bueno el caso es que como en la tienda le iban a dar un aparato nuevo, me lo trajo al sanatorio de dispositivos electrónicos de Makinolo para tratar de extraer la información del disco antes de despedirse de el.

No me pareció en principio una tarea muy complicada. Al abrir el cacharro se observaba perfectamente una unidad grabadora de DVD Philips y un disco duro IDE Seagate ST3160022ACE de 160Gb.

Conecté el disco a uno de mis PCs y la BIOS lo reconoció a la primera. Sin embargo Windows XP, aunque lo detectó como dispositivo nuevo, no fue capaz de añadirlo a la lista de unidades.
Supuse que el problema era que el sistema de ficheros que usaba el disco duro no era el NTFS que usa XP así que metí un Knoppix en el CD y volví a arrancar. Se supone que esta distribución de Linux, autocontenida en un CD, es capaz de detectar y montar unidades de disco de los mas diversos sistemas de ficheros, incluyendo FAT, FAT32, EXT2, EXT3, EFS, NTFS y algunos mas que no se usan muy habitualmente.
El knoppix detectó el disco, pero a la hora de montarlo… no era capaz de determinar el sistema de ficheros. Lancé un fdisk -l para sacar la tabla de particiones del disco, pero me decía que no había tabla de particiones. Buscando alguna solución por Google di con una utilidad para Linux, llamada gpart que se supone capaz de adivinar el particionamiento de un disco duro que por cualquier causa haya perdido la tabla de particiones.
gpart, después de casi una hora de escaneo, no fue capaz de decirme nada en absoluto acerca del disco, así que solo me quedaba acudir a mis amigos de Soygeek, a ver si a alguno se le ocurría de que forma podía leer, de manera no invasiva (es decir, sin escribir nada en el disco, para no dejarlo inservible de cara al PVR), el dichoso disco.

Me indicaron una dirección de internet en la que se hablaba del disco duro de un aparato de la misma marca pero de un modelo anterior, el DTH 7000, donde confirmé que estos aparatos utilizan un formato propietario. Allí encontré el DTH Explorer que lee los discos del DTH 7000, creado por Didier Cadiou (Francés, al igual que la marca Thomson). No podía ser tan fácil. No funcionó. No identificaba el disco como un disco Thomson.
Esta página me llevo a un Grupo de Yahoo en el que se hablaba sobre el DTH 7000 y en el que habia otra utilidad mas espartana que se llamaba DRS 7000 Data Extraction Tool. Tampoco hubo suerte, no era capaz de detectar el disco.

Parecía como si entre las dos versiones del aparato hubiesen cambiado el formato del sistema de ficheros, así que me tocó explorar directamente el disco a nivel físico con la utilidad WinHex para ver si encontraba algo aprovechable.
Después de mirar un montón de bytes que parecían no tener ningún sentido encontré lo siguiente:

uJ e20A-og2 00 7

Parecía claro que era una fecha, el Jueves 20 de Agosto de 2007, pero codificada de alguna manera extraña. Observandolo atentamente se ve que se cogen los caracteres de 2 en 2 y se dan la vuelta, como si estuviese usando Big Endian de 16 bits pero con todos los valores, no solo los numéricos. En efecto, al darle la vuelta a los caracteres me salía:

Jue 02-Ago 2007

Esto podía ser perfectamente una entrada en una tabla de archivos que indicase la fecha de creación de uno de los vídeos del disco. Como había visto otros códigos raros en otras zonas del disco, repetidos muchas veces, pase a descifrarlos:

tSrogaLeba siTynDU F

Parece rumano, pero no, deshaciendo la encriptación rústica que usan:

StorageLabs TinyUDF

¡MAGIA!

Ahora si que Google iba a ser de mucha ayuda, el disco estaba usando el TinyUDF (Universal Disk Format) que es una variante del sistema de ficheros usado para almacenar archivos en medios ópticos como DVDs o CD. En concreto el aparato este usa la librería TinyUDF de StorageLabs.
Al parecer es bastante común que los PVR (aparatos de DVD y TDT) con disco duro usen este sistema de archivos por las ventajas que ofrece. UDF también lo usan las unidades REV removibles de Iomega.

Buscando mas por foros y mas foros, encontré que casi todos los que se habían visto en esta tesitura estaban usando con gran éxito un programa, el SiGMATek_DVBH_1000_HDD_Reader, que permite montar las unidades TinyUDF usadas en los PVR en un Windows XP.
Como cabía esperar, a mi no me funcionó, ni cuando desactivé el soporte para unidades virtuales de CD/DVD (Nero, Alcohol120%, etc…) que parece que entra en colisión con este software.
Busqué mas y llegué al pvr101disk, una especie de driver para windows que se interpone entre el driver de UDF que lleva el propio windows (udfs.sys) y el disco físico y hace el swapping de bytes on-the-fly. Hay que usarlo en modo línea de comandos después de instalarlo de manera rudimentaria.
Pero tampoco funciona y esto ya si que me terminó de cabrear.

Si cualquiera de vosotros ha llegado hasta aqui buscando como montar una unidad de disco de un PVR (DVD o TDT) en un PC, seguro que ya ha encontrado la solución en el anterior párrafo, porque la inmensa mayoría usan TinyUDF con encriptación de byte swapping. Solo los tíos con mala suerte como yo hacen que las historias estas continúen…

img_1852.JPG
La solución desesperada y ya por salvaguardar el honor de geek, como dice Futur3: comprar un disco duro de 160Gb, hacer una copia por sectores con el dd de Linux (tarda 3,3 horas poniendo los discos en buses IDE diferentes), usar un script a nivel físico con el 010Editor para swapear los bytes de todo el contenido y montar el disco como unidad UDF. El script de swap lo he tenido corriendo unas 20 horas y me he hartado, solo había llegado a 17Gb.
Aun así, con el swap a medio hacer, intenté montarlo como unidad UDF pero no había forma de que Windows o Linux la reconocieran.

La conclusión a la que llego es que los de Thomson han creado algún tipo de variación mínima sobre la encriptación básica del swapeo de bytes que usan todos los PVR clónicos (DAK, Airis, Sigmatek, Technosonic, etc…) y que por eso el programa de Sigmatek no vale para este PVR.
Lo único que me queda por hacer es descubrir cual es esa “variación” y reprogramar el pvr101disk.sys para que funcione, pero esa tarea me parece que demanda mucho mas tiempo del que puedo dedicarle a esto.

Lo que ha pasado en realidad, me he dado cuenta después de que mi amigo cambiase en la tienda el Thomson DTH8550E por un Thomson DTH8650E y me lo volviese a traer, es que al jodersele el aparato se corrompió parte de la estructura de archivos del disco UDF, por eso el software de sigmatek no era capaz de reconocerlo. Los datos de vídeo estan en su sitio (encriptados, eso si) pero las tablas de archivos no, por lo que el disco está desestructurado y sacar los vídeos va a ser un trabajo de chinos.

Ahora, sabiendo que los archivos de vídeo son VOB, como los del DVD (MPEG2) y que su firma son sectores que empiezan con la cadena hex 000001BA (en muchos de ellos aparece también la cadena ZORAN01, pero no encuentro referencias en google) , me resta sacar trozos de unos 5Gb del tirón (no me queda mas espacio en el otro disco del PC) y visionarlos con el videolan (es la caña, visualiza lo que sea sin hacer preguntas de formato de fichero ni nada) para ver si encuentro los dichosos vídeos. Luego me tocará recortar con el StreamClip o el VideoReDo (aunque este ultimo se cuelga en cuanto hay un cambio de timecode en el stream, y en mi caso hay muchiiiisimos) y exportarlos con no se aún que herramienta para convertirlos en DVD y haberme ganado con ello la salvación eterna, porque vamos, menudo trabajito.

Así que, como en los programas de al filo de lo imposible en los que no consiguen subir a la cima del monte himalayo de turno, y aun así retransmiten la gesta, pues yo publico este post de fracaso, con un par :).

16 thoughts on “Cirugía a un PVR

  1. Pingback: SoyGeek » Blog Archive » Personal Video Recorder: la pesadilla.

  2. kneph

    la verdad es que no te aburres, y por si acaso…. tienes unos amigos, que piensan en ti.
    el videolan, yo en el curro no podia instalar nada ya que no era administrador de la maquina (no porque no supiera hacerlo….), pues a lo que estoy… tenia en una memoria el vlc portable….no he tenido problemas nunca con el

  3. Inyigo

    Yo con el SigmaTek Disk he conseguido extraer los vídeos de mi Thomson DTH8653 pero sólo uno de los vídeos es legible en el ordenador con el Videolan(VLC), algo pasa con los vídeos que no sé que le hace a ese diferente para que lo pueda ver y los demás no.

  4. Makinolo Post author

    Puede ser una cuestion de timecodes o de formato. Hay unas cuantas herramientas que he usado para corregir los trozos de video que iba extrayendo aunque la mas util ha sido MPEG Stream Clip.
    Si con esa no consigues nada mi ultima opcion es editar el video con un editor hexa como el 010 Editor o el WinHex y coger un trozo del archivo desde la marca 000001BA que preceda a una marca ZORAN hasta algun bloque a unos cuantos gigas de distancia que acabe con un monton de FFFFFFFF seguidos. Luego ve probando a ver si consigues ver esos trozos.

  5. peter

    Hola, lo primero felicitarte por k me parece k eres una makina y por otro lado yo tengo un thomson dvd dth8653 y pone k lee divx mpeg4 bueno todo y me bajo una peli d divx la grabo kon el nero en formaro iso y no me la rekonoce, no se me esta volviendo loko haber si alguno me podeis decir por k puede ser gracias. un saludote.

  6. Pedro Muñiz

    Muchisimas gracias, he recuperado con el Sigmatek un disco duro de un tdt dak. Creía que estaba perdido, pero lo recupere

  7. Domingo

    Muchas gracias de parte de otro fracasado. Aunque yo sólo he probado con un par de esos programas (y porque lo ponía en google), saber que hay “personas mayores” que tampoco pueden con el suyo reconforta algo ;-).

  8. Domingo

    Me corrijo. Al final no había probado con el pvr101disk sino con el Sigmatek Disk Reader, teóricamente lo mismo pero con GUI. Al probar ya con la versión en línea de comandos, sí que me ha funcionado. Aunque por ahora parece que sólo me saca uno de los dos vídeos que hay. Pero se ve que Murphy estaba hoy de vacaciones porque el que me recupera es el que quería :-D.

    De todas formas, me reitero en el agradecimiento.

    Un saludo, Domingo.

  9. Makinolo Post author

    Me alegro de que te haya servido y que no tuvieses mas problemas “ocultos” como yo 😀

  10. Fede

    Ei pues mira yo he desmontado mi HDD de mi woxter VDR-2000 y lo queria pasar al pc la cosa es que he conseguido montar la unidad pero windows me dice q no tiene formato. Tendre que probar con pvr101 con la linea de comandos haber si se puede . Bueno como ves estoy abierto a sugerencias . un saludo

  11. Jorge

    He encontrado una referencia a ti en otro foro y he conseguido montar el disco de mi dth 8580. Cada carpeta de una grabación contiene tres archivos:

    ChapterMarkersList
    VR_MANGR
    VR_MOVIE

    El que contiene el video con sonido es el VR_Movie, con extensión VRO (Mpeg). Ahora estoy haciendo pruebas ya que desde el propio DTH no me dejaba extraer el video a un DVD, y eso que son grabaciones propias de una camara de video utilizando la entrada AV3.

    En fin que muchas gracias por tu aporte, y el enlace que dice como utilizar el PVR101disk es esta:
    http://foros.zackyfiles.com/showthread.php?t=594470

    Un Saludo. 😉

  12. tomy

    a ver si alguien me puede ayudar, tengo el dvd Thomson DTH 8653 desde hace unos 4 años, mi problema es el siguiente, resulta que el otro dia mi reloj perdio la hora, y yo pense que era porque se habia ido la luz, al poner un canal de la tdt…me di cuenta que no habia ninguno, se habian perdido todos los canales, hize un escaneo completo y me volvio a encontrar los canales incluso algunos nuevos, pero mi problema es que al cabo de unas horas…volvio a perder la memoria otra vez y la luz no se me fue, me pierde la memoria, alguien me puede decir a que se debe mi problema? no puedo programar nada porque la hora y los canales se me pierden. Gracias

  13. JOTA

    Lo que son las cosas.
    Esto es lo bueno de internet. Los trabajos bien hechos, si se comparten son la base para que otros puedan llegar a la meta.
    Me pasó un caso como el de tu amigo, pero de la marca Philips en concreto el modelo “DVDR5570H”. Lo que pasa que yo me quedé en intentar acceder a la partición a través de linux con el GPART y tampoco conseguí montar la unidad. La verdad es que perdí un par de días buscando alguna referencia en google que me permitiese avanzar, pero no fue así, y mira por donde un año después veo tu blog. Voy a retomar el trabajo con tu investigación, haber si lo logro.
    Te felicito no solo por el esfuerzo realizado sino por compartirlo con tantos detalles.
    Un saludo.

  14. auto insurance

    One thing I’d really like to say is always that car insurance cancellation is a dreaded experience so if you’re doing the proper things as being a driver you will not get one. Many people do are sent the notice that they’ve been officially dropped by the insurance company and several have to struggle to get further insurance after the cancellation. Low-priced auto insurance rates are frequently hard to get following a cancellation. Knowing the main reasons pertaining to auto insurance cancellations can help people prevent getting rid of in one of the most crucial privileges offered. Thanks for the thoughts shared via your blog.

  15. Pepe

    Hola amigo .

    Te cuento e extraido un disco .. pero lo quiero usar como un disco externo comun y corriente .. con que programa lo puedo formatear a fat32 u otros formatos ..

    no me interesa la informacion solo quiero formatear

    gracias amigo

Comments are closed.