Ver Mensaje Individual
Antiguo 05/05/2004, 13:20   #1
zeferino
Usuario Registrado
 
Fecha de ingreso: 30/abr/2004
Mensajes: 13
zeferino está en el buen camino
Cambio de firmware seguro en Thomson DSI22 y DSI23 By ZF

+++++++++++++++++++++++++++++++++++++++++
Cambio seguro de Firmware en thomson DSI22 y DSI23
+++++++++++++++++++++++++++++++++++++++++

Bien, pues he conseguido desactualizar por decirlo de alguna forma mis dos thomson DSI22 y DSI23, perfectamente actualizados a su versión 1.b31c, a una versión inferior concretamente la 1.b28 y de esta forma habilitar el CI y poder utilizar cualquier interfaz comun DVB.
Permitidme hacer una pequeña introducción, y seguido explicare como lo he conseguido y todo lo necesario para ejecutarlo sin peligro.

INTRODUCCION

Bien, estos decodifficadores disponen de un microprocesador de arquitectura RISC, si no recuerdo mal de la gama ST20, concretamente el STi5500 de ST semiconductors [url]http://www.st.com[/url] En fin un poquito de información nunca viene mal. Este tipo de microprocesadores necesitan de una memoria externa que contenga la pila de instrucciones que debe ejecutar el micro y a su vez disponer de una memoria que almacene los datos variables del programa, caso de los DSI22 y DSI23. Los DSI30 disponen de solo una memoria, la cual lleva incluido la pila del programa y las tablas de variables, pero tambien disponen de otro sipo de STi en este caso es el 5512, del cual desconozco sus datos ya que no dispongo de ese tipo de deco y no lo he observado.

Bien la pila del programa esta almacenada en memorias de tipo 160, donde sus referencias pueden variar según el fabricante ya que este decodificador monta tanto memorias AMD o TOSHIBA, o una de cada indistintamente. Esta memoria es original del deco y contiene el programa a ejecutar en una versión concreta y un modelo en concreto DSI22 o DSI23, que quiero decir con original, pues que contiene información relativa al decodificador aparte de la versión especifica de instrucciones para esa versión de firmware, datos como numero de placa del decodificador, numero de serie, IRDy Boxkey. Todo ello almacenado en bloques protegidos y no pudiendo ser grabados, en estos modelos, por software, si no que necesitan del metodo de reset y borrado + reset y grabado descubierto por Stupen2, (al que le estoy muy agradecido, porque me encanta este deco y ya no sabia por donde tirar).
La parte de variables esta almacenada en la memoria 800, tambien pudiendo variar entre los mismos fabricantes AMD y TOSHIBA, contiene parámetros de configuración, listas de canales almacenadas, mensajes de pantalla, etc… en definitiva todas las variables de aspecto del firmware y de configuración. Las versiones de esta memorias son diferentes en su grado de revision, es decir no son las mismas variables para una versión de firm 1.b31c que para una 1.b28, pero contrariamente a la memoria 160 si que es igual para cualquier modelo de decodificador bien sea un DSI22 o un DSI23.
El problema reside en que la memoria 800 se puede borrar y grabar a nuestro antojo, pero la 160 por tener bloques protegidos no es tan facil, pero existe una discrepancia los bloques protegidos son iguales para todas las versiones, con lo cual solo debemos de editar todos los datos necesarios originales del decodificador en el archivo a grabar. De esta forma el jkeys no graba la memoria flash pero en la verificación digamos que lo engañamos porque al leer y comparar con el archivo que estamos grabando son iguales, y continua la grabacion después de un bloque protegido, y posteriormente el deco funciona perfectamente, ya que estos bloques como dije anteriormente son iguales para todas las versiones.

Sin mas pasemos a la materia.

++++++
INDICE
++++++

1.- Materiales

2.- Preparando lo necesario

3.- Metiendonos de lleno en la grabacion

4.- Puesta en marcha


++++++++++
1.- Materiales
++++++++++

