Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    OLSR mesh GUI $400 {awarded}

    Scheduled Pinned Locked Moved Completed Bounties
    95 Posts 7 Posters 82.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pcatiprodotnet
      last edited by

      It may be more consistant with other forms to change this entry field to two fields with drop-down on the second like:
      "Announce Dynamic Local Route IP: [10.130.1.0] / [24]"
      [then translate the /24 into #.#.#.# before inserting into the config]

      " Hrm.  I'll look into it. "

      Thank you for considering it, althought I know what to enter in that field, i'm sure this would be somewhat less confusing for first time users.
      -Pete

      1 Reply Last reply Reply Quote 0
      • S
        sullrich
        last edited by

        Ill get this stuff fixed up later today or this weekend.

        1 Reply Last reply Reply Quote 0
        • P
          pcatiprodotnet
          last edited by

          " Ill get this stuff fixed up later today or this weekend. "

          Thank you.  I'll check back for updates periodically then download and test. Thanks, -Pete

          1 Reply Last reply Reply Quote 0
          • S
            sullrich
            last edited by

            Sorry I havent created an image for this yet.  We've been working on some stuff all weekend.  I'll get you one as soon as possible, most likely in the next 5 hours.

            1 Reply Last reply Reply Quote 0
            • P
              pcatiprodotnet
              last edited by

              " I'll get you one as soon as possible, most likely in the next 5 hours. "
              Thanks Scott. Please email me when you're done.

              1 Reply Last reply Reply Quote 0
              • P
                pcatiprodotnet
                last edited by

                It seems that the DHCP server on WAN isn't functioning, even with the correct interface ip/subnet/mask setting.  However, when I have LAN set up to do wireless the DHCP functions.  I'm using pfsense-pc; I am fairly certain that dhcp on Wan was functioning in beta4, although I don't think you had the code in yet allowing me to (attempt to) modify the subnet.

                1 Reply Last reply Reply Quote 0
                • S
                  sullrich
                  last edited by

                  @pcatiprodotnet:

                  It seems that the DHCP server on WAN isn't functioning, even with the correct interface ip/subnet/mask setting.  However, when I have LAN set up to do wireless the DHCP functions.  I'm using pfsense-pc; I am fairly certain that dhcp on Wan was functioning in beta4, although I don't think you had the code in yet allowing me to (attempt to) modify the subnet.

                  Try running from a shell:

                  /usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chroot /var/dhcpd -cf /var/dhcpd/etc/dhcpd.conf $WANINTERFACE

                  1 Reply Last reply Reply Quote 0
                  • P
                    pcatiprodotnet
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • S
                      sullrich
                      last edited by

                      @pcatiprodotnet:

                      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!!!

                      1 Reply Last reply Reply Quote 0
                      • S
                        sullrich
                        last edited by

                        Image updated.  Please let me know how it works.

                        1 Reply Last reply Reply Quote 0
                        • P
                          pcatiprodotnet
                          last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • S
                            sullrich
                            last edited by

                            @pcatiprodotnet:

                            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

                            Not sure but I just rebuilt and copied the image back up.

                            1 Reply Last reply Reply Quote 0
                            • P
                              pcatiprodotnet
                              last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • S
                                sullrich
                                last edited by

                                Okay, I'll look at it soon.  I have a wedding to attend so I will not have much time for the next day.

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pcatiprodotnet
                                  last edited by

                                  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.conf

                                  Since 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
                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    sullrich
                                    last edited by

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pcatiprodotnet
                                      last edited by

                                      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.net

                                      So, 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

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        sullrich
                                        last edited by

                                        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.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pcatiprodotnet
                                          last edited by

                                          " 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# sis0

                                          Comment 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#>
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            sullrich
                                            last edited by

                                            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!!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.