OpenWRT is a Linux distribution for embedded devices. It is commonly used to replace the factory firmware found on residential Internet routers. By replacing the factory firmware, users gain access to additional configuration options and are able to extend the functionality of the router by installing new software. The OpenWRT SDK was used to build Homenet3D binary packages and Homenet3d-OpenWRT firmware for the TP-Link WR-1043ND.
Homenet3D for OpenWRT v0.1 is our first new prototype of this idea. This system presents the current system state of an OpenWRT device inside a virtual world, rendered on any WebGL-enabled web browser. The actual 3D world presented in v0.1 is extremely rudimentary -- the code is intended as a platform for future experiments in browser-side 3D visualisation techniques.
Although we have built and tested Homenet3D for the WR-1043ND and QEMU ARM and MIPS emulations, OpenWRT supports many home routers and it should be possible to build Homenet3D for your platform using our build instructions.
In order to establish that the Homenet3D software was compatible with the common architectures of home routers, we made use of the QEMU operating system emulation tool. This allowed us to test easily ARM and MIPS architectures.
Try it out - ARM/MIPS
If you want to see this in action try installing QEMU version 1.6.0 or later, download the ARM(MD5) or MIPS(MD5) kernel image and use the appropriate command below to start it:
qemu-system-arm -M realview-pbx-a9 -kernel homenet3d-openwrt-arm-v0.1.elf -m 128m -nographic -redir tcp:2200::22 -redir tcp:8080::80 -redir tcp:10001::10001
qemu-system-mipsel -M malta -kernel homenet3d-openwrt-mips-v0.1.elf -m 128m -nographic -redir tcp:2200::22 -redir tcp:8080::80 -redir tcp:10001::10001
Then from a browser on your host machine go to: http://127.0.0.1:8080/w3b/w3bworld.html
Note: To exit out of the QEMU console press Ctrl-A then X. See here for more information.
Note: Due to a known issue the system information will not be properly display in the virtual world until 30 seconds after the first client connects. However, from that point onwards the system will be kept up to date.
Note: If no entities load at all, you may need to hard-refresh your browser. Windows: Ctrl-Shift-R, Mac: Cmd-Shift-R
You will notice that some entities (Wireless, DHCP Leases) have no information. This is because the QEMU virtual environment does not cater, by default, for wireless emulation and does not have a direct way to connect to the "LAN" side of the system.
Building - ARM/MIPS
The TP Link WR1043ND Router
Homent3D for OpenWRT was built and tested on the TP-Link TL-WR1043ND Gigabit Ethernet residential router. It features one WAN port, four LAN ports and support for 802.11b/g/n wireless. It is based on the Qualcomm Atheros AR9132 SoC (MIPS) running at 400Mhz. There is 8MB of flash storage and 32MB of system RAM. Homenet3D binary packages and firmware images for this router can be found in the downloads section. The OpenWRT page about the WR-1043ND can be found here.
What is Homenet3D?
Homenet3D is a tool that translates a home network and it's state into a virtual 3D world in order to make a more user-friendly, more intuitive way to interpret the state of the home network and provide a visual way to interact with it.
Fig 1. Homenet3D OpenWRT System State Information (v0.1)
Using OpenWRT's Lua-based UCI (Unified Configuration Interface) and some basic shells scripts network state is communicated internally on the router of a local UDP socket (Figure 2).
Fig 2. Homenet3D OpenWRT System State Communication Diagram (v0.1)
Fig 3. Homenet3D OpenWRT Client Communication Diagram (v0.1)
If you have a TP-Link WR-1043ND:
- The easiest way to get started is to get the firmware image and flash your router with this new image.
- If you are already running OpenWRT Barrier Breaker on your WR-1043ND, get the packages.
If you don't have a TP-Link WR-1043ND:
- Download one of the VirtualBox images and use the OpenWRT build tools to create an image for your router (everything you need to do this is included).
- If you already have an OpenWRT build environment then use the Homenet3D source code.
Documentation for v0.1
- HowTos. Guides on building/installing OpenWRT and Homenet3D. The instructions are specifically for the TP-Link WR-1034ND and QEMU ARM/MIPS but should work for other routers. Direct links to the guides for version 0.1 are available below:
- Introduction and overview of the Homenet3D for OpenWRT project [direct link]
- Installing the pre-configured firmware. [direct link]
- Setting up and running Homenet3D. [direct link]
- Building new firmware from source. [direct link]
- Building Homenet3D packages from source (if you have an existing build environment). [direct link]
- Getting the OpenWRT development environment working with our VirtualBox images. Detailed in the VM Images section below
Firmware Image for the TP-Link WR-1043ND (v0.1)
- Firmware Image (v0.1) for the TP-Link WR-1043ND. Includes everything you need to get Homenet3D running. Installation instructions can be found in the Scripts and HowTos.
Homenet3D for OpenWRT Source Files (v0.1)
Use these sources files to build Homenet3D packages for version 0.1 for your router or existing OpenWRT installation. Building the source files requires the OpenWRT build environment (see VM Image section below).
If you do not already have the build environment set up, get the VirtualBox VM image below. This is a VirtualBox appliance that can be imported to your local VirtualBox install.
The default user login details are:
- Username: homenet3d
- Password: home123
This project has been made possible in
part by a gift from The
Cisco University Research Program Fund, a corporate advised
fund of Silicon Valley Community Foundation, for a project titled
"Low cost home network monitoring using “3D virtual environments".