OLSR mesh GUI $400 {awarded}
-
Thanks, I'll give that a try tomorrow at work.
We just finished installing a fair number of pfsense olsr nodes today; they're functioning quite well, DHCP & HNA4 aside. I had no trouble on the laptop when I either hardcoded ip/gateway/netmask(custom narrow) of nearest olsr node OR run olsr for windows thus making the laptop another node on the mesh.
Awesome!!!
-
Image updated. Please let me know how it works.
-
I'll try this today at work. I noticed that the pfsense-pc.img.gz file now contains a pfsense.ISO whereas it used to contain pfsense.IMG; will that work ok on imbedded CF?
Thanks you, -Pete -
I'll try this today at work. I noticed that the pfsense-pc.img.gz file now contains a pfsense.ISO whereas it used to contain pfsense.IMG; will that work ok on imbedded CF?
Thanks you, -PeteNot sure but I just rebuilt and copied the image back up.
-
6. This issue has crept back in.
6. I have noticed that every other I click [Save] on the OLSR configuration page it fails to start OLSR, such as: [save] starts, [save] not-started, [save] starts, [save] not-started, etc…
I would check the logs and there would be No listing for "olsrd[4494]: olsr.org - 0.4.10 successfully started".Also, one time I tried UnChecking OLSR and Saving but it wouldn't shut down.
10. I set "Announce Dynamic local route" to "10.130.1.0/255.255.255.0" and "Announce self as Dynamic Gateway"=UnChecked. However, it didn't work. It added an empty "Hna4{}" entry to the olsrd.conf file, but the values I entered were Not in oslrd.conf.
It should have added:IF ("Announce self as Dynamic Gateway"=FALSE) AND ("Announce Dynamic local route"=NOT-EMPTY: user enters "10.130.1.0 255.255.255.0")
THEN the following Hna4{} entry in olsr.conf should look like this :
Hna4
{
10.130.1.0 255.255.255.0
}I did not get a chance to check the other three possibilities yet in the following Hna4{} config logic:
Basically, here's how the olsr.conf Hna4{} entrys should look based on all possible combinations of settings:
IF ("Announce self as Dynamic Gateway"=TRUE) AND ("Announce Dynamic local route"=EMPTY)
THEN the following Hna4{} entry in olsr.conf should look like this :
Hna4
{
0.0.0.0 0.0.0.0
}IF ("Announce self as Dynamic Gateway"=TRUE) AND ("Announce Dynamic local route"=NOT-EMPTY: user enters "10.130.1.0 255.255.255.0")
THEN the following Hna4{} entry in olsr.conf should look like this :
Hna4
{
0.0.0.0 0.0.0.0
10.130.1.0 255.255.255.0
}IF ("Announce self as Dynamic Gateway"=FALSE) AND ("Announce Dynamic local route"=NOT-EMPTY: user enters "10.130.1.0 255.255.255.0")
THEN the following Hna4{} entry in olsr.conf should look like this :
Hna4
{
10.130.1.0 255.255.255.0
}IF ("Announce self as Dynamic Gateway"=FALSE) AND ("Announce Dynamic local route"=EMPTY)
THEN remove or comment anything existing between the braces in olsrd.conf (not sure if empty Hna4 is legal syntax) :
Hna4
{}
17. I was unable to get DHCP to work on the Wan wireless interface.
-
Okay, I'll look at it soon. I have a wedding to attend so I will not have much time for the next day.
-
I would copy the file /var/etc/olsrd.conf to /root and then add a script to /usr/local/etc/rc.d/ to copy the file back on bootup.
Something like this:
#!/bin/sh
cp /root/olsrd.conf /var/etc/
killall olsrd
olsrd -f /var/etc/olsrd.confSince the OLSR GUI isn't finished and I need to get this running, I copied my olsrd.conf configs from Metrix Pyramid (very easy to set up but Metrix isn't stable and crashes most days, at least for me using wrap.2c and atheros).
Other helpful shell commands for custom configs:
make the CF file system writable…
mount -w /
make my new boot shell script executable...
chmod 555 olsr.sh
make olsr it's own process so shell script may exit...
olsrd -f /var/etc/olsrd.conf &One final hurdle: Metrix Pyramid uses "dnsmasq" to serve dhcp with subset IP ranges and Netmask just like I wanted.
I examined Metrix's dnsmasq.conf file and found the lines for custom dhcp. I noticed that pfSense also uses dnsmasq.
In pfSense, how do I start dnsmasq with my own custom config file?Thank you,
- Pete
- Internet Professionals, LLC
- pc@ipro.net
-
Start it with
/usr/local/sbin/dnsmasq -l /var/dhcpd/var/db/dhcpd.leases -s domainname.com
Replace /var/dhcpd/var/db/dhcpd.leases with the leases file
-
Thanks for the help! I got OLSR and DHCP configured exactly how the should be.
I unchecked the dhcp in pfsense gui to stop dhcpd, and added a boot script for dnsmasq with your parameters plus -C
In dnsmasq.conf I copied from Metrix Pyramid and changed eth0 to sis0 on some lines:
interface=sis0
interface=ath0
dhcp-range=10.130.6.10,10.130.6.254,255.255.255.0,2h# ath0
dhcp-range=10.136.6.10,10.136.6.254,255.255.255.0,2h# sis0
dhcp-option=119,ipro.netSo, now OLSR and DHCP are configured perfectly. I'll post the whole configs here after more testing so they may be integrated into the olsr gui setup.
Thank you,
-Pete -
Sounds good. We'll be releasing RC1 soon and as soon as that happens I would like to wrap up the OLSR and get that solid.
-
" We'll be releasing RC1 soon… "
It's encouraging to see pfSense under active devoted development. I'm up and running with the
custom configs and startup scripts so this will certainly keep. pfSense is performing extremely well
functioning as olsr nodes. Stable and fast! I am well pleased.Here are the config files I'm using on every pfSense node in our mesh (although the gateway is
set up slightly different), and they work great; please modify default config settings to match.
My olsr.conf is nearly identical to Freifunk's; they run an olsr mesh in Germany with over 150 nodes.
My dnsmasq.conf is nearly identical to Metrix Pyramid's; dnsmasq completely supersedes dhcpd for me.
Of course my individual settings (eg IP Netmask <node#>comments etc) should be replaced by gui
auto-generated configs. I'll consider this bounty to be finalized when the olsr gui can auto-generate same/
same-in-function configs thus eliminating the need to upload custom .conf files and boot shell scripts.About my olsr network:
My WAN port IP address block for olsr is: 10.128/13.
Each node is assigned a Class-C within the above range: .1 for itself and .10 to .254 for dhcp to WAN clients not running olsr.
Each node is also assigned a Class-C within the 10.136/15 range for dhcp to LAN clients.
In the following configs, I replace the string "<node#>" with a unique node number between 1 and 254./root/olsr.conf
DebugLevel 0
IpVersion 4
ClearScreen yes
Hna4
{
10.130.<node#>.0 255.255.255.0 # this node's WAN clients
10.136.<node#>.0 255.255.255.0 # this node's LAN clients - Comment out if I am a gateway.
#0.0.0.0 0.0.0.0 # Uncomment if I am a gateway.
}
AllowNoInt yes
Willingness 6
IpcConnect
{
MaxConnections 0
Host 127.0.0.1
}
UseHysteresis no
LinkQualityLevel 2
LinkQualityWinSize 100
Pollrate 0.1
TcRedundancy 2
MprCoverage 7
LoadPlugin "/usr/local/lib/olsrd_httpinfo.so.0.1"
{
PlParam "port" "8080"
PlParam "Net" "0.0.0.0 0.0.0.0"
}
Interface "ath0"
{
HelloInterval 5.0
HelloValidityTime 90.0
TcInterval 2.0
TcValidityTime 270.0
MidInterval 15.0
MidValidityTime 90.0
HnaInterval 15.0
HnaValidityTime 90.0
}/root/dnsmasq.conf
domain-needed
bogus-priv
interface=ath0
interface=sis0
bind-interfaces
#addn-hosts=/var/run/hosts_olsr
expand-hosts
domain=olsr
dhcp-range=ath0,10.130.<node#>.10,10.130.<node#>.254,255.255.255.0,2h# ath0
dhcp-range=sis0,10.136.<node#>.10,10.136.<node#>.254,255.255.255.0,2h# sis0Comment out the above line if this node is a gateway and thus likely has No LAN clients.
dhcp-option=119,olsr
dhcp-lease-max=254
no-negcache
Issue #17: Solved...
When olsr is enabled, dhcpd process should be stopped, and instead reconfig & restart dnsmasq for dhcp (or, perhaps delete dhcpd from pfSense altogether and use dnsmasq for dhcp full time).Issue #18: The vast majority of olsr setups will need two "Announce Dynamic local route" gui fields for two IP & Netmask entries. One to announce routes back to local wireless clients, and another to announce routes back to local lan clients. The lan client IP range should be outside of the wan IP range. (I prefer the interfaces not have overlaping IP ranges. And, I tried to get around needing two announcements by turning on bridging, but there is an atheros driver bug in freebsd that causes wan to be Extremely slow when bridged and in ad-hoc mode.)
Issue #19?: Solved...
I am no longer experiencing intermittent problems with ARP announcements from "barely out of range" neighbor node's MACs overwriting olsr preferred routes in the route table. This is likely due to timing alterations in olsr.conf; perhaps one of the altered values determines how often olsr updates the route table. Although I haven't researched the meaning of every config line yet, having tested Freifunk & Metrix and observed how well olsr functions on those systems, I trust their developer's judgement.Thank you,
- Pete
- Internet Professionals, LLC
- pc@ipro.net</node#></node#></node#></node#></node#></node#></node#></node#>
-
Can you do me a favor and test RC1 and let me know what we need to wrap up? Somewhat unsure what bugs are still lingering…. Thanks!!
-
Can you do me a favor and test RC1 and let me know what we need to wrap up? Somewhat unsure what bugs are still lingering…. Thanks!!
I hope to find some free time for testing RC1 within a week. I must build a spare PC to test it, since all of our WRAP units are currently deployed in production because we're very pleased using pfSense along with the olsr & dnsmasq config files I copy/pasted into this post ( http://forum.pfsense.org/index.php?topic=677.msg8294#msg8294 ). If the olsr gui was updated just a little more to be capable of auto-generating configs like these, I could do some quick and easy testing on our production mesh.
Also, I solved issue #17 by using dnsmasq, instead of dhcpd, to allow a "manually entered Netmask" to function without errors; could the solution be implemented as described in this post http://forum.pfsense.org/index.php?topic=677.msg8294#msg8294
17. Please allow in the DHCP GUI, a manually entered Netmask, when OLSR is enabled on that interface.
(the purpose of this is to force a node's non-olsr ad-hoc wifi clients to route through the current node as a gateway onto olsr, so it may communicate with nodes that are otherwise out-of-range for non-olsr wifi clients when they use the netmask of the interface).We'll up the total bounty payout to $400 if the issues directly above can be resolved within a week, and made available in an imbedded snapshot/beta shortly thereafter.
Thank you,
- Pete
- pc@ipro.net
- Internet Professionals, LLC
-
Any updates? I would like to get this sucker sealed and delivered as it is one of the holdupds of release.
-
Will test latest snapshot this weekend; we just got a few extra WRAP units.
-
Thanks!!
-
Using Embedded Snapshot 7-10-06. I get this on a blank white page after checking olsr and pressing submit…
Warning: Invalid argument supplied for foreach() in /etc/inc/services.inc on line 1134 Warning: Cannot modify header information - headers already sent by (output started at /etc/inc/services.inc:1134) in /usr/local/www/pkg_edit.php on line 35 -
Believe it or not, this bug wasn't my fault ;D
run this from a shell:
/etc/rc.conf_mount_rw
fetch -o /etc/inc/services.inc http://www.pfsense.com/~sullrich/services.inc
/etc/rc.conf_mount_roThen test again.
-
So, the maker of the OLSR GUI was actually awarded $400?
-