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 golang;
1. In a working directory git clone the OneWifi in generic folder and unified-wifi-mesh repository
mkdir easymesh_project
cd easymesh_project
git clone https://github.com/rdkcentral/OneWifi.git
git clone https://github.com/rdkcentral/unified-wifi-mesh.git
2. Run the makefile of OneWifi with setup option to pull in other dependent repository. This is a one time operation.
cd OneWifi
make -f build/linux/makefile setup
3. Build the Onewifi with make command
make -f build/linux/makefile all
4. Build easymesh components in the unified-wifi-mesh folder
cd unified-wifi-mesh/build/ctrl
make clean; make all
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.
cd unified-wifi-mesh/build/agent
make clean; make all
OneWifi Related
sudo apt-get install bridge-utils
sudo systemctl stop wpa_supplicant
sudo systemctl disable wpa_supplicant
sudo systemctl mask wpa_supplicant
sudo systemctl status wpa_supplicant
#Enable brlan0 interface and configure ip address
sudo brctl addbr brlan0
sudo ip link set dev brlan0 up
sudo ip addr add 192.168.100.1/24 broadcast 192.168.100.255 dev brlan0
#IP tables command
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o brlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o brlan0 -j ACCEPT
#dnsmasq for DHCP in background or in a different terminal
sudo dnsmasq -i brlan0 -d --dhcp-range=192.168.100.2,192.168.100.200 &
DB Setup commands (On controller)
sudo mysql_secure_installation
#Login to MariaDB monitor
sudo mysql -u root -p
#In MariaDB console
create database OneWifiMesh;
use OneWifiMesh;
show tables; ==> should show no tables
#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 using the below command to open the updated go based cli
sudo ./onewifi_em_cli rpi
Sample screenshot of the cli below:
#After this in MariaDB Console you if you run "show tables;" you will see 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 |
+-----------------------+
sudo ./onewifi_em_ctrl root@root
sudo ./onewifi_em_cli
sudo ./OneWifi -c
sudo ./onewifi_em_agent
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.