Freifunk at FreeRunner: OLSRD

Robert Schuster theBohemian at
Fri Jun 27 00:01:48 CEST 2008

you know we already have B.A.T.M.A.N in OpenEmbedded but now I gave good
old OLSRD a try too.

I added a recipe for the latest release 0.5.5 and tested it on the
device. It is working nicely along with the ar6000 being in ad-hoc mode
(the preferred mode for mesh networks ;) ). No luck with 0.5.3 though -
it crashes when I want to view the page generated by the httpinfo plugin.

I wanted to do some NATting between the wifi interface and the usbnet
connection (effectively making my desktop computer an internet gateway
for the Berlin Freifunk community).

However this was impossible since OpenMoko does not provide the iptables
package (you can get the kernel modules but not the userspace
application). You can build it on your own and then everything is fine

There are also some minor issues with the wifi driver. I reported
this[0] a while ago already.

I am already happy but I would be so even more if:
 - olsrd version preference could be set to 0.5.5
 - iptables could be installed directly via opkg

The FreeRunner as a wifi mesh-node is a nice use case for the time after
being a mobile phone. It would be one of the very few nodes that have a
screen attached. :)

I would like to offer screen shots but there is nothing spectacular to
see on them. But perhaps you like some console output instead:

root at om-gta02:~# iwconfig eth0
eth0      AR6000 802.11g  ESSID:""
          Mode:Ad-Hoc  Frequency:2.457 GHz  Cell: 02:CA:FF:EE:BA:BE
          Bit Rate=1 Mb/s   Tx-Power=15 dBm   Sensitivity=0/3
          Encryption key:off
          Power Management:off
          Link Quality:168/94  Signal level:-183 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

(A fixed BSSID of '02:CA:FF:EE:BA:BE' is what we use in Berlin to
overcome some problems with ad-hoc mode specification.)

Starting the daemon:

root at om-gta02:~# /etc/init.d/olsrd start
Starting OLSR routing protocol daemon:

 *** - 0.5.5 ***
 Build date: 2008-06-26 23:09:18 on linkist

Parsing file: "/etc/olsrd.conf" - 0.5.5 detaching from the current process...
root at om-gta02:~# pidof olsrd

Pinging a node that is a few hops away:

root at om-gta02:~# ping
PING ( 56 data bytes
64 bytes from seq=0 ttl=62 time=89.001 ms
64 bytes from seq=3 ttl=62 time=45.555 ms

--- ping statistics ---
4 packets transmitted, 2 packets received, 50% packet loss
round-trip min/avg/max = 45.555/67.278/89.001 ms

Traceroute to it:

root at om-gta02:~# traceroute
traceroute to (, 30 hops max, 38 byte packets
 1 (  15.096 ms  29.789 ms  12.770 ms
 2 (  12.536 ms  11.377 ms  10.147 ms
 3 (  25.497 ms  51.212 ms  51.228 ms

Actually I could find something that may show I am really using this on
the Neo. I attached is httpinfo plugin generated webpage showing my
configuration. There are few devices where eth0 is a wifi card. :D

If you are interested I also attached by olsrd.conf. You need to have
olsrd-plugin-httpinfo, olsrd-plugin-nameservice (didn't work as
expected) and olsrd-plugin-dyngw installed besides the daemon.


[0] -
-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: olsrd.conf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : 

More information about the community mailing list