Welcome to the CSIR Meraka Institute's "COIN" Blog
Tuesday, November 22, 2005
The Wiki is taking shape
Wednesday, November 16, 2005
New home for CSIR COIN Blog
Thursday, October 13, 2005
Best collection of links I've seen for ad hoc networking
Wednesday, October 12, 2005
wistron CM9 Altheros MiniPCI card info
http://melbourne.wireless.org.au/wiki/?CM9
Latest windows drivers
http://www.phoenixnetworks.net/atheros.php
Product information
http://www.wneweb.com/wireless/products/cm9.htm
Tuesday, October 11, 2005
Engineering News Article
Sunday, October 02, 2005
Making sense of LQ ILQ and ETX in OLSR
Topology entries
Destination IP | Last hop IP | LQ | ILQ | ETX |
---|---|---|---|---|
10.51.1.13 | 10.51.1.10 | 1.00 | 1.00 | 1.00 |
10.51.1.20 | 10.51.1.10 | 1.00 | 1.00 | 1.00 |
10.51.1.1 | 10.51.1.13 | 0.90 | 1.00 | 1.11 |
10.51.1.10 | 10.51.1.13 | 1.00 | 1.00 | 1.00 |
10.51.1.12 | 10.51.1.13 | 1.00 | 0.90 | 1.11 |
10.51.1.14 | 10.51.1.13 | 0.90 | 1.00 | 1.11 |
10.51.1.20 | 10.51.1.13 | 1.00 | 1.00 | 1.00 |
10.51.1.13 | 10.51.1.14 | 1.00 | 0.90 | 1.11 |
10.51.1.1 | 10.51.1.20 | 0.90 | 0.75 | 1.49 |
10.51.1.10 | 10.51.1.20 | 1.00 | 1.00 | 1.00 |
10.51.1.12 | 10.51.1.20 | 1.00 | 1.00 | 1.00 |
10.51.1.13 | 10.51.1.20 | 1.00 | 1.00 | 1.00 |
LQ = The percentage of packets that are succesfully sent from youself to the neighbour
ILQ = The percentage of packets that succesfully are sent from your neighbour to yourself also often called NLQETX = Expected Trasnmission count = How many trasnmission attempts are required to get packets through = 1 / (LQ*ILQ)
Saturday, October 01, 2005
Getting an OpenWRT Freifunk mesh stable
1. Lock all the nodes to 802.11B don't let it auto sense
2. If there are any v2.2 hardware devices, change the clock speed to 216MHz with the following commands1
# nvram set clkfreq=216
# nvram commit
# reboot
3. Lock the RX and TX antenna to the one you connected your external antenna too, don't use AUTO. TAKE NOTE!!! On Version 2.0 hardware Antenna A is on the left looking from the front of the linksys and and on Version 2.,2 hardware Antenna A is on the right looking from the fron of the linksys. This caught me out a few times.
Monday, September 19, 2005
International Wireless Summit 2005
The international wireless summit has just kicked off and I have the privilege of being amongst some of the greatest think-tanks in the wireless arena.
The aim of the IWS is to offer a platform for establishing exchanges of information between universities, industry and science parks. The next summit will be in 2008 in Helsinki, Finland.
International Wireless Symposium aims to exchange research information. 450 papers to be presented on “hot topics”.
Prof. Ramjee Prasad giving introductory speech.
Prof. Ramjee Prasad predicts that the future of wireless comms will be based on single layer technology, not quite sure what is meant by this though.
“Personal Networks are going to be of major importance in future business…”
Friday, September 09, 2005
Network stats on Freifunk
Thursday, September 08, 2005
How to stop dhcp client over-writing resolv.conf
Edit the /etc/dhcp3/dhclient.conf file
Find the line that says request
Comment out the line that requests for domain-name, domain-name-servers and host-name
request subnet-mask, broadcast-address, time-offset, routers,
# domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
Setting up different networking scenarios on a laptop
I have four scenarios:
1. use laptop at home with wireless access point
2. use laptop at home with ethernet
3. use laptop at work with wireless access point
4. use laptop at work with ethernet
I created two files in /etc/network: interfaces.work and interfaces.home with all the ethernet and wireless settings for home and work in this file
/etc/network/interfaces.home
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
iface eth0 inet static
address 10.3.13.102
netmask 255.255.255.0
gateway 10.3.13.1
#The wireless network interface
iface eth1 inet dhcp
wireless-essid pta-mesh
wireless-mode Ad-Hoc
wireless-channel 1
wireless-key off
/etc/network/interfaces.work
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
iface eth0 inet dhcp
# The wireless network interface
iface eth1 inet dhcp
wireless-essid icomtek
wireless_mode Managed
wireless-key off
I also created two files with my dns and domain settings for home and work in /etc/ called resolv.home and resolv.work
resolv.home
search icomtek.csir.co.za elarduspark.org.za cids.org.za
nameserver 146.64.28.1 10.3.13.1
resolv.work
search icomtek.csir.co.za cids.org.za
nameserver 146.64.28.1
Here are my scripts that configure my interfaces based on the above files
1. Setup for wireless networking at home
/usr/local/bin/homenet-wireless
#!/bin/bash
echo Setting up network for home wireless network
sudo cp /etc/network/interfaces.home /etc/network/interfaces
eth0_status=`ifconfig | grep eth0`
eth1_status=`ifconfig | grep eth1`
if [ -n "$eth0_status" ]; then
sudo ifdown eth0
fi
if [ -n "$eth1_status" ]; then
sudo ifdown eth1
fi
sudo ifup eth1
sudo cp /etc/resolv.home /etc/resolv.conf
2. Setup for ethernet networking at home
/usr/local/bin/homenet-fixed
#!/bin/bash
echo Setting up network for home ethernet
sudo cp /etc/network/interfaces.home /etc/network/interfaces
sudo cp /etc/resolv.home /etc/resolv.conf
eth0_status=`ifconfig | grep eth0`
eth1_status=`ifconfig | grep eth1`
if [ -n "$eth0_status" ]; then
sudo ifdown eth0
fi
if [ -n "$eth1_status" ]; then
sudo ifdown eth1
fi
sudo ifup eth0
3. Setup for wireless at work
/usr/local/bin/worknet-wireless
#!/bin/bash
echo Setting up network for work wireless network
sudo cp /etc/network/interfaces.work /etc/network/interfaces
sudo cp /etc/resolv.work /etc/resolv.conf
eth0_status=`ifconfig | grep eth0`
eth1_status=`ifconfig | grep eth1`
if [ -n "$eth0_status" ]; then
sudo ifdown eth0
fi
if [ -n "$eth1_status" ]; then
sudo ifdown eth1
fi
sudo ifup eth1
4. Setup for ethernet at work
/usr/local/bin/worknet-fixed
#!/bin/bash
echo Setting up network for work ethernet
sudo cp /etc/network/interfaces.work /etc/network/interfaces
sudo cp /etc/resolv.work /etc/resolv.conf
eth0_status=`ifconfig | grep eth0`
eth1_status=`ifconfig | grep eth1`
if [ -n "$eth0_status" ]; then
sudo ifdown eth0
fi
if [ -n "$eth1_status" ]; then
sudo ifdown eth1
fi
sudo ifup eth0
Thursday, August 11, 2005
Setting up DHCP with OLSR
You will need to reserve a block of IP's for non OLSR wireless clients that want to connect onto the mesh network such as a laptop. Here is an example setup:
Wireless router 1:
Wireless IP: 10.51.1.13
LAN IP: 10.3.13.1
Subnet for Wireless DHCP clients: 10.51.1.64/28 (This would mean that 16 machines could potentially connect to this wireless router. The IP leases will be in the range from 10.51.1.64 to 10.51.1.79)
Wireless router 2:
Wireless IP: 10.51.1.14
LAN IP: 10.3.14.1
Subnet for Wireless DHCP clients : 10.51.1.80/28 (IP leases will be in the range from 10.51.1.80 to 10.51.1.93)
To set this up On Friefunk firmware
Wireless Router 1:
OLSR:
OLSR DHCP: 10.51.1.64/28
Wireless Router 2:
OLSR:
OLSR DHCP: 10.51.1.80/28
Most people gave strange values for OLSR DHCP in their postings the most common one was:
OLSR DHCP: 10.51.1.80/28, 255.255.255.240
The subnet mask after the comma (255.255.255.240) is an alternative to the slash format /28. Why does everyone have this reduntant subnet mask on their postings???
Monday, August 08, 2005
good info on checking linksys hardware version
Finally some good info about finding the version number from outside markings and using NVRAM settings - info from www.openwrt.org
Linksys WRT54G
1. Hardware versions
There are currently seven versions of the WRT54G (v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.00). With the exception of v4.00 devices (it is currently marked as untested for White Russian RC1), the WRT54G units are supported by OpenWrt 1.0 (White Russian) and later. boot_wait is off by default on these routers, so you should turn it on. The version number is found on the label on the bottom of the front part of the case below the Linksys logo.
1.0.1. Identification by S/N
Useful for identifying shrinkwrapped units. The S/N can be found on the box, below the UPC barcode.
Please contribute to this list. | OpenWRT | ||
Model | S/N | CVS | EXP |
WRT54G v1.1 | CDF20xxxxxxx |
|
|
CDF30xxxxxxx | |||
WRT54G v2 | CDF50xxxxxxx |
|
|
WRT54G v2.2 | CDF70xxxxxxx |
|
|
WRT54G v3 | CDF80xxxxxxx |
|
|
WRT54G v3.1 (AU?) | CDF90xxxxxxx |
|
|
1.1. WRT54G v1.0
The WRT54G v1.0 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is a mini-PCI card. The switch is an ADM6996.
1.2. WRT54G v1.1
The WRT54G v1.1 is based on the Broadcom 4710 board. It has a 125MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is soldered to the board. The switch is an ADM6996.
Hardware informations (nvram) :
boardtype=bcm94710dev
1.3. WRT54G v2.0
The WRT54G v2.0 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb SDRAM. The wireless NIC is integrated to the board. The switch is an ADM6996.
Hardware informations (nvram) :
boardtype=0x0101
boardflags=0x0188
1.4. WRT54G v2.2
The WRT54G v2.2 is based on the Broadcom 4712 board. It has a 200MHz CPU, 4Mb flash and 16Mb DDR-SDRAM. The wireless NIC is integrated to the board. The switch is a BCM5325.
Hardware informations (nvram) :
boardtype=0x0708
boardflags=0x0118
1.5. WRT54G v3.0 & WRT54G v3.1
This unit is just like the V2.2 Except it has an extra reboot button on the left front panel behind a Cisco logo.
1.6. WRT54G v4.00
Please add information for this revision.
Hardware informations (nvram) :
boardrev=0x10
boardtype=0x0708
boardflags2=0
boardflags=0x0118
boardnum=42
To take the front cover off of this unit you must first remove the small screws under the rubber covers of the front feet!
2. Table summary
how to get info :
* board info: nvram show | grep board | sort
* cpu model: cat /proc/cpuinfo | grep cpu
Model | boardrev | boardtype | boardflags | boardflags2 | boardnum | wl0_corerev | cpu model |
WRT54G v1.1 | - | bcm94710dev | - | - | 42 | 5 | BCM4710 V0.0 |
WRT54G v2.0 | - | 0x0101 | 0x0188 | - | - | - | BCM3302 V0.7 |
WRT54G v2.2 | - | 0x0708 | 0x0118 | - | - | 7 | - |
WRT54G v3.0 | 0x10 | 0x0708 | 0x0118 | 0 | 42 | 7 | BCM3302 V0.7 |
WRT54G v3.1 (AU?) | 0x10 | 0x0708 | 0x0118 | 0 | 42 | 7 | BCM3302 V0.7 |
WRT54G v4.0 | 0x10 | 0x0708 | 0x0118 | 0 | 42 | 7 | BCM3302 V0.7 |
WRT54GS v1.0 | 0x10 | 0x0101 | 0x0388 | 0 | 42 | 7 | BCM3302 V0.7 |
WRT54GS v1.1 | 0x10 | 0x0708 | 0x0318 | 0 | 42 | - | - |
Buffalo WBR-54G | 0x10 | bcm94710ap | 0x0188 | 2 | 42 | - | - |
Toshiba WRC1000 | - | bcm94710r4 | - | - | 100 | - | - |
Buffalo WBR2-G54S | 0x10 | 0x0101 | 0x0188 | 0 | 00 | - | - |
Asus WL-500G Deluxe | 0x10 | bcm95365r | - | - | 45 | 5 | BCM3302 V0.7 |
*other variables (nvram) of interest : boot_ver, pmon_ver, firmware_version, os_version
please complete this table. Look at this thread : http://openwrt.org/forum/viewtopic.php?pid=8127#p8127 May be this table should move up to OpenWrtDocs/Hardware.
3. Hardware hacking
There are revision XH units of the WRT54G v2.0. These units have 32Mb of memory, but they are locked to 16Mb. You can unlock the remaining memory with changing some of the variables. Afterburner (aka. Speedbooster) mode can be enabled with some variables, too.
However, there are no guaranties, that these will work, and changing the memory configuration on a non-XH unit will give You a brick. Check the forums for more info.
If you have a look at the WRT54G v2.2 board, you can find on the left corner, near the power LED, an empty place for a 4 pins button. On the board it is printed as SW2. This is the second reset button you can find on WRT54G v3.0, except that it has not been soldered.Thursday, July 14, 2005
Running Kismet-Drone on a Linksys WRT54G
Then run kismet from your host, pc and off u go!
Monday, July 04, 2005
a few tips with olsr on openwrt freifunk
HNA4: 10.3.13.1 255.255.255.0
Which should advertise the whole 10.3.13.x net it would advertise the 10.0.0.0 net. I discovered that it needs the subnet mask in this format instead
HNA4: 10.3.13.1/24
A few other things I learnt
1. NVRAM variable ff_hna4 stores the HNA4 setting
2. /etc/olsr.conf is ignored by freifunk
3. /rom/etc/olsrd.conf stores a permanent copy of the olsrd setup
4. /var/etc/olsrd.conf is a symbolic link to /tmp/etc/olsrd.conf ... this file is copied from /rom/etc/olsrd.conf into RAM (ramfs filesystem) and is the one called by olsrd.
ps -A will reveal that olsrd is called as follows
olsrd -f /var/etc/olsrd.conf -d 0
Tuesday, June 28, 2005
Linksys WRT54G hardware differences
Check out all the differences here
http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=6
We have ordered three batches of Linksys hardware - I must check which hardware platforms we have
My Linksys on my roof gave the following results
Result of the command
$>cat /proc/cpuinfo
system type : Broadcom BCM947XX
processor : 0
cpu model : BCM3302 V0.7
BogoMIPS : 199.47
wait instruction : no
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : no
hardware watchpoint : no
VCED exceptions : not available
VCEI exceptions : not available
dcache hits : 3472555964
dcache misses : 1631950511
icache hits : 264142837
icache misses : 2075639807
instructions : 0
Some of the possible clue NVRAM settings when running the command
$>NVRAM show
boardrev=0x10
bootver-v2.3
boardnum=42
Thursday, June 23, 2005
Setting up OLSR mesh on a Linksys
1. Download freifunk firmware from (http://www.freifunk.net/wiki/FreifunkFirmwareEnglish) - openwrt-g-freifunk-1.0.2-en.bin
2. Set boot wait on linksys
Web method:
Navigate to web page were you can send pings and type each of these lines one line at a time
;cp${IFS}*/*/nvram${IFS}/tmp/n
;*/n${IFS}set${IFS}boot_wait=on
;*/n${IFS}commit
;*/n${IFS}show>tmp/ping.log
NVRAM method:
telnet into box and type the following
nvram set boot_wait=on
nvram commit
reboot
3. Upload firmware
Give yourself a fixed IP in the 192.168.1.x range e.g. 192.168.1.100
Use tftp to upload firmware
tftp 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> trace
Packet tracing on.
tftp> put openwrt-g-freifunk-1.0.2-en.bin
Wait for the power light to stop flashing
Power cycle the box
4. Check that the web interface is working. Visit the site http://192.168.1.1 on your web browser - you should see the main freifunk web interface appear
5. Set up the wireless interface
WLAN protocol: Static
Ip Address: 192.168.2.5
Netmask: 255.255.255.0
WLAN Mode: Ad Hoc (Peer to Peer)
ESSID: mesh
Channel: 6
TX Power: 100
6. Set up the LAN interface
LAN protocol: Static
LAN IP: 192.168.4.1
LAN Netmask: 255.255.255.0
Disable NAT: yes
Disable Firewall: yes
7. Set up the WAN interface
WAN Protocol: DHCP
Host name: Lawrence
8. Set up OLSR
HNA4: 192.168.4.1 255.255.255.0
9. Restart the Linksys
You should now be given an IP address in the 192.168.3.x range
You should be able to connect to another mesh access point and even get a default gateway to an internet point, if one exists
Monday, June 20, 2005
How the ETX metric in OLSR is calculated
The ETX of a link is calculated using the forward and reverse delivery ratios of the link. The forward delivery ratio, df , is the measured probability that a data packet successfully arrives at the recipient; the reverse delivery ratio, dr , is the probability that the ACK packet is successfully received. The expected probability that a transmission is successfully received and acknowledged is df x dr .
A sender will retransmit a packet that is not successfully acknowledged. Because each attempt to transmit a packet can be considered a Bernoulli trial, the expected number of transmissions is:
ETX = 1/ (df x dr)
For a full description of how df and dr is actually calculated see MIT's publication site
Mesh scalability by modifying the MAC layer in Altheros
Tuesday, June 14, 2005
Drawing(almost realtime) pretty network topology pictures with
Regards,
Yusuf Kaka
________________________________________________________________________________
Mobile Platforms Engineer
CSIR - Meraka Institute (African Advanced Institute for ICT)
Web Address: www.csir.co.za or www.meraka.co.za
________________________________________________________________________________
Monday, May 16, 2005
Howto: Mesh Network on a WRT54G using OLSRd
I used channel SSID AngelNET_mesh, channel 11, 64bit wep, key: 1234567890
Running Kismet-Drone on a Linksys WRT54G (OpenWRT)
Edit /etc/kismet.conf on your host pc, include the line: source=kismet_drone,10.168.1.1:3501,drone
then run kismet and off u go!
Wednesday, April 06, 2005
Linksys Disaster Recovery
More details on the recovery processes can be found here:
OpenWrtDocs/Troubleshooting - OpenWrt
Whew!
Tuesday, April 05, 2005
War-Driving: Using Kismet and a GPS
Saturday, April 02, 2005
How to get ubuntu to automatically start programs when user logs in
From Gnome, Select Computer, System Configuration, Login Screen Setup.
Under Auomatic Login, Select check box: Login a user automatically on first bootup. Choose a user under: Automatic login username
To start programs automatically when user logs in edit the following script
~/.gnome2/session-manual
Here is my example:
[Default]
num_clients=3
0,RestartStyleHint=3
0,Priority=50
0,RestartCommand=x11vnc -shared -forever
1,RestartStyleHint=3
1,Priority=50
1,RestartCommand=mount /mnt/win_c
2,RestartStyleHint=3
2,Priority=50
2,RestartCommand=mount /mnt/win_d
Wednesday, March 23, 2005
IPsec and VPN's
There are several online guides to setting up IPsec VPN's:
Creating a VPN between two networks, separated by the Internet, using FreeBSD gateways.
Linux:
Linux IPsec HOWTO
IPsec tools
Windows:
Setting up a windows XP client
IPsec and you
Mixing Different Clients and Servers (Windows/Linux):
Jacco's networking stuff
OpenSwan setup for Linux server and Linux/Windows clients
FreeSwan setup for Linux server and Linux/Windows clients
Example System:
IPSec Secure Tunnel at Mathnet
Friday, March 18, 2005
Thursday, February 10, 2005
Setting up WDS on the linksys
Always wanted to test the performance of WDS vs pure mesh. HEre are some good links on setting up WDS
1. The sveasoft WDS tutroial - a little old - April 2004
2. Tutorial with some nice picures
3. Good overall technical information on WDS from Orinioco