Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Build steps for compilation on Raspberry Pi with Raspbian OS

Prerequisites

      1. Install the Raspian Pi OS from the “Raspberry Pi Imager” software. Select the Raspberry Pi Os (64-bit) image. 
      2. After installation below are additional packages to be installed for build, db and execution.

sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install vim;
sudo apt-get install libev-dev;
sudo apt-get install libjansson-dev;
sudo apt-get install zlib1g-dev;
sudo apt-get install libnl-3-dev;
sudo apt-get install libnl-genl-3-dev;
sudo apt-get install libnl-route-3-dev;
sudo apt-get install libavro-dev;
sudo apt-get install libcjson1 libcjson-dev;
sudo apt-get install libssl-dev;
sudo apt-get install uuid-dev;
sudo apt-get install libmysqlcppconn-dev; 
sudo apt-get install libreadline-dev;
sudo apt-get install iptables;
sudo apt install mariadb-server;
sudo apt-get install libmariadb3;
sudo apt-get install libmariadb-dev;
sudo apt-get install golang;

Build Instructions

    1.  In a working directory git clone the OneWifi in generic folder and unified-wifi-mesh repository

...

cd OneWifi
make -f build/linux/rpi/makefile setup

    3.  Build the Onewifi with make command

make -f build/linux/rpi/makefile all

    4.   Build easymesh components in the unified-wifi-mesh folder

...

cd unified-wifi-mesh/build/cli
make clean; make all

Note: For the latest Cli package "golang" should be installed. Instructions specified in the prerequisite section above.


        • Agent

cd unified-wifi-mesh/build/agent
make clean; make all


Execution Steps

Prerequisites

OneWifi Related

        • Install bridge utils 

...

#In a separate window run easy mesh ctrl with <username of db>@<password> to connect to DB.
sudo ./onewifi_em_ctrl root@root

#In a separate window run easy mesh cli and run reset command "reset eth0 pi4" as specified below to reset the databaseusing the below command to open the updated go based cli
sudo ./onewifi_em_cli rpi

            • In the cli use keys "j" to scroll down and "k" to scroll up the menu.
            • Select "Wifi Reset" and then select Update to update the window.
            • In the CollocatedAgentID update the Mac address of the interface which needs to be treated as AL MAC. In case of using wireless backhaul, use the appropriate "wlan" interface as CollocatedAgentID.
            • Select Apply to reset the database.

Sample screenshot of the cli below:

Image Added
<<OneWifiMeshCli>>: reset eth0 pi4


#After this in MariaDB Console you if you run "show tables;" you will see 7 9 tables created with NetworkSSIDList and NetworkList tables Initialized.
# All other tables will be empty
MariaDB [OneWifiMesh]> show tables;

+

...

------------------------+
| Tables_in_OneWifiMesh

...

|
+

...

------------------------+
| BSSList

...

                            |
| DeviceList                        |
| NetworkList

...

                    |
| NetworkSSIDList             |
| OperatingClassList         |
|

...

PolicyList                         |
| RadioList                          |
| STAList                            |
| ScanResultList                |
+

...

-----------------------+


Running instructions
Scenario 1: Changing SSID and/or Passphrase on agents
        • Device 1  - Run Easy mesh Controller and cli in separate windows. 

sudo ./onewifi_em_ctrl root@root

sudo ./onewifi_em_cli

Note: cli expects the path to the libemcli.so. Provide the appropriate path with the below steps

create libemcli.conf in /etc/ld.so.conf.d directory pointing to the location of libemcli.so

cd /etc/ld.so.conf.d
sudo vi libemcli.conf
In this file specify the full path where libemcli.so is built. (install/lib - do pwd and copy)

Return back to install/bin path and execute command "sudo ldconfig"

        • Device 2 (in case of remote agent) or Device 1 (in col-located agent) - Run OneWifi first in a separate window and then run easy mesh agent (in case of remote agent)

sudo ./OneWifi -c

sudo ./onewifi_em_agent

        • Check Below commands on cli window to see Agent configured 

<<OneWifiMeshCli>>:get_device OneWifiMesh

<<OneWifiMeshCli>>:get_radio OneWifiMesh

<<OneWifiMeshCli>>:get_bss OneWifiMesh

<<OneWifiMeshCli>>:get_ssid OneWifiMesh

...

        • In cli you can select various options to see that it is populated with the updated information. 
        • To change SSID do the following 
          • Select "SSID List" from the menu
          • Select "Update" button to enter into edit mode
          • Change the SSID and/or PassPhrase to desired value
          • Select "Apply" button to save the edited setting.
          • Sample screenshot of the cli below:

Image Added

        • Check that the SSID and/or Passphrase should have been updated on all the agents. 

Note:

 1. Use "Tab" to move between Update, Apply and Cancel button in the cli

2. Use keys "j" and "k" to scroll up and down.