Servidor Infocast2 para usar el DECO SIN TENER IMAGENIO

He leido ya varias veces el tema "puedo usar el deco SIN imagenio", bueno, la respuesta es SI, pero claro está, se requiere para empezar simular el servidor infocast2 de telefónica.

Ya que veo que el tema de desencriptar la imagen parece de momento un tema poco abordable que os parecería crear un servidor de Infocast2?

Yo por mi parte sé como funciona y lo que habría que hacer. Para llevar acabo el proyecto, sería necesario gente con conocimientos en:

- Programación (Java , .Net o cualquier otro lenguaje en el que se pueda crear un servidor UDP Multicast)
- TCP/IP (udp, tcp, sniffers, redes, multicast, etc..)

Quien tenga alguno de los conocimientos que lo vaya diciendo para ir dividiendo las tareas que habría que realizar.
 
Una opinión desde la máxima ignorancia.
En el Deco ADB, con el router apagado aparece el logo de Telefónica y a continuación dice cargando imagenio. Parece que tuviera un firmware. Lo idóneo sería poder meter mano a ese firmware para darle otras funcionalidades, añadidas a las de imagenio. ¿No sería más fácil?.
 
Yo tengo el kreatel, en cualquier caso, has probado a escanear los puertos al deco?, el mio no tiene ninguno Listen... ¿cómo le metes mano?, yo sólo veo la opción de abrirlo... (como a las playstation) y chipearlo para realizar alguna modificación en él... Yo no sé electrónica a si que esa opción la descarto...
 
Mientras que la gente se va a animando, voy a ir escribiendo algo de documentación...

El proceso de Arranque del DECO en Imagenio -PRIMERA ENTREGA-
=============================================

Quizá alguien se ha preguntado alguna vez, ¿y para que vale el METADATA?
Pues digamos que es la dirección principal desde donde el DECO obtiene
qué y desde donde descargarse los archivos de arranque y posteriormente
algunos archivos de configuración. Creo que también es llamado "BOOTCAST"

El valor es: METADATA:239.000.002.010:22222 (239.0.2.10:22222)

Y si ponemos un sniffer y filtramos por esa dirección vemos "que dice"
el servidor al nuestros decos.

Vamos a empezar por los ficheros de arranque y luego veremos los de configuración:

Lo que vemos es qué ficheros y desde donde descargarlos (ip de multicast también)
para cada modelo, el formato es:

modelo_del_deco
bc_kernel_add dirección:puerto ip y puerto de descarga del Kernel
bc_kernel_name nombre_fichero nombre del fichero del kernel
bc_kernel_version version_kernel (opcional) version del kernel
bc_splash_addr direccion:puerto ip y puerto de descarga del Splash
bc_splash_name nombre_fichero nombre del fichero de splash
bc_splash_version version_splash (opcional) version del Splash

A continuación vemos los diferentes valores para los decos de imagenio:

kreatel-ip-stb-rev-15
bc_kernel_addr 239.0.2.13:22220
bc_kernel_name kreatel-ip1720
bc_kernel_version 2005.12.15.11.35.19
bc_splash_addr 239.0.2.3:22221
bc_splash_name kreatel-ip1510.spl
bc_splash_version 2005.07.01.10.00.00

tornado-hw-rev-1
bc_kernel_addr 239.0.2.1:22220
bc_kernel_name kreatel-ip700
bc_splash_addr 239.0.2.3:22221
bc_splash_name kreatel-ip700.nbi

kreatel-ip-stb-rev-2
bc_kernel_addr 239.0.2.1:22220
bc_kernel_name kreatel-ip700
bc_splash_addr 239.0.2.3:22221
bc_splash_name kreatel-ip700.nbi

kreatel-ip-stb-rev-6
bc_kernel_addr 239.0.2.5:22220
bc_kernel_name kreatel-ip1510
bc_splash_addr 239.0.2.3:22221
bc_splash_name kreatel-ip1510.spl

kreatel-ip-stb-rev-11
bc_kernel_addr 239.0.2.5:22220
bc_kernel_name kreatel-ip1510
bc_splash_addr 239.0.2.3:22221
bc_splash_name kreatel-ip1510.spl