- Evidentemente un thomson DSI22 o DSI23
- Un jtag + cable para puerto paralelo pin a pin (yo utilizo el de 2 integrados y pila)
- Programa jkeys 2.9.11 beta 2 de Stupen2 (gracias otra vez) lo teneis en filescenter
- Firmware 1.b28 para decos DSI22 o DSI23 (intentare subirlo a files, gracias a Sas)
- Hexworkshop, para editar los binarios. Podeis descargarlo de su web.
- Opcionalmente, un paquete de tabaco, buena musica relajante que os guste y un para de birras, si son franciskaner mejor que mejor, jejejeje.(ojo que son de medio litro)

++++++++++++++++++++
2.- Preparando lo necesario
++++++++++++++++++++

Bueno pues manos a la obra, descargados los programas y archivos perfectamente descomprimidos nos ponemos a ello. Conectamos el jtag y tomamos las referencias de las memoria del decodificador es decir para averiguar si son THOSIBA o AMD, son los integrados que estan a la derecha de los pines donde va conectado el jtag es decir el integrado IW014 es la memoria 160 y el integrado IW012 es la 800. Apuntamos la referencia de las dos. Ejemplo:

En el caso del DSI22 no hay duda porque las dos memorias son AMD con referencias:
AM29LV160 de 2 Mb
AM29LV800 de 1Mb

En el caso del DSI23 si que pueden haber dudas, porque pueden montar memoria de AMD:
AM29LV160 de 2 Mb
AM26LV800 de 1 Mb
O de TOSHIBA:
TC58FVT160 de 2 Mb
TC58FVT800 de 1 Mb

Bien tomados estos datos abrimos el jkeys y nos detectara nuestro deco, nos vamos al apartado flash programming, nos dara el mensaje de bienvenida(jejejeje) y seleccionamos la memoria 160 correspondiente a nuestros datos obtenidos anteriormente en la parte de la izquierda, en la derecha seleccionamos arriba del todo full, y pinchamos seguidamente en read. De esta forma hacemos una salvaguarda de esta memoria a dia de hoy por si las moscas.
Cambiamos de memoria en la parte izquierda de 160 por la 800 igualmente correspondiente a los datos obtenidos antes, y operamos igual, lectura full, read y salvamos nuestra memoria.

Bien ahora abrimos Hexworkshop y abrimos el fichero DSI22_128_160.bin, si nuestro deco es un 22 o DSI23_128_160.bin si nuestro deco es un 23 que contiene el zip del firm. Abierto el archivo abrimos tambien nuestra salvaguarda de la memoria 160, y nos vamos a la direccion 1FFBEC y copiamos las 5 lineas de programa siguientes desde esa direccion, incluida esta, es decir desde 1FFBEC hasta 1FFC5C ambas inclusive, tanto para firm de DSI22 como DSI23. Ojo que al seleccionar esta cinco lineas no seleccioneis algun byte mas o de menos de otras lineas si no el programa no funcionara, boton derecho y le dais a copy, nos vamos al archivo DSI2X_128_160.bin que estemos editando y seleccionamos las mismas lineas, ojo tb en no coger ni bytes de mas ni bytes de menos si no el programa no funcionara, boton derecho y paste.

Para verificar que no se ha escrito ni mas ni menos bytes los dos programa acaban en la linea 1FFFF8 teniendo esta solo escritos los 4 primeros bytes. Bien hecho esto, salvamos el fichero con la opcion file->save nos dira si queremos hacer un backup del archivo original si decis que si, os generara un archivo con el mismo nombre pero con extensión .BAK que sera el archivo original del que hemos partido, y el archivo con el mismo nombre y extensión bin es el archivo modificado por nosotros. Si decis que no, solo modificara el archivo bin con el que estamos trabajando, eso va a vuestro gusto.

Bien pues ya lo tenemos todo listo para grabar los ficheros, ya que en la memoria 800 no hay que modificar nada.

+++++++++++++++++++++++++++++
3.-Metiendonos de lleno en la grabacion
+++++++++++++++++++++++++++++

Vale con el archivo DSI2X_128160.bin modificado por nosotros y el archivo DSI22_23_128_800.bin listos, conectamos el jtag y abrimos el Jkeys.

