Cheap alternative to WIFI USB Dongle for Sony Bravia

Este tutorial es simple y concreto y va directo al punto. Ofrezco una alternativa a los costosos accesorios de Sony para sus smart TV. En este caso se trata del dongle USB SONY cuyo precio puede variar desde los US$80 a US$120.

 usb-dongle

Se requieren conocimientos de Unix. Yo no voy a profundizar ningún tema ya que está dirigido al público que sabe lo que busca.

Componentes necesarios:

    1. Mini router TP-LINK TL-MR3020 – Cost: US$ 25
    2. Mini pendrive 4GB – Cost: US$ 8
    3. UTP Cable – Included with TP-LINK
    4. MINI USB Cable – Included with TP-LINK

Nota: el tutorial también fue probado en el mini router TL-WR703N. Los pasos son los mismos y lo único que varía es el firmaware para esa arquitectura.

mini-router

STEP #1 – Install OpenWRT firmware into TL-MR3020

Para este paso recomiendo usar la versión del trunk de OpenWRT (openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin). Se puede descargar desde la siguiente url http://wiki.openwrt.org/toh/tp-link/tl-mr3020#installation.

El firmware se instala desde el site de administración del firmware original de TP-LINK. Sección “System Tools” / “Firmware Upgrade”.

STEP #2 – Prepare USB flash drive

El mini router tiene una memoria muy limitada de 4MB y nosotros para poder trabajar más tranquilos la vamos a extender. El concepto de esto lo pueden encontrar acá (http://wiki.openwrt.org/doc/howto/extroot/extroot.theory) pero lo que se hace es extender el rootfs.

Lo primero que hacemos es formatear el drive a ext4 filesystem en cualquier distribución Linux. Por ejemplo Ubuntu.

~$ mkfs.ext4 <USB-device-mount-point>

Con esto dejamos listo el usb para luego utilizarlo en los próximos pasos.

STEP #3 Configure OpenWRT

Al restart del router perdemos la conexión ya que OpenWRT establece como IP inicial la 192.168.1.1. Conectamos un cable utp del router a nuestra computadora y seteamos la IP fija a 192.168.1.2 para que este visible dentro de la misma subred. Chequear con un PING si está visible.

El primer login se hace a través de telnet:

~$ telnet 192.168.1.1 

Establecer la nueva contraseña de root

root@openwrt:~$ passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
root@openwrt:~$ exit 

Ahora nos volvemos a loguear con nuestra nueva contraseña y configuramos la interfaz de red para poder tener acceso a internet desde el mini router:

~$ ssh root@192.168.1.1

Algo importante en este punto es conectar nuestro TP-MR3020 a nuestro WAN Router (wifi, switch, etc) del hogar. Entonces, si la red hogareña trabaja en la subred 192.168.1.xxx no tendríamos problemas en la conexión porque nuestro router ya trabaja en esa subred. Sin embargo debemos cambiarle la IP porque entraría en conflicto con el router wifi. Cambiamos la configuración editando /etc/config/network:

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.100'
        option netmask '255.255.255.0'
        option gateway '192.168.1.1'
        list dns '192.168.1.1'
        list dns '8.8.8.8'

Esa configuración establece la nueva ip de TP-MR3020 a la 192.168.1.100 y configura el gateway y los dns con el router wifi. Guardamos los cambios y reiniciamos el router. Pero ahora conectamos el router a un puerto LAN del WAN router.

http://wiki.openwrt.org/doc/howto/firstlogin

http://daviddarts.com/piratebox-diy-openwrt/

STEP #4 Extends rootfs

En este paso lo que hacemos es extender la capacidad del TP-MR3020 con el fash drive. Con el drive ya formateado en ext4 editamos el /etc/config/fstab (ver http://wiki.openwrt.org/doc/howto/usb.storage) que monte el drive automáticamente y extienda el rootfs (ver http://wiki.openwrt.org/doc/howto/extroot):

config mount
        option target        /mnt  # ignored if is_rootfs is 1
        option device        /dev/sda1
        option fstype        ext4
        option options       rw,sync
        option enabled       1
        option enabled_fsck  0
        option is_rootfs     1

Al reiniciar el router veremos que el directorio /overlay estará montado sobre el flash drive cuya capacidad será de 4GB. Con esto se podrán instalar todos los paquetes necesarios sin ningún problema.

STEP #5 Install LuCi

http://wiki.openwrt.org/doc/howto/luci.essentials

Instalamos el entorno web de configuración LuCI ahora que tenemos más espacio. El administrador de paquetes en OpenWRT es opkg:

root@openwrt:~$ opkg update
root@openwrt:~$ opkg install luci

Junto con LuCI se nos instala un servidor web uHTTPd. Lo que hacemos ahora es habilitarlo e iniciarlo:

root@openwrt:~$ /etc/init.d/uhttpd enable
root@openwrt:~$ /etc/init.d/uhttpd start

Si todo salió bien abrimos nuestro browser en la computadora y cargamos http://192.168.1.100 donde entraremos al login de LuCI. Las credenciales son las mismas que las del ssh.

STEP #5 Configure PSEUDO-BRIDGE

Lo que hacemos básicamente es bridging entre la wireless network y la LAN en client mode. The relayd package helps to implement a bridge-like behaviour with DHCP and Broadcast relaying comparable to the proprietary Broadcom WET mode.

Otro uso que se le puede dar es simplemente extender la red wifi:

 http://wiki.openwrt.org/doc/recipes/relayclient

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install relayd

STEP #6 Add support for DLNA

Hasta ahora hemos extendido la red de WIFI hogareña hacia otra red: la del TL-MR3020. Sin embargo, algunos protocolos como DLNA utilizan UDP multicast para descubrir los “renderers” en la red. Esta tecnica de multicast no va a funcionar entre la red WIFI y la del mini router.

Para solucionar este inconveniente vamos a instalar un proxy que permite recibir paquetes del multicast entre ambas subredes.

 http://wiki.openwrt.org/doc/howto/udp_multicast

STEP #7 Firewall settings

Para configurar las reglas de seguridad se puede hacer a través de LuCI ó bien con el comando iptables desde la command line. En mi caso hice un flush de todas las reglas porque no me interesa que la televisión tenga seguridad dentro de la red de mi casa.

Una vez instalado y configurado el router ya puede ser conectado directamente al SONY BRAVIA. Cuando el router termine el boot process, el DHCP le asignará una IP al TV y este estará disponible para utilizar en la red.

router connected

smart-tv

Advertisements

One thought on “Cheap alternative to WIFI USB Dongle for Sony Bravia

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s