adb-iCan3100tw-0.0
bc_kernel_addr 239.0.2.7:22220
bc_kernel_name adb-iCan3100tw
bc_kernel_version 2006.02.02.11.49.16
bc_splash_addr 239.0.2.9:22221
bc_splash_name adb-telefonica.nbi
bc_splash_version 2005.01.01.01.00.00

El deco cuando ve "su nombre" procede con la descarga del fichero
de kernel y splash y cuando finaliza la descarga comienza el
proceso de arranque.

Nuestro trabajo, consistirá en descargar todos estos ficheros
y luego en hacer unos programas (listener) que escuchen en las ip's y puertos
de multicast correspondientes para que el deco pueda bajarse el archivo
SIN tener imagenio.

--FIN DE LA PRIMERA ENTREGA--
 
Ey! un seguidor!!, jeje, bueno, continuo...

Recopilando lo que habría que hacer<SEGUNDA ENTREGA>
==============================================
- Un listener para 239.0.2.10:22222 que entrege la información de primer nivel.
- Un listener para 239.0.2.1:22220 que entregue el kernel kreatel-ip700 para los decos tornado-hw-rev-1 y kreatel-ip-stb-rev-2
- Un listener para 239.0.2.5:22220 que entregue el kernel kreatel-ip1510 para los decos kreatel-ip-stb-rev-6 y kreatel-ip-stb-rev-11
- Un listener para 239.0.2.7:22220 que entregue el kernel adb-iCan3100tw para el deco adb-iCan3100tw-0.0
- Un listener para 239.0.2.13:22220 que entrege el kernel kreatel-ip1720 para el deco kreatel-ip-stb-rev-15
- un listener para 239.0.2.3:22221 que entregue los splash: kreatel-ip700.nbi , kreatel-ip1510.spl
- Un listener para 239.0.2.9:22221 que entregue el splash: adb-telefonica.nbi

Es decir habría que hacer una clase "listener" que recibiera en su contructor la dirección IP de Multicast, el puerto de escucha y los ficheros que va a servir (vía protocolo Infocast2)

Paralelamente habría que descargar estos ficheros, pero para ello, hay que ver como funciona el protocolo Infocast2
(que veremos en la tercera entrega...)
 
Yo no dudo que se pueda usar el deco sin tener Imagenio, ahora, me pregunto si para algo más que de pisapapeles.

Que yo recuerde, necesitas tener contratado el servicio para acceder a él, si no tienes el servicio, te falta la conexión, configuración en red, con lo cual, está muy bien que se pueda simular el funcionamiento, pero no hay conexión física con esas máquinas servidoras.

Saludos.
 
A ver si la gente empieza a animarse... Podría ser un proyecto un tanto ambicioso... Por mi parte decir que tengo una ligerísima idea de java, pero que me tengo que empapar unos libracos enormes asique espero aprender más de aquí en adelante.

Ta llueu.

EDIT: Pero de momento lo que leo, está por encima de mis posibilidades :( :( :( :( :( :( :( .
 
mismamente dijo:
Yo no dudo que se pueda usar el deco sin tener Imagenio, ahora, me pregunto si para algo más que de pisapapeles.

Que yo recuerde, necesitas tener contratado el servicio para acceder a él, si no tienes el servicio, te falta la conexión, configuración en red, con lo cual, está muy bien que se pueda simular el funcionamiento, pero no hay conexión física con esas máquinas servidoras.

Saludos.

Bueno, puede servir como Mediacenter, si haces los servidores infocast/bootcast para el aranque del deco y luego la web con el servidor de páginas y luego el servidor de streaming. No necesitas las máquinas servidoras de telefonica, ya que tu máquina la conviertes en las máquinas servidoras.

Lo cierto es que parece grande y complicado, pero no lo es tanto, Yo casi ya tengo hecho todo lo referente a infocast/bootcast (lo he hecho en ANSI C para cygwin), la web es muy fácil ya que puedes "copiar" la de imagenio(la que yo he hecho está en ASP y html), y el servidor de streaming se puede hacer con VLC y un pequeño server en C para el protocolo RTSP (esto todabía no lo he empezado).
 
El protocolo Infocast2 <Tercera entrega>
========================================

Dado que es un protocolo porpiertario de Kreatel como vemos en http://www.kreatel.com/downloads/KreatelTVsoftware.pdf (Configuration over patented Infocast™ (multicast)), sólo podemos hacer suposiciones de lo que contiene en cada campo observando muchos paquetes,

y especialmente los primeros y los últimos paquetes de cada bloque.

Recordemos que todos los listener (es decir, la clase listener) ha de implementar el protocolo para el envío de los ficheros.

Seguramente no podremos saber a ciencia cierta que significan todos y cada uno de los valores, pero si podemos copiarlo, ya que es relativamente sencilla su "clonación".

Tras analizar unos cuantos paquetes parece que el protocolo parece que contiene lo siguiente:
// Bytes 0, 1 (2 bytes) Tipo fichero?
// Bytes 2, 3 (2 bytes) Subtipo?
// Bytes 4,5,6 y 7 (4 bytes) NºPaquete actual
// Bytes 8,9,10 y 11 (4 bytes) Máximo Nº de paquetes
// Bytes 12 a 43 (32 bytes) Nombre del fichero
// Bytes 44 a final (Final-44) Trozo del fichero

El tamaño total dependerá del MTU (Max Transfer Unit de nuestro Sistema Operativo)
http://support.microsoft.com/?scid=kb;e ... 071&sid=22
En Windows para Ethernet el MTU por defecto es de 1500, ya que 1500 sería el paquete UDP COMPLETO
(Mac de origen, Mac Destino, IP origen, IP destino, Secuencia, flags, etc)
El tamaño real del paquete sería de: 1442Bytes (los otros 8 Bytes son para esa cabecera UDP)

De lo que se deduce que: El tamaño del Trozo de fichero cada vez es de 1398 Bytes: 2+2+4+4+32+1398=1442

(Esto será necesario para dimensionar el tamaño de la estructura cuando recibamos los paquetes y para que cuando desarrollemos el servidor infocast enviarlos del tamaño correcto)

El protocolo parece que sirve para el envío de ficheros, estos ficheros pueden "caber" en un sólo envío si son menores de 1398 Bytes o quizá sea necesario trocearlo en varias partes, esto se prevee como vemos en la cabecera anterior.

El la siguiente entrega veremos QUE FICHEROS se reciben por el canal de infocast principal (239.0.2.10:22222). Haciendo una divisón por Tipo y Subtipo para ver todos los ficheros de configuación que recibimos.
 
Entonces lo que se pretende es simular tus propios servidores de video? pues nada, ánimo, que no os queda nada...
 
LOS FICHEROS PRINCIPALES <Cuarta Entrega>
==================================

Estos son los ficheros que recibimos del 239.0.2.10:22222
$ cat todos.txt |sort|uniq
T:0000|S:4000|Nom:adb-iCan3100tw-0.0|0/1|MxPrt:0|Fltn:0|
T:0000|S:4000|Nom:kreatel-ip-stb-rev-15|0/1|MxPrt:0|Fltn:0|

T:0001|S:0002|Nom:config.defaultfontsize|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.homepageurl|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.keyboardlayout|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.onscreenkeyboardmode|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.onscreenkeyboardtoggle|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.onscreenkeyboard|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.portalarea.height|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.portalarea.width|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.portalshowwebcontent|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.portalurls|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.proxylist|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.timezone|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:config.uilanguage|0/1|MxPrt:0|Fltn:0|
T:0001|S:0002|Nom:infocast2.conf|0/1|MxPrt:0|Fltn:0|

T:0001|S:4000|Nom:cfg.browser._editionmode|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.browser.home.internet|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.browser.home.portal|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.browser.portalurls|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.browser.proxylist|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.locale.keyboard|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.locale.timezone|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cfg.locale.ui|0/1|MxPrt:0|Fltn:0|
T:0001|S:4000|Nom:cmd.store.permanent.1|0/1|MxPrt:0|Fltn:0|

T:0002|S:0001|Nom:adb-iCan3100tw-0.0|0/1|MxPrt:0|Fltn:0|
T:0002|S:0001|Nom:kr
T:0002|S:0001|Nom:kreatel-ip-stb-rev-11|0/1|MxPrt:0|Fltn:0|
T:0002|S:0001|Nom:kreatel-ip-stb-rev-2|0/1|MxPrt:0|Fltn:0|
T:0002|S:0001|Nom:kreatel-ip-stb-rev-6|0/1|MxPrt:0|Fltn:0|
T:0002|S:0001|Nom:tornado-hw-rev-1|0/1|MxPrt:0|Fltn:0|
T:0002|S:4000|Nom:kreatel-ip-stb-rev-15|0/1|MxPrt:0|Fltn:0|

T:0007|S:0001|Nom:sysconf.utctime|0/1|MxPrt:0|Fltn:0|

$ cat todos.txt |sort|uniq|wc -l
33

Osea hay 33 ficheros diferentes enviándose por 239.0.2.10:22222 y todos ellos de un sólo bloque.

Yo ya he hecho un programa para descargarlos (tanto los de 1 bloque como los mayores de 1 bloque -kernels y splash screens-). Si alguien está interesado en el programa que me lo pida.
 
pues si puede servir

buenas, yo tambien he estado intentando que el deco sin imagenio sea un media center unicamente para poder enviar peliculas desde el pc y verlas directamente en la television. Lo unico que puedo aportar al trabajar en telefonica es que ahora cuando instalamos imagenio realizamos alguna prueba mas que antes y una de ellas es la emision de un anuncio desde el pc al deco en red sin tener el cable de linea telefonica conectada y funciona. El problema es que hay que poner el canal 1 al deco y luego emitir el archivo a traves del vlc. En casa al no tener imagenio no puedo poner el canal 1 por lo que no puedo hacer que funcione. Espero haber ayudado y a ver si conseguimos este reto. Saludos
 
Lo del reenvio con el VLC sólo se puede hacer cuando ya ha arrancado el DECO y lo pones a escuchar en una ip de multicast (239.0.0.1:8208 si pones el canal 1). Voy a tratar de explicar el porqué... el sistema operativo del deco lo descarga cada vez que hace un arranque completo, voy a explicar el arranque completo...

Detalle del arranque del deco<Quinta entrega>
===============================

-(O)-( )-( )-( )-( )- (Primera luz)
Comprueba conectividad al puerto Ethernet

-( )-(O)-( )-( )-( )- (Segunda Luz - Fase1)
Se conecta a 239.0.2.10:22222 y espera a ver un fichero de tipo
0201 con "su nombre" (en mi caso "kreatel-ip-stb-rev-11")
para obtener los ficheros que tiene que descargarse.
(Empieza a parpadear al descargar los datos)

bc_kernel_addr 239.0.2.5:22220.
bc_kernel_name kreatel-ip1510.
bc_splash_addr 239.0.2.3:22221.
bc_splash_name kreatel-ip1510.spl


-( )-(O)-( )-( )-( )- (Segunda Luz - Fase2)
Se conecta al servidor que contenga la splash screen y se la baja
en mi caso de 239.0.2.3:22221 se baja kreatel-ip1510.spl
(parpadea durante la descarga de datos)

Pone la spash screen de fondo (Azul con el logo de telefonica) y
continúa con la descarga...

-( )-(O)-( )-( )-( )- (Segunda Luz - Fase3)
Se conecta con el servidor que tiene el Kernel y se lo baja
en mi caso desde 239.0.2.5:22220 se baja bc_kernel_name kreatel-ip1510.
(parpadea durante la descarga de datos)

-( )-( )-(O)-( )-( )- (Tercera Luz Luz)
Una vez descargado el Kernel, arranca el S.O (arranque del deco)
(no parpadea) Cuando finaliza da "un pantallazo negro" y vuelve a la misma pantalla

-( )-( )-( )-(O)-( )- (Cuarta Luz Luz)
Descarga los ficheros de configuración de 239.0.2.10:22222

-( )-( )-( )-( )-(O)- (Quinta Luz Luz)
Arranca X-Windows, y los navegadores (Uno para la web de imagenio y otro para cuando el usuario navega). Solicita la MAC del servidor de DNS haciendo una petición ARP. Tras la respuesta, pide al DNS por www.svc.imagenio.telefonica.net

[En navegador de imagenio carga la página http://www.svc.imagenio.telefonica.net:2001/]
 
juju6666666 dijo:
Lo del reenvio con el VLC sólo se puede hacer cuando ya ha arrancado el DECO y lo pones a escuchar en una ip de multicast (239.0.0.1:8208 si pones el canal 1). Voy a tratar de explicar el porqué... el sistema operativo del deco lo descarga cada vez que hace un arranque completo, voy a explicar el arranque completo...

Detalle del arranque del deco<Quinta entrega>
===============================

-(O)-( )-( )-( )-( )- (Primera luz)
Comprueba conectividad al puerto Ethernet

-( )-(O)-( )-( )-( )- (Segunda Luz - Fase1)
Se conecta a 239.0.2.10:22222 y espera a ver un fichero de tipo
0201 con "su nombre" (en mi caso "kreatel-ip-stb-rev-11")
para obtener los ficheros que tiene que descargarse.
(Empieza a parpadear al descargar los datos)

bc_kernel_addr 239.0.2.5:22220.
bc_kernel_name kreatel-ip1510.
bc_splash_addr 239.0.2.3:22221.
bc_splash_name kreatel-ip1510.spl


-( )-(O)-( )-( )-( )- (Segunda Luz - Fase2)
Se conecta al servidor que contenga la splash screen y se la baja
en mi caso de 239.0.2.3:22221 se baja kreatel-ip1510.spl
(parpadea durante la descarga de datos)

Pone la spash screen de fondo (Azul con el logo de telefonica) y
continúa con la descarga...

-( )-(O)-( )-( )-( )- (Segunda Luz - Fase3)
Se conecta con el servidor que tiene el Kernel y se lo baja
en mi caso desde 239.0.2.5:22220 se baja bc_kernel_name kreatel-ip1510.
(parpadea durante la descarga de datos)

-( )-( )-(O)-( )-( )- (Tercera Luz Luz)
Una vez descargado el Kernel, arranca el S.O (arranque del deco)
(no parpadea) Cuando finaliza da "un pantallazo negro" y vuelve a la misma pantalla

-( )-( )-( )-(O)-( )- (Cuarta Luz Luz)
Descarga los ficheros de configuración de 239.0.2.10:22222

-( )-( )-( )-( )-(O)- (Quinta Luz Luz)
Arranca X-Windows, y los navegadores (Uno para la web de imagenio y otro para cuando el usuario navega). Solicita la MAC del servidor de DNS haciendo una petición ARP. Tras la respuesta, pide al DNS por www.svc.imagenio.telefonica.net

[En navegador de imagenio carga la página http://www.svc.imagenio.telefonica.net:2001/]

Magnifica explicación! :p bravo juju, sigue así.
 
ok, entendido. Era lo unico que podia aportar ahora solo puedo apoyarte en tu proyecto y a ver si eres capaz de conseguirlo seguramente mucha gente como yo andamos detras, saludos y suerte
 
muchas gracias juju6666666 por esa explicacion de arranque aver si lo consiges y nos comentas.

saludos

GaLa
 
Bueno, en realidad ya lo he conseguido, es decir, soy capaz de enviar lo mismo que envía telefonica al deco y hacerlo arrancar completamente con mi PC. haciendole cargar ademas mi propia web, sin necesidad de que el router ADSL esté conectado a internet. Ahora estoy viendo el formato del kernel y modificándolo para que tenga funcionalidades diferentes....
 
eres un crack

joder tio es el puto amo, estas diciendo entonces que lo puedes arrancar y poder enviarle a traves del vlc una pelicula en formato mpeg y verla en el deco?
 
Arriba