Optimized Link State Routing protocol, an ad-hoc routing protocol, has been popular in wireless devices running on Linux operating system for quite some time. In this project we have outlined the process of preparing Android devices for ad-hoc networking, a way to overcome limitations of the OS for continuous UDP communication, ensure all devices communicate on the same wireless Wi-Fi SSID, Cell-ID, subnet and finally implement the Optimized Links State Routing (OLSR) in Android Operating System using Google Nexus 7 devices. Using the code base from ProjectSPAN, an open source project, OLSR protocol has been ported to Android Nexus 7 devices. The core application is divided into two major sections, MANET and OLSR. Mobile Ad-hoc Network portion of the code takes care of setting up the device for ad-hoc mode communication, firewall and peripheral setup while OLSR portion of the code maintains the neighbor tables, MPRs and routing. The project also describes the process by which a device is prepared to run low level custom codes in Android operating system.
The OLSR implementation has been successfully tested with three nodes test bed, demonstrating the multi-hop ad-hoc networking capabilities of this wireless routing protocol. With the aid of the Android’s graphical interface the application is able to exhibit the dynamic nature of the OLSR protocol. As nodes and neighbors in the network moves around with respect to time and relative location, OLSR protocol is able to form new neighbors and elect Multipoint Relay in real time.