Nos detectara el deco, nos vamos al apartado Flash Programing y aceptamos el mensaje de bienvenida (jejejeje) y seleccionamos a la izquierda el tipo de memoria 160 que tiene nuestro deco, el que apuntamos anteriormente, y seleccionamos en la derecha full, y pinchamos en erase. En unos segundos nuestra memoria 160 estara borrada. Sin cambiar el tipo de memoria ni el modo full, pinchamos en program, checkeara que la memoria este en blanco y dara error porque los bloques protegidos no los ha borrado, pero te pregunta si quieres continuar de todos modos, le dices que si. Se abre un explorador de archivos, buscas el archivo DSI2X_120_160.bin que hemos editado anteriormente con Hexworkshop, y le das a abrir, empezara la grabacion de la memoria. Le cuesta unos tres minutos, asi que es el momento de darle un trago a la franciskaner y fumarte un pito. Si nos da error el programa, cuando esta a mas de un 90% de la grabacion es que algo no hemos editado bien con hexworkshop, repasa y compara tu edicion del archivo DSI2X_128_160.bin con la salvaguarda de la memoria 160 que hicimos al principio, en algo te has equivocado.
Cuando termine de grabar, pinchas en OK y seleccionas esta vez en la parte izquierda la memoria 800 que tiene tu deco, la que apuntamos anteriormente igual que antes. En la derecha seleccionas modo full y pinchas en erase, en unos segundos la memoria esta borrada. Sin cambiar el tipo de memoria ni el modo full, pinchamos en program, checkeara que la memoria este en blanco y esta no dara error porque no hay nada protegido, y se abirar un explorador de archivos seleccionas el archivo DSI22_23_128_800.bin y pinchamos en abrir, empezara la grabacion de la memoria a esta le cuesta sobre minuto y medio asi que solo hay tiempo para un trago y dos caladas a calaperro de un pito. Finalizada la grabacion pinchas en OK, y sales del jkeys, desconectas el jtag del puerto paralelo pero no lo desueldes por si acaso. Ya esta todo listo, vamos a probar nuestro deco.

+++++++++++++++
4.- Puesta en marcha
+++++++++++++++

Bien desconectado Jtag, le quitamos el cable de alimentación del deco de la parte trasera, esperamos unos 15-20 segundos y lo volvemos a conectar de esta forma el deco se resetea, se encendera el piloto rojo fijo, si no es asi, algo se ha hecho mal, repasa bien todos los pasos, si esta fijo esperas medio minuto un poco mas y lo arrancas, recuerda no conectarle una antena que venga del Hispasat o se te volvera a actualizar y tendras que volver a empezar desde el principio el proceso. Para verificar que nuestro deco tiene la version1.b28 cargada perfectamente, después del mensaje de error de señal pulsas menú, y entras en el menú información de sistema, y te dara la versión del firm y del loader si todo es correcto, ya lo tienes listo.

Bien para hacerlo rular con El Pollo por Astra, apagamos el deco metemos la aston 1.05 (es la que yo utilizo) y lo volvemos a encender como dije antes, esperando un poco a que se reinicialice. Una vez encendido dara error de señal de satelite, pulsas menú con el mando y entras en el menú de configuración, seleccionas parámetros por defecto y seleccionas aceptar, en unos momentos el deco se habra quedado con sus parámetros por defecto. Sin salir del mismo menú entras en Personalización y en el apartado decodificacion, cambias el parámetro de interno a interfaz comun, aceptas y sales, y sin volver a salir del menú metes el blocker con la negra yo utilizo un picblocker 16F84 con twinmask 2.1+V7 full en 0064 y 0067, después te vas al apartado Interfaz comun abajo del todo, entras con ok, y te saldra Aston como unica opcion, vuelves a pinchar Ok, te saldran tres menus Consultation, information y parameters, nos situamos encima de parameters y pulsamos OK, entramos en un submenu con varias opcion, nos situamos encima de PPV P que esta en off pulsamos OK y cambiara a ON, bajamos al siguiente parámetro PPV T que tb esta en off y pulsamos nuevamente OK, cambiara tb a ON. Salimos del menú de la aston y nos vamos a la opcion configuración de LNB, comprovamos que nuestros parámetros esten perfectamente, ya que estos son particulares de cada uno, si tiene disecq o no, si alimenta o no, si el LNB es universal o no, todo eso, y le damos a aceptar. Entramos ahora en la búsqueda de canales, seleccionamos el numero de antena para el astra, y vamos metiendo las siguientes frecuencias:

