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.2k 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

      10.  When I enable "Announce self as Dynamic Gateway" it adds the "0.0.0.0  0.0.0.0" to the olsr.conf file but it fails to put Hna4 and braces around it as below:
      Hna4
      {
      0.0.0.0  0.0.0.0
      }

      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 out all mention of Hna4 { … } and anything existing between the braces in olsrd.conf :
      #Hna4
      #{

      #}

      As for not leaving an empty Hna4{} entry in the file, I'm only guessing it was causing olsr not to start; so it could have been some other undiscovered change made by the gui that actually caused the start failure.

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.