Southern Park

Make "hyacinth" run on Debian NS-2.29.2


Hyacinth: An IEEE 802.11-based Multi-channel Wireless Mesh Network is a project, which mainly covers multi-interface & multi-channel wireless mesh network. I have not read the papers that author publised, but I am interested in the extension mobule of NS2. I made it work on Debian-NS2.29.2-Box. And you can download all the files needed for building it in NS2.29.2.
Download: hyacinth-Debian-ns2.29.tar
First, you need to install ns2.29.2 successfully on your Debian box. (You can find it from the architecle publised severs days ago, on my blog).
Second, extract the tar ball, hyacinth-Debian-ns2.29.tar:
>$tar xf hyacinth-Debian-ns2.29.tar
Third, do as the following intructions:
>$cp hyacinth-Debian-ns2.29/udp.cc hyacinth-Debian-ns2.29/udp.h ~/ns-2.29/apps/
>$cp hyacinth-Debian-ns2.29/tcp.cc hyacinth-Debian-ns2.29/tcp.h hyacinth-Debian-ns2.29/tcp-sink.h hyacinth-Debian-ns2.29/tcp-sink.cc ~/ns-2.29/tcp/
>$cp hyacinth-Debian-ns2.29/packet.h ~/ns-2.29/common/
>$cp hyacinth-Debian-ns2.29/ns-lib.tcl hyacinth-Debian-ns2.29/ns-mobilenode.tcl ~/ns-2.29/tcl/lib
>$cp -r hyacinth-Debian-ns2.29/manual hyacinth-Debian-ns2.29/hyacinth ~/ns-2.29/
Fourth, modify the Makefile in ~/ns-2.29:
Add "manual/manual.o manual/fixedrtable.o manual/tagtable.o \" in the OBJ_CC part.
Add "manual/*.cc manual/*.h" in the "tag:" and "TAG:" parts.
Fithth,run "make clean;make;make install". It should be noted that "make clean" and "make install" will be a must, or ns will not work well.
Sixth, now you can run "ns multich-tag.tcl".

Acknowledgement: This work is based on geajy's effort, I also get some useful advice from melody.

A NS2 problem "invalid command name "Agent/MyAgentOtcl", solved!The Alamouti Code for MIMO System

Comments

xingflying Wednesday, April 26, 2006 3:42:51 AM

Hello,

首先,非常感谢您对Hyacingh的总结!

我按照你给出的步骤决无差错地做了一遍,结果在运行"ns multich-tag.tcl"时发现数据只能传输一跳,而且大部份的数据都在发送端已经丢失。不解其意,特想您请教,谢谢!
我的email:xingsparkling@hotmail.com

swt556 Wednesday, May 24, 2006 1:43:28 AM

hello,

>>
我按照你给出的步骤决无差错地做了一遍,结果在运行"ns multich-tag.tcl"时发现数据只能传输一跳,而且大部份的数据都在发送端已经丢失。不解其意

i think the reason is that the hyacinth impl. is conflicting with the ARP impl. in NS. Particularly, the ARP mapping is only based on "dst" & "mac addr" pair. With certain configuration (channel assignment & routing), some ARP entries may be overwritten - causing some nodes couldn't send message to the neighbour, and thus, message lost!

and, i thought the original hyacinth (for ns2.1xx) will not work without modification with ns2.29, due to the list improvement implementation in the WirelessChannel? But seem you don't have to do any modification to channel.cc, so maybe I was wrong.

cheers,
sw.

kkrone Wednesday, September 13, 2006 3:34:02 PM

你好:
請問不能在win xp底下安裝嗎?

謝謝

Morena81 Monday, October 9, 2006 2:32:47 PM

Hi. I'm a student from Naples and I'm trying to install ns2 with hyacint following your instruction I found on http://www.cse.msu.edu/~wangbo1/ns2/nshowto8.html.
At the end, it compiles without any error. When I use your tests (I tried "ns twoflows-1channel.tcl"),
it ends without error, but the result isn't what I expect because executing "nam twoflows.nam" and
click on play, it shows only the four nodes and do nothing for all the time of the simulation.
Moreover when I do "ns multich-tag.tcl" for testing with hyacint
(I take the files from http://my.opera.com/HenryFD/blog/show.dml/202861 and from http://www.ecsl.cs.sunysb.edu/multichannel/)
ns2 crashes with a "Segmentation fault" error when "Searching destination 3 tag 38"...
Have you an idea of what it can happened? I'm desperate!!!!!
Can you help me???
Please please please!!! :-)
Thanks for all
Alessandra

Annous Thursday, October 12, 2006 8:59:35 AM

Hi Alessandra;

I faced the same problem.
But to make sure it's really working;
I puted some "printf" messages into "manual.cc" or in "mac-802_11.cc" when the protocol sends packets like CTS or RTS (see "int Mac802_11::check_pktCTRL()")
and it works.

Regards;
Anis.
INA Lyon;
France.

Morena81 Friday, October 20, 2006 7:31:45 PM

Hi Anis,
You have tried multich-tag.tcl of Hyacint? I have found the error with the debug but I haven't still understood like correcting it. Hyacint doesn't work(Segmentation fault). You can help me? thanks