Frecuencias con Velocidad de símbolo 22000, polaridad vertical y 5/6 , búsqueda en red no (yo siempre pongo no, porque si no tengo que borrar infinidad de canales luego)

10788
10847
10876
10979
11038
11097
11156
11318
11436
11686

Frecuencias con Velocidad de símbolo 27500, polaridad vertical y ¾, búsqueda en red no( por lo mismo de antes)

11739
11778
11817

Con esto ya tenemos listo el deco, ahora a partir del 600 tenemos todos los canales que hemos sintonizado, salimos del menú y entramos en el canal 600, nos dara pantallazo esperamos unos segundos y cambiamos de canal arriba, y el jardin empieza a florecer, como una preciosa primavera.

++++++++++++++
NOTAS FINALES
++++++++++++++
Estas son mis experiencias con Thomson DSI22 y DSI23, de los cuales dispongo, de los DSI30 no dispongo asi que no puedo ni responder a preguntas concretas sobre ellos, ni indicaros si esto o lo otro, porque no los he trabajado.
Seguro que pueden haber erratas en todo el proceso, lo leere con paciencia, y os invito a que colaboreis en corregir este texto original.
Por ultimo y curandome en salud, después de ver que todo funciona y que si que es posible, deco al Hispasat y otra vez versión 1.b31c de nagra 2 y a seguir viendo lo pagado.
He epezado a estudiar los firmwares de los DSI22 y 23 concretamente el 23, invito de esta forma a cualquier persona que este interesado en el tema a colaborar en ello, dispongo del desensamblado completo y por bloques del firm 1.b28 y de algunas pesquisas descubiertas, todo ello indicado en el post abierto por Stupen2.

Sin mas esta es mi humilde experiencia.

Salu2

ZF


Edito a 5-5-2004 14:30
Ya os he subido el fichero completo del firmware a filescenter, esta en la seccion: Nagra digital - Firmwares decos PCMcias - Thomson
O este es el enlace directo:
[url]http://www.filescenter.com/descargasgratis/_NAGRAVISION%20-%20Nagra%20Digital/DECODIFICADORES%20-%20Firmwares%20Pcmcias%20Informacion/Thomson/FIRM_1b28_DSI22_DSI23.rar[/url]

Edito a 6-5-2004 11:30
Sas me ha comentado lo de la priemra frecuencia 22000, estaba escrita erroneamente a 10778, la correcta es 10788. Gracias a SAS.


Edito a 11-5-2004 0:40
Weno pues con una solucion mas simple de lo que esperabamos se le puede conectar una antena de Hispasat al deco con firm inferior a 1.b31c y que no actualice. Metodo obtenido a raiz del consejo de bacteriu.
Bien una antena directa al hispasat no es posible, eso si, si no el deco si que actualiza, pero lo que podemos hacer es conectar Astra e Hispasat sobre un disecq y enviarselo al deco, eso si hay que respetar que el Astra debera estar en el puerto A/1 del disecq y el Hispasat en el puerto B/2 del disecq, de esta forma y solo de esta forma no actualiza, y podemos sintonizar canales desde hispasat como cabo, gran via o cosas asi, porque no actualiza?
Pues es simple, el decodificador en reposo deja el conmutador en estado reposo tb que es en su posicion A, ya que para que este en posicion B debe alimentarlo y con ello el deco debe de estar en marcha, y por ello estando en reposo no existe ninguna comunicacion con hispasat y con lo cual no actualiza, y estando en marcha el deco simplemente tampoco actualiza, es decir si tuvieramos la certeza de que el decodificador no se nos iba a poner en standby nunca, podriamos incluso conectarle una antena directa de Hispsat que no actualizaria nunca, con lo cual podemos sintonizar canales en hispasat que nunca actualizara estando en marcha.
En definitiva y resumiendo, el deco solo actualiza estando en standby, si estando en standby no conecta con hispasat directamente, no hay actualizacion, solucion, disecq e hispsat en el puerto B

Salu2

ZF

Última edición por zeferino; 11/05/2004 a las 00:50.
zeferino está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE