Friday 9 March 2012

Installing And Configuring AODV protocol on Ubuntu 10.04

This tutorial is for those who are interested in installing and configuring AODV protocol on Ubuntu 10.04
I will try to make this tutorial as easy as possible.
To move on I will put them down as steps that should be followed one by one in successful accomplishment of the above said task.
To begin with I will assume you have installed Ubuntu 10.04 which is completely updated.
Before moving further with the installation of AODV protocol we first need to install its dependency.
This can be easily one by going into the terminal and putting the following commands,

#sudo apt-get install build-essential

Now moving on you would need the AODV source tarball.
I have found the tarball which is compatible with our kernel module.
The link is below,


Moving on i assume you have saved the AODV source files (tarball) to the directory home/user/Downloads

Go the directory Downloads and double click on the GNU tarball and extract it in the same folder,

But before proceeding you need to make your IP static,
To do that you need to do work,
Open terminal and start putting down these command,

#sudo su  /* to gain root privileges*/

Note: Now im assuming you have root access 

#cd\  ( to go to root directory )
#cd /etc/network
#gedit interfaces

This should open a file which will be something like this,

auto lo
iface eth0 inet loopback

Do-not touch these lines, rather just below them add these lines,
Note: dont forget to check your interface and your ip before inserting these lines to interfaces file, to do this simple open terminal and run command #ifconfig , this will show your interface and your current IP.

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Which will end up as the file looking like this,

auto lo
iface eth0 inet loopback
auto eth0 
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Save the file and close it.

Now go back to the terminal and enter these commands,

#cd\
#cd /etc/init.d
#./networking restart

After this is done now go back to the folder where you extracted the GNU tarball of AODV.
Now im expecting it to be by the name of the folder - aodv-uu-0.9.6
Now open terminal and start putting these commands,

#sudo su
#cd /Downloads/aodv-uu-0.9.6
#make
#make install

Now load the kaodv module on Ubuntu, using:

#modprobe kaodv

Now its time to run the protocol, In the Terminal use these commands,

#sudo su
#aodv -i eth0 -l -r 3

-l ( is for logging the aodv activity located inside /var/log/aodvd.log )
-r ( save neighbor table after every 3 seconds inside /var/log/aodvd.log )
-i ( the desired interface on which the protocol is to run )

Thats ends my tutorial of how to configure and install and run the AODV protocol on ubuntu 10.04 LTS. I hope i have explained all the step as in detail and as easy as possible. If you are running through problems comment below and i will try to answer back your queries as early as possible, i hope it helps anybody out there !!!


10 comments:

  1. Hai naveed,
    Can you help me how to install aodv on ubuntu 15.10?

    ReplyDelete
    Replies
    1. sure y not! what is the issue r u facing?

      Delete
    2. first of all download this :

      http://old-releases.ubuntu.com/releases/10.04.4/ubuntu-10.04.4-desktop-i386.iso

      Install and then come back to me!

      Delete
  2. Dear Naveed,

    I tried on ubuntu 10.04 but when i run "make" it gives me the following error
    make -C /home/klien/aodv-uu-0.9.6/lnx KERNEL_DIR=/lib/modules/2.6.32-21-generic/build KCC=gcc XDEFS=-DDEBUG
    make[1]: Entering directory `/home/klien/aodv-uu-0.9.6/lnx’
    make[1]: Nothing to be done for `default’.
    make[1]: Leaving directory `/home/klien/aodv-uu-0.9.6/lnx’

    ReplyDelete
    Replies
    1. are your you installed the build-essentials?

      sudo apt-get update && sudo apt-get install build-essential

      Delete
    2. Yes, I did update and instaled build essential. At first, they are working before I run "make". And the next day i tried update again and it gives me error like failed to fetch http://old-release.ubuntu.com...
      I didn't know why, so I uninstall the ubuntu and reinstall again and do the same way as before. But I still can't update or install package
      Do you know why?

      Thanks

      Delete
    3. Apparently I made mistake when I did update and installed build-essential. But now I have successfully run sudo apt-get update & sudo apt-get install build-essential
      But I still have same problems when I run "make"

      Delete
  3. root@kalana:/home/kalana/aodv-uu-0.9.6# make
    gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DDEBUG -o aodvd main.o list.o debug.o timer_queue.o aodv_socket.o aodv_hello.o aodv_neighbor.o aodv_timeout.o routing_table.o seek_list.o aodv_rreq.o aodv_rrep.o aodv_rerr.o nl.o locality.o
    aodv_neighbor.o: In function `neighbor_add':
    /home/kalana/aodv-uu-0.9.6/aodv_neighbor.c:68: undefined reference to `hello_update_timeout'
    aodv_timeout.o: In function `route_discovery_timeout':
    /home/kalana/aodv-uu-0.9.6/aodv_timeout.c:98: undefined reference to `rt_table_update_timeout'
    aodv_rreq.o: In function `rreq_route_discovery':
    /home/kalana/aodv-uu-0.9.6/aodv_rreq.c:460: undefined reference to `rt_table_update_timeout'
    aodv_rreq.o: In function `rreq_local_repair':
    /home/kalana/aodv-uu-0.9.6/aodv_rreq.c:521: undefined reference to `rt_table_update_timeout'
    aodv_rrep.o: In function `rrep_forward':
    /home/kalana/aodv-uu-0.9.6/aodv_rrep.c:231: undefined reference to `rt_table_update_timeout'
    nl.o: In function `nl_kaodv_callback':
    /home/kalana/aodv-uu-0.9.6/nl.c:282: undefined reference to `rt_table_update_timeout'
    collect2: error: ld returned 1 exit status
    Makefile:112: recipe for target 'aodvd' failed
    make: *** [aodvd] Error 1


    what is this error, plz help me to overcome this problem

    ReplyDelete
  4. can i use the same method for the raspberry pi zero

    ReplyDelete
    Replies
    1. Theoritically it shud work - maybe try to use old version: wheezy or something similar?

      Delete