Siguiendo en la linea de investigacion sobre el articulo publicado:
Investigamos la Tecnología Hibrida, o sea, colocar nuestro prototipo de Android directo sobre el STB elegido.
Otro trabajo de investigación realizado fue probar la tecnología híbrida logrando instalar un prototipo realizado por DigiTVSoft con la Tecnología Android que corra sobre un STB Hibrido con Android, como se propuso en el proyecto. A tales efectos utilizamos STB ANDROID HYBRIDO MODELO DV6801-C del fabricante chino Konka importado por Equital S.A. Esto es porque identificamos como riesgo la necesidad de definir claramente los STB a utilizar para correr los prototipos realizados. Equital S.A. el proveedor de STB más grande de Uruguay quien trabaja con todos los canales y cables del Uruguay, así como la venta y/o importación de los mismos.
POC sobre STB ANDROID HYBRIDO MODELO DV6801-C del fabricante chino Konka, Especificaciones:
Imagen de nuestro equipo de trabajo sobre la placa.
Puerto serial.
Es fácilmente visible un puerto serial en la plaqueta del equipo, indicándose en la parte de atrás de la PCB el significado de cada pin: GND, TX, RX, GND. El mismo utiliza TTL con 3.6v.
Conectando un analizador digital se determinó velocidad y detalles de la UART. Pasamos a mostrar una parte de la captura para explicar datos obtenidos:
En varios de los bytes es posible ver períodos de aproximadamente 8~9µs de duración para algunos bits, cumpliéndose también aproximadamente múltiplos al tomar la distancia entre dos bordes cualquiera de la señal (por ejemplo, 69µs para 8 bits). Simplemente midiendo el periodo se puede determinar que la frecuencia es aproximadamente 115200.
A su vez, de forma consistente se observa el bit de stop con 1 bit de duración, ocurriendo cada 10 períodos = 8 bits de datos/paridad + stop bit + start bit.
Si se intenta utilizar la señalización tradicional para las UART TTL, o sea mark=3.6v y space=0v, solo se obtiene ruido binario en lugar de solamente framing errors (debido a que el texto en ascii tiene el msb en 0, actuando como un falso stop bit junto al real stop bit actuando como start bit). Se intuye además que la polaridad se encuentra invertida debido a que la señal se encuentra en 0v entre los caracteres. Al decodificar la señal previo a una inversión, resulta evidente que no se utiliza bit de paridad; sino solamente 8 bits de datos. Más aún, se puede observar que el puerto serial se utiliza como terminal logueada automáticamente con root.
Esquema:
Diagrama para invertir los voltajes de mark & space.
Acceso remoto.
La forma más sencilla de proveer acceso remoto es mediante un servidor telnetd. Para esto se deberá primero crear un script de login:
cat >/system/bin/login.sh <<EOF
#!/system/bin/sh
echo -n «Password: »
read PASSWORD
PASSWORD=\`echo -n «x\$PASSWORD» | md5sum | cut -f1 -d’ ‘\`
[ «\${PASSWORD## *}» = fbc45a343ca2e3bc74ff24d11f4f191a ] && exec /system/bin/sh
EOF
chmod 0700 /system/bin/login.sh
El siguiente paso es habilitar el servicio. Para esto se agrega una entrada usando Android Init Language en el script de inicio /init.rc.
[ -e /system/bin/pppoe_wrapper.bin ] || \
mv /system/bin/pppoe_wrapper /system/bin/pppoe_wrapper.bin
cat >/system/bin/pppoe_wrapper <<EOF
#!/system/bin/sh
/system/xbin/telnetd -l /system/bin/login.sh
exec /system/bin/pppoe_wrapper.bin «\$@»
EOF
chmod 0755 /system/bin/pppoe_wrapper
chown root:shell pppoe_wrapper
sync
reboot
Tras reiniciar será posible conectarse mediante telnet. El password por omisión es Digisoft. En caso de desear utilizar uno diferente, deberá cambiarse el hash en login.sh por el resultado de
echo -n x’otro password’ | md5sum | cut -f1 -d’ ‘
En caso que se desee pasar algún archivo al appliance, es posible descargarlo mediante el comando wget o curl en el mismo.