6LoWPAN-installation

Version 2 (6lowpan group from 18-748 -, 05/06/2010 07:47 pm)

1 1 6lowpan group from 18-748 -
= Nano-RK 6LoWPAN Installation =
2 1 6lowpan group from 18-748 -
'''STEP 1: Install Linux'''
3 1 6lowpan group from 18-748 -
4 1 6lowpan group from 18-748 -
Install a Linux kernel >= 2.6.32.  The 6LoWPAN network driver has only been tested on 2.6.32 and
5 1 6lowpan group from 18-748 -
will not compile on previous versions.
6 1 6lowpan group from 18-748 -
7 1 6lowpan group from 18-748 -
'''STEP 2: Obtain an IPv6 Address'''
8 1 6lowpan group from 18-748 -
9 1 6lowpan group from 18-748 -
For 6LoWPAN to work you need to have an IPv6 address.  Unfortunately, most ISPs only provide
10 1 6lowpan group from 18-748 -
IPv4 connectivity.  If this is the case you can obtain an IPv6 address by using the Freenet6
11 1 6lowpan group from 18-748 -
tunnelling service.  You can find more info here: [http://gogonet.gogo6.com/page/freenet6-services].
12 1 6lowpan group from 18-748 -
You will need to register so that their service can give you an IPv6 address.
13 1 6lowpan group from 18-748 -
14 1 6lowpan group from 18-748 -
'''STEP 3: Obtain an IPv6 Network prefix'''
15 1 6lowpan group from 18-748 -
16 1 6lowpan group from 18-748 -
Because we will be distributing IPv6 addresses to each node you will also need to acquire a
17 1 6lowpan group from 18-748 -
network prefix.  Luckily, freenet6 also offers a service where you can get a full IPv6
18 1 6lowpan group from 18-748 -
network prefix.
19 1 6lowpan group from 18-748 -
20 1 6lowpan group from 18-748 -
'''STEP 4: Setup Edge Router Network Device Driver'''
21 1 6lowpan group from 18-748 -
22 1 6lowpan group from 18-748 -
go to the driver directory...
23 1 6lowpan group from 18-748 -
24 1 6lowpan group from 18-748 -
{{{
25 1 6lowpan group from 18-748 -
cd edge/driver/kernel-2.6.32
26 1 6lowpan group from 18-748 -
}}}
27 1 6lowpan group from 18-748 -
28 1 6lowpan group from 18-748 -
and compile the driver...
29 1 6lowpan group from 18-748 -
30 1 6lowpan group from 18-748 -
{{{
31 1 6lowpan group from 18-748 -
make
32 1 6lowpan group from 18-748 -
}}}
33 1 6lowpan group from 18-748 -
34 1 6lowpan group from 18-748 -
now start up the 6LoWPAN module...
35 1 6lowpan group from 18-748 -
36 1 6lowpan group from 18-748 -
{{{
37 1 6lowpan group from 18-748 -
sudo insmod sixlowpan.ko
38 1 6lowpan group from 18-748 -
}}}
39 1 6lowpan group from 18-748 -
40 1 6lowpan group from 18-748 -
{{{
41 1 6lowpan group from 18-748 -
sudo ifconfig 6lowpan0 up
42 1 6lowpan group from 18-748 -
}}}
43 1 6lowpan group from 18-748 -
44 1 6lowpan group from 18-748 -
Running "ifconfig" should now display "6lowpan0" as a network interface:
45 1 6lowpan group from 18-748 -
46 1 6lowpan group from 18-748 -
{{{
47 1 6lowpan group from 18-748 -
$ifconfig
48 2 6lowpan group from 18-748 -
6lowpan0  Link encap:Ethernet  HWaddr 92:9d:0b:44:66:c2
49 2 6lowpan group from 18-748 -
          inet6 addr: fe80::909d:bff:fe44:66c2/64 Scope:Link
50 2 6lowpan group from 18-748 -
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
51 2 6lowpan group from 18-748 -
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
52 2 6lowpan group from 18-748 -
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
53 2 6lowpan group from 18-748 -
          collisions:0 txqueuelen:0
54 2 6lowpan group from 18-748 -
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
55 1 6lowpan group from 18-748 -
}}}
56 1 6lowpan group from 18-748 -
57 1 6lowpan group from 18-748 -
Now start up gw6c...
58 1 6lowpan group from 18-748 -
59 1 6lowpan group from 18-748 -
{{{
60 1 6lowpan group from 18-748 -
sudo /etc/init.d/gw6c start
61 1 6lowpan group from 18-748 -
}}}
62 1 6lowpan group from 18-748 -
63 1 6lowpan group from 18-748 -
Running "ifconfig" again should now display the IPv6 prefix associated with 6lowpan0
64 1 6lowpan group from 18-748 -
65 2 6lowpan group from 18-748 -
{{{
66 2 6lowpan group from 18-748 -
$ifconfig
67 2 6lowpan group from 18-748 -
6lowpan0  Link encap:Ethernet  HWaddr 16:38:96:c7:4f:48  
68 2 6lowpan group from 18-748 -
          inet6 addr: 2001:5c0:1107:9b00::1/64 Scope:Global
69 2 6lowpan group from 18-748 -
          inet6 addr: fe80::1438:96ff:fec7:4f48/64 Scope:Link
70 2 6lowpan group from 18-748 -
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
71 2 6lowpan group from 18-748 -
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
72 2 6lowpan group from 18-748 -
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
73 2 6lowpan group from 18-748 -
          collisions:0 txqueuelen:0 
74 2 6lowpan group from 18-748 -
          RX bytes:0 (0.0 B)  TX bytes:298 (298.0 B)
75 2 6lowpan group from 18-748 -
76 2 6lowpan group from 18-748 -
}}}
77 2 6lowpan group from 18-748 -
78 1 6lowpan group from 18-748 -
'''STEP 5: Setup the Edge Router Radio Node'''
79 1 6lowpan group from 18-748 -
80 1 6lowpan group from 18-748 -
We now need to configure the radio node to be used by the edge router so that it may communicate
81 1 6lowpan group from 18-748 -
with the firefly network.
82 1 6lowpan group from 18-748 -
83 1 6lowpan group from 18-748 -
First go to the radio node directory...
84 1 6lowpan group from 18-748 -
85 1 6lowpan group from 18-748 -
{{{
86 1 6lowpan group from 18-748 -
cd edge/node
87 1 6lowpan group from 18-748 -
}}}
88 1 6lowpan group from 18-748 -
89 1 6lowpan group from 18-748 -
Compile and program a node...
90 1 6lowpan group from 18-748 -
91 1 6lowpan group from 18-748 -
{{{
92 2 6lowpan group from 18-748 -
make && make program
93 1 6lowpan group from 18-748 -
}}}
94 1 6lowpan group from 18-748 -
95 1 6lowpan group from 18-748 -
'''STEP 6: Setup the Edge Router User Level Process'''
96 1 6lowpan group from 18-748 -
97 1 6lowpan group from 18-748 -
Last thing to setup is the user level process.
98 1 6lowpan group from 18-748 -
99 1 6lowpan group from 18-748 -
Go to the user space process directory
100 1 6lowpan group from 18-748 -
101 1 6lowpan group from 18-748 -
{{{
102 1 6lowpan group from 18-748 -
cd edge/user
103 1 6lowpan group from 18-748 -
}}}
104 1 6lowpan group from 18-748 -
105 1 6lowpan group from 18-748 -
compile...
106 1 6lowpan group from 18-748 -
107 1 6lowpan group from 18-748 -
{{{
108 1 6lowpan group from 18-748 -
make
109 1 6lowpan group from 18-748 -
}}}
110 1 6lowpan group from 18-748 -
111 1 6lowpan group from 18-748 -
and run the process...
112 1 6lowpan group from 18-748 -
113 1 6lowpan group from 18-748 -
{{{
114 1 6lowpan group from 18-748 -
sudo ./edge
115 1 6lowpan group from 18-748 -
}}}
116 1 6lowpan group from 18-748 -
117 1 6lowpan group from 18-748 -
'''STEP 7: Setup the nodes'''
118 1 6lowpan group from 18-748 -
119 1 6lowpan group from 18-748 -
See the [http://www.nanork.org/wiki/6LoWPAN-api 6LoWPAN api] to find the correct way of programming
120 1 6lowpan group from 18-748 -
on the nodes.  Examples can be found in the apps/ folder.
121 1 6lowpan group from 18-748 -
122 1 6lowpan group from 18-748 -
'''STEP 8: Setup the MAC Addresses'''
123 1 6lowpan group from 18-748 -
124 1 6lowpan group from 18-748 -
You should now assign each firefly node in your network with a unique 16-bit address.  You can
125 1 6lowpan group from 18-748 -
do this by using the config-eeprom program.
126 1 6lowpan group from 18-748 -
127 1 6lowpan group from 18-748 -
{{{
128 1 6lowpan group from 18-748 -
./config-eeprom
129 1 6lowpan group from 18-748 -
}}}
130 1 6lowpan group from 18-748 -
131 1 6lowpan group from 18-748 -
'''STEP 9: Test'''
132 1 6lowpan group from 18-748 -
133 1 6lowpan group from 18-748 -
Congratulations you should now have a network of firefly nodes connected to the internet.  Test
134 1 6lowpan group from 18-748 -
that this is in fact true by going to [http://www.ipv6tools.org] and try pinging one of the nodes
135 1 6lowpan group from 18-748 -
in your network.