Best Regards
Alessandra.

new_user Thursday, December 7, 2006 9:50:45 AM

hi,

how can extend ns-2.28 to support multi-channel.
with Windows XP under Cygwin.
I need this for my work in 802.11s (Mesh Networking)
thanks

axiomer Wednesday, March 21, 2007 3:49:36 AM

Hello,

After make install, it shows 'error' message like below.

for d in /usr/local/man/man1; do \
if [ ! -d $d ] ; then \
mkdir -p %d ; \
fi;\
done
/usr/bin/install -c -m 755 ns /usr/local/bin
/usr/bin/install: cannot create regular file '/usr/local/bin/ns': Permission denied
make: *** [install-ns] Error1

How can I deal with it?

Thank you in advance

E-mail: axiomerian@gmail.com



jinchuan Thursday, March 22, 2007 2:57:35 PM

Hi

I have succeeded all of the steps that hyacint requires.
I also can run multich-tag.tcl and twoflows-1channel.tcl.
However, after running the nam file , I found the packet can only
be transmmited on hoc and there is no manual routing. I can not figure out the commands "add-route-tag" and "add-next-hop"(what are the args' meaning). I tested many different agrs but the packets seems only to be transmitted one hoc. So I donnot know if you can show some muti-hoc examples to me. I would be very glad if you can help me. Thank you!

E-mail: M9415049@mail.ntust.edu.tw

JUI-CHEN Monday, April 9, 2007 10:32:42 AM

Can it work on ns-2.30 ??

carln Thursday, September 17, 2009 4:43:02 PM

Has anyone try to use hyacinth on ns2.33? Do let me know if it works and what modifications made.

carln Thursday, September 17, 2009 5:57:28 PM

Has anyone try to use hyacinth on ns2.33? Do let me know if it works and what modifications made.

nguyen dinh thangthangnd123 Wednesday, November 11, 2009 3:29:10 AM

Hi HenryFD,
I made hyacinth on Ns-2.29 and test with twoflows-2channel.tcl and run well. Now i have some nodes 0---->1---->(4)<---3<---2.There are 2 channels: 1-->2-->4 and 2--->3--->4. How to transfer a packet from 1 to 4 and 2 to 4. I tried
####################
# Add routing tag
$node_(0) add-route-tag 1 999
$node_(1) add-route-tag 4 88
$node_(2) add-route-tag 3 8
$node_(3) add-route-tag 4 99
#$ragent add-next-hop $dst $tag $hop $nic
# Add next hop
$node_(0) add-next-hop 1 999 1 2
$node_(1) add-next-hop 4 88 4 5
$node_(2) add-next-hop 3 8 3 3
$node_(3) add-next-hop 4 99 4 1
******--------------------*******
set null0 [new Agent/Null]
$ns_ attach-agent $node_(1) $null0
set cbr0 [attach-cbr-traffic $node_(0) $null0 500 0.005]

$ns_ at 0.001 "$cbr0 start"
$ns_ at 4.9 "$cbr0 stop"

set null1 [new Agent/Null]
$ns_ attach-agent $node_(3) $null1
set cbr1 [attach-cbr-traffic $node_(2) $null1 500 0.005]
$ns_ at 0.001 "$cbr1 start"
$ns_ at 4.9 "$cbr1 stop"
==> result is only packets transfer from 0 to 1, 2 to 3, packets can't reach to 4.
Please, please help me soon.
Thank you very much.

nguyen dinh thangthangnd123 Wednesday, November 11, 2009 3:32:34 AM

Originally posted by thangnd123:

Hi HenryFD,
I made hyacinth on Ns-2.29 and test with twoflows-2channel.tcl and run well. Now i have some nodes 0---->1---->(4)<---3<---2.There are 2 channels: 1-->2-->4 and 2--->3--->4. How to transfer a packet from 1 to 4 and 2 to 4. I tried
####################
# Add routing tag
$node_(0) add-route-tag 1 999
$node_(1) add-route-tag 4 88
$node_(2) add-route-tag 3 8
$node_(3) add-route-tag 4 99
#$ragent add-next-hop $dst $tag $hop $nic
# Add next hop
$node_(0) add-next-hop 1 999 1 2
$node_(1) add-next-hop 4 88 4 5
$node_(2) add-next-hop 3 8 3 3
$node_(3) add-next-hop 4 99 4 1
******--------------------*******
set null0 [new Agent/Null]
$ns_ attach-agent $node_(1) $null0
set cbr0 [attach-cbr-traffic $node_(0) $null0 500 0.005]

$ns_ at 0.001 "$cbr0 start"
$ns_ at 4.9 "$cbr0 stop"

set null1 [new Agent/Null]
$ns_ attach-agent $node_(3) $null1
set cbr1 [attach-cbr-traffic $node_(2) $null1 500 0.005]
$ns_ at 0.001 "$cbr1 start"
$ns_ at 4.9 "$cbr1 stop"
==> result is only packets transfer from 0 to 1, 2 to 3, packets can't reach to 4.
Please, please help me soon.
Thank you very much.


My email:thangnd@joomservices.com
Thanks in advance.

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.