A homepage subtitle here And an awesome description here!

20 September 2012

Tracegraph - a graphing software to plot the trace files from NS2

Tracegraph is a third-party software that helps in plotting the graphs for NS2 and other networking simulation software. But the sad point is the software is not maintained by anyone and the happiest point is the software works fine still and it is free. 

You may download the tracegraph software from these locations.

For Windows: https://dl.dropbox.com/u/24623828/tracegraph202.rar

For Linux : https://drive.google.com/file/d/0B4nUSbTYSK4TSjNockFKbmRxdnM/view?usp=sharing&resourcekey=0-5rI_aWvptwWDvB01V6-ZDw 

https://dl.dropbox.com/u/24623828/mglinstaller.gz

There are actually two files one with the matlab runtime library file and other is the original software tracegraph.

Tracegraph when opened, it opens 3 windows, 

  • one window to select the trace file (.tr) that was created by NS2 (depending on the size of the trace file , the processing time also varies)
  • The second window is the main window in which you can see the graphs for various performance characteristics like throughput, End to End Delay, jitter, etc in 2D and 3D facility. Even it can plot the histograms too.
  • The third window is nothing but the Simulation Information Windows, where you can see the packet loss, packet delivery, end-to-end delay for the total network, information about the intermediate nodes, source and destination nodes.

    Tracegraph exists for Windows as well as Linux, you can download both versions at these locations

    For windows Installation: http://www.nsnam.com/2011/08/tracegraph-installation-in-windows-7.html

    For Linux Installation: http://www.nsnam.com/2011/08/tracegraph-installation-in-fedora-12.html

    the following is the snapshot for Windows installation: Copy the PATH as done in the pic and paste it in the environmental variables

     

     


    09 September 2012

    proc directory in Linux

    If by any chance, if you want to know about the processor, memory, IO Memory, Ports, etc about the system/CPU. Then you can look into the folder /proc in Linux. There are various files that tells you the information about the CPU.
    Some Examples
    if you want to know about the CPU Information, go to the terminal and try this
    # cat /proc/cpuinfo
    For memory information
    # cat /proc/meminfo
    For IO Memory information
    # cat /proc/iomem
    if you want to see how long the system is up can be seen using the file uptime
    # cat /proc/uptime
    (The above will list two numbers, one being the uptime of the system and other being uptime for all the cores of the processor)
    and other information like scheduling, filesystems, etc can be seen from the /proc folder

    31 July 2012

    How to install C++ and other libraries in Ubuntu

    For any software development work in ubuntu, some software packages are needed. For example C/C++ will be needed by almost all the developmental work

    how to install the required libraries and needed softwares for development, here are the steps 

    You create a password for the super user

    sudo passwd

    Give the password of the default user and then give the root password twice.

    Once you install Ubuntu (any distro), just update the softwares by the following command:

    sudo apt-get update

    sudo apt-get install build-essential libxmu-dev 

    (the above line will install softwares of size nearly 56MB)

    This will install latest G++ compiler along with other developmental libraries.


    09 July 2012

    Installing NS-2.35 in Fedora 17

    1. Download NS2.35 from this link. http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download
    2. Copy the file to /home/yourhome (in my case it is, /home/pradeep/)
    3. Untar it using “tar zxvf ns-allione-2.35.tar.gz” (without quotes)
    4. “cd ns-allione-2.35/” (without quotes)
    5. “./install” (see the dot in the beginning)
    6. During the installation there may be a error in linkstate/ls.h, the location of ls.h is  “/home/pradeep/ns-allinone-2.35/ns-2.35/linkstate/ls.h”
    7. Open the file using gedit “gedit /home/pradeep/ns-allinone-2.35/ns-2.35/linkstate/ls.h”
    8. in line number 127, there will be a erase function, change it to this->erase and go to step 5.
    9. Once installation over, set the PATH and that’s it.

    29 June 2012

    Dropped your iPod/Phone in Water–How to fix it?

    How to dry your phone or iPod that is been dropped in water or washbasin. Here are the quick step you can follow to make your phone dry.

    Before going to the service center, you can try this out as a remedial measure. Sometimes it works perfectly. (you need not even go to the service center for servicing the phone)

    Step 1: Once the Phone/iPod/iPhone is dropped in water, try to get it back as soon as possible.

    Step 2: Automatically your phone would have been switched off. Else switch it off immediately as the water should not flow inside the circuit board. (Don’t try to charge your phone also, as it may completely damage the phone)

    Step 3:  Take a small bowl with rice and keep your phone/iPod inside the bowl containing rice. Rice has the property of absorbing the moisture (no matter how deep the moisture inside the phones). Keep the phone atleast for one full day.

    Step 4: After a day, you may switch on the phone and see what happens. The success rate for the phone to work perfectly is 70%. If still the problem persists like your phone/iPod is not switching on, keep it for one more day and  try it. Even after that if it is not working, you may visit the service center for repair.

    Two weeks back, I dropped my iPod in a wash basin and the iPod was inside the wash basin for more than an hour. But within 24 hours of rice massage, my iPod is working perfectly fine.


    07 June 2012

    Installing ns-2.29 in Ubuntu 12.04

    Off late, we try to use(install) a old software in a new Operating System for want of backward compatibility or to survey.  This following post shows you how to install ns-2.29 in Ubuntu 12.04.

    Unlike other ns2 installations, this installation has so many errors, warnings and patchings. Once everything is overcome, ns installs successfully

    Step 1: Download and untar ns-2.29 from this link (http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.29/ns-allinone-2.29.3.tar.gz/download)

    Step 2: install the necessary dependancy packages using the command "sudo apt-get install build-essential libxmu-dev autoconf automake" (without quotes). This will install the necessary developmental packages

    Step 3: Since ns-2.29 is older software, some of the pointer conversion have to be changed inside ns-2.29

    Step 4: go to terminal, point to the location of ns-allinone-2.29 using the command "cd ~/ns-allinone-2.29/" and type "./install"

    Step 5: there may be the following errors during the installation, please correct one by one

    1. OTcl-1.11 error make failed.

    for this error, open the file under the folder otcl-1.11/configure.in and go to line number  

    Change the following block to 

     Linux*)

            SHLIB_CFLAGS="-fpic"

            SHLIB_LD="ld -shared"

            SHLIB_SUFFIX=".so"

            DL_LIBS="-ldl"

            SHLD_FLAGS=""

            ;;

    Linux*)
            SHLIB_CFLAGS="-fpic"
            SHLIB_LD="gcc -shared"
            SHLIB_SUFFIX=".so"
            DL_LIBS="-ldl"
            SHLD_FLAGS=""
            ;;
    2. tclcl-1.17 error, in line number 566 of Tcl.cc file (~tclcl-1.17/Tcl.cc) (See the upper case Tcl.cc)
    change the following to 
    char *p = strchr(localName, '(');
    this following line
    char *p =const_cast<char*>( strchr(localName, '('));
    3. there will be so many errors in the queue/ folder (~ns-allinone-2.29/ns-2.29/queue/), there may be some pointer conversion errors
    Error 1:
    ------
    queue/red.cc:877:41: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/red.o] Error 1
    In queue/red.cc at 874 line
    Change the following to
     
    if (((p = strstr(v->name(), "ave")) == NULL) &&
       ((p = strstr(v->name(), "prob")) == NULL) &&
       ((p = strstr(v->name(), "curq")) == NULL) &&
       ((p = strstr(v->name(), "cur_max_p"))==NULL) ) {
    this 
    if (((p = const_cast<char*>(strstr(v->name(), "ave"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "prob"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "cur_max_p")))==NULL) ) {

    Error 2:
    queue/rio.cc:568:36: error: invalid conversion from ‘const char*’ to ‘char*’
    queue/rio.cc:569:39: error: invalid conversion from ‘const char*’ to ‘char*’
    queue/rio.cc:570:40: error: invalid conversion from ‘const char*’ to ‘char*’
    queue/rio.cc:571:36: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/rio.o] Error 1
     

    in queue/rio.cc and in line number 565 
     find the following lines
    if (((p = strstr(v->name(), "ave")) == NULL) &&
       ((p = strstr(v->name(), "in_ave")) == NULL) &&
       ((p = strstr(v->name(), "out_ave")) == NULL) &&
       ((p = strstr(v->name(), "prob")) == NULL) &&
       ((p = strstr(v->name(), "in_prob")) == NULL) &&
       ((p = strstr(v->name(), "out_prob")) == NULL) &&
       ((p = strstr(v->name(), "curq")) == NULL)) {

    and replace these lines
    if (((p = const_cast<char*>(strstr(v->name(), "ave"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "in_ave"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "out_ave"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "prob"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "in_prob"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "out_prob"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL)) {
    Error 3: 
    queue/pi.cc:316:36: error: invalid conversion from ‘const char*’ to ‘char*’
    queue/pi.cc:317:36: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/pi.o] Error 1



    in queue/pi.cc at line number 316
    Find these lines and 
    if (((p = strstr(v->name(), "prob")) == NULL) &&
        ((p = strstr(v->name(), "curq")) == NULL)) {
    replace with these lines

     if (((p = const_cast<char*>(strstr(v->name(), "prob"))) == NULL) &&
            ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL)) {

    Error 4:
     
    queue/vq.cc: In member function ‘virtual void Vq::trace(TracedVar*)’:
    queue/vq.cc:333:35: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/vq.o] Error 1
    Find the following line and
    if ((p = strstr(v->name(), "curq")) == NULL) {
    replace this line
    if ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL) {

     
    Error 5
    queue/rem.cc:337:36: error: invalid conversion from ‘const char*’ to ‘char*’
    queue/rem.cc:338:36: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/rem.o] Error 1

    In queue/rem.cc: in line number 336
    Find the following lines and 
    if (((p = strstr(v->name(), "ave")) == NULL) &&
        ((p = strstr(v->name(), "prob")) == NULL) &&
        ((p = strstr(v->name(), "curq")) == NULL)) {

    replace these lines
    if (((p =const_cast<char*>(strstr(v->name(), "ave"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "prob"))) == NULL) &&
           ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL)) {


    Error 6: 
    queue/gk.cc:207:35: error: invalid conversion from ‘const char*’ to ‘char*’
    make: *** [queue/gk.o] Error 1

    In queue/gk.cc in line number 207
    find the following line and 
    if ((p = strstr(v->name(), "curq")) == NULL) {
     replace this line
    if ((p = const_cast<char*>(strstr(v->name(), "curq"))) == NULL) {
    Step 6: Once the errors are corrected, go back to ns-allinone-2.29 and press ./install and see whether the installation is successful
    Step 7: Set the PATH information in /home/pradeep/.bashrc and  execute "source .bashrc"
    Check whether ns and nam are working (for me nam was not working, Since mine is ubuntu I installed NAM separately using "sudo apt-get install nam"
    Thats all!!!!.

    17 May 2012

    Network Simulator 2 installation in Fedora 17 (Beta)

    Hope you would have tried installing NS2 in Fedora 16. Now here is a new post that you can install ns2.35 in Fedora 17 beta.

    1. Install Fedora 17 beta from a DVD and install all the softwares that are coming along with the DVD (Except the Languages). There will be a "Customize now" option will be there during the installation of Fedora, check that and install all the required softwares.
    2. Download NS-23.5 from http://www.isi.edu/nsnam/ns/
    3. Untar the downloaded ns-allinone-xxx.tar.gz file using the command “tar zxvf ns-allinone-2.35.tar.gz”
    4. execute the commands one by one as given below

    cd ns-allinone-2.35

    ./install

    (you may get an error called ~ns-2.35/linkstate/ls.h error in line number 137, 

    change the following line to 

                                void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

    to this line

                                void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

    and again give

    ./install

    (You get the PATH information if the installation was successful, upon succeeding set the PATH in the relevant file .bash_profile)

    Type ns and see a  % symbol indicates that the installation of ns2 is successful and also try the command  nam so that a network animator will be opened.

    For any doubts, please raise a comment in the following column. I am there to help you. 

     


    Powered by Blogger.

    About Me

    Featured Post

    5G Network Simulation in NS3 using mmWave | NS3 Tutorial 2024

    5G Network Simulation in NS3 Using mmWave This post shows the installation of ns3mmwave in Ubuntu 24.04 and simulates 5G networks in ns3. In...

    Contact form

    Name

    Email *

    Message *

    Total Pageviews

    Search This Blog

    Pages

    Pages

    Pages - Menu

    Most Popular

    Popular Posts