Saturday, December 10, 2011

HowTo: Root HTC Droid Incredible || Android Phone

Follow the steps to get root access of a HTC droid incredible phone and install CyanogenMode Android OS using windows PC.

  1. Install HTC USB Drivers on your PC. Driver can be found here.
  2. Download this kit that contains adb, fastboot and other necessary scripts.
  3. Connect your phone with the PC via usb cable with USB Debugging enabled in the phone. (do not select file transfer mode for the sdcard).
  4. Download revolutionary from and collect the Beta Key.
  5. Unzip the inside the folder where adb.exe is available.
  6. Run revolutionary.exe from command line.
  7. Then follow the steps from here to install CyanogenMode.

Wednesday, June 29, 2011

Creating EPS figure in Linux

Use the following steps to create eps figure in linux. 
  1. Use openoffice to draw the figure
  2. Export the file as figure.pdf
  3. Run $pdftops -eps figure.pdf. This will create a file figure.eps
  4. Run $cat figure.eps | ps2eps > MyFigure.eps. This will fix the bounding box of the eps file.

Thursday, June 23, 2011

HowTo: Build GNU RADIO with UHD

 Platform: Ubuntu Lucid 10.04/10.10

** All the following commands (in italic) are to be run at the shell.
  • CMAKE: Check if CMAKE is installed (just try to execute command cmake). If not installed then do the following.
    2. Unzip
    3. Goto the folder by $cd ~/cmake-X.X.X
    4. Run commands $./bootstrap; make; sudo make install
  • GIT: Check if GIT is installed (just try to execute command git). If not then install it from Applications->Ubuntu Software Center
  • LibUSB: If LibUSB is not installed...
    2. Unzip
    3. Goto the folder by $cd ~/libusb-X.X.X
    4. Run commands $./configure; make; sudo make install
  • GNURADIO Pre-Requisites:
    $sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev \
    libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \ 
    libsdl1.2-dev python-wxgtk2.8 git-core guile-1.8-dev \
    libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
    python-cheetah python-lxml doxygen qt4-dev-tools \
    libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4
  • Download and Install UHD
    $git clone git://
    $cd ~/uhd/host/
    $mkdir build
    $cd build
    $cmake ../
    $make test
    $sudo make install
    $sudo ldconfig
  • Download and Install GNURADIO
    $git clone git://
    $cd ~/gnuradio
    $git branch --track next origin/next
    $git checkout next 
    $export PKG_CONFIG_PATH
    $./configure --enable-gr-uhd
    $make check
    $sudo make install
    $sudo ldconfig
  • Configure USRP Support
    $sudo addgroup usrp
    $sudo usermod -G usrp -a <YOUR_USERNAME>
    $echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
    $sudo chown root.root tmpfile
    $sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
    $sudo udevadm control --reload-rules

Thursday, June 2, 2011

USPR2 and Boost Problem

USRP2 requires boost package for installation. As of today (2nd June, 2011) USPR2 is supposed to work with Boost 1.36 or greater but it doesn't for 1.45. After trying several versions, I got it working with Boost 1.41.

Monday, May 23, 2011

NS3: Generate Statistical Result

By default, NS3 generates exactly same result when you run a simulation. If you want to collect statistical behavior by running the simulation multiple times, you need to avoid this default setting of NS3. One way to do this is using different seed for every simulation. Just add the following line before calling the run() method.

Here the current system time is used as the seed which ensures that seed will be different for every simulation and hence the simulation result.

Saturday, May 14, 2011

NS3: Apply a Patch to Source

Sometimes it is necessary to apply patch to update NS3 source. Use the following steps to apply patch.

  • Download desired patchFile
  • Open shell
  • Goto ns3 root directory (cd /...path to .../ns-3***)
  • run the command 'patch -p1 < /...path to ../patchFile'

Friday, May 13, 2011

Add Header, Footer, Page Numbers to a PDF File

There are many software that can add header/footer/pageNumber in a pdf files but many of the software need license. Here is a link to do it in linux for free!.

Wednesday, May 11, 2011

Bangla Font Problem in Firefox

Some versions of firefox web browser has problem in showing Bangla font properly. It generally occurs after an update of firefox to the next version. Please follow the following steps if you have this problem.

  • Download UTF-8 compliant bangla font (ex., Siyam Rupali) if you already don't have
  • In the firefox menu, go to option->option ->content
  • Select the tab 'Font & Color'
  • Select the Bangla font and save.

Monday, May 9, 2011

Android: UDP Receiver

For my android app, I needed a UDP receiver which can receive broadcast packets. So I tried to create a UDP socket using the following.

mySocket = new DatagramSocket(PORT, ADDRESS);

But this socket could only receive unicast packets not the broadcast ones. I had to change it as follows to make it work for broadcast.

mySocket = new DatagramSocket(PORT);

NS3: Wireless Jamming Model

The basic implementation of NS3 does not include anything for wireless jamming but wireless jamming is interesting research topic for wireless network security. Good news is Network Security Lab, University of Washington is working on a jamming model for NS3. Use the following link for more information.

Thursday, May 5, 2011

Latex: Italic Underline Problem

Some Latex compiler underlines the the italic text, more precisely the text inside \emph{your text}. If you don't want the text underlined, just add "\normalem" after the line "\begin{document}" !

Wednesday, May 4, 2011

NS3: Constant Speed Mobility

NS3 does not support constant speed mobility but it has a very good class RandomWalk2dMobilityModel which supports random speed and direction based on defined time or distance. If you need to simulation constant speed mobility, use the following steps:

  1. Open file '..../ns-3-dev/src/mobility/'
  2. In function DoStartPrivate()
    • comment the line 'double speed = m_speed.GetValue ();'
    • add a line 'double speed = your_constant_speed_value'
  3. Recompile ns-3 and you are done.