Versions Compared

Key

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

...

Test EM on Raspbian OS

...

Platform agnostic c++ coding

State machine

GoLang support for EM CLI

BPI-R4 build instruction 

...

Sample cli response given below:
Image RemovedImage RemovedImage RemovedImage AddedImage AddedImage Added
Change colocatedAgentID mac addr to interface which needs to be treated as AL MAC
Image RemovedImage RemovedImage AddedImage Added

  1. Once AL MAC is set check the ctrl prompt whether database reset happened

    Observe outputs deleting all datamodels and database insert to verify successful reset
    Sample response in ctrl: 
    Image RemovedImage Added
    Response in database: Respective rows will be updated in db
    Image RemovedImage Added

  Run local Agent with below cmd, (this step is not mandatory)

...

Test the connected clients.


STAR Topology

Prerequisites - One Time Process

Rename/delete the dnsmasq from /usr/bin 

Please make sure WAN access wont be there in your Extender (for that, delete all default route entires)

In /nvram,

Code Block
languagebash
titlenvram
collapsetrue
cat EasymeshCfg.json 
{
	"AL_MAC_ADDR":	"",
	"Colocated_mode":	0,
	"Backhaul_SSID":	"mesh_backhaul",
	"Backhaul_KeyPassphrase":	"test-backhaul",
    "sta_4addr_mode_enabled": true 
}
cat InterfaceMap.json
{
    "PhyList": [
        {
            "Index": 0,
            "RadioList": [
                 {
                    "Index": 2,
                    "RadioName": "wifi2",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi2",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 3,
                            "vapName": "private_ssid_6g"
                        }
                    ]
                },
                {
                    "Index": 1,
                    "RadioName": "wifi1",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi1.1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 2,
                            "vapName": "mesh_sta_5g"
                        },
                        {
                            "InterfaceName": "wifi1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 1,
                            "vapName": "private_ssid_5g"
                        }
                        
                    ]
                },
                {
                    "Index": 0,
                    "RadioName": "wifi0",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi0",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 0,
                            "vapName": "private_ssid_2g"
                        }
                    ]
                }
            ]
        }
    ]
}

 

onewifi_pre_script.sh with below data,

/usr/ccsp/wifi

Code Block
languagebash
titleonewifi_pre_script_star
collapsetrue
#!/bin/sh
sleep 5

iw phy phy0 interface add wifi0 type __ap
iw phy phy0 interface add wifi1 type __ap
iw phy phy0 interface add wifi2 type __ap
iw phy phy0 interface add wifi1.1 type __ap


#Obtain the wifi0 mac address
wifi_mac="$(cat /sys/class/ieee80211/phy0/macaddress)"
#Strip the : and increment mac by 1 to get wifi1 macaddress
mac=$(echo $wifi_mac | tr -d ':')
mac_incr=$((0x$mac + 24))
wifi0_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
#Increment again by 1 to get wifi2 address
mac_incr=$(($mac_incr + 1))
wifi1_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
mac_incr=$(($mac_incr + 1))
wifi1_1_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
mac_incr=$(($mac_incr + 1))
wifi2_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
#print the mac address
echo $wifi0_mac
echo $wifi1_mac
echo $wifi2_mac

#Update the mac address using ip link command
ifconfig wifi0 down
ifconfig wifi1 down
ifconfig wifi1.1 down
ifconfig wifi2 down
ip link set dev wifi0 address $wifi0_mac
ip link set dev wifi1 address $wifi1_mac
ip link set dev wifi1.1 address $wifi1_1_mac
ip link set dev wifi2 address $wifi2_mac
ifconfig wifi0 up
ifconfig wifi1 up
ifconfig wifi1.1 up
ifconfig wifi2 up

exit 0

Remove default onewifi db from /opt/secure/wifi

To rerun onewifi - systemctl restart onewifi

Now, check mesh backhaul connection is established or not over 5G for wifi1.1 interface .

Please use below command to check ,

  1. iw dev wifi1.1 info  in star
  2. iw dev wifi1.1.sta2 info in ctrl
  3. iw dev wifi1.1.sta2 station dump in ctrl - this command give the Star connected client info

Once above steps are success, then run the agent at Star

systemctl start em_agent

Please wait few min, then check iw dev 

All private vaps should be up and running in Ext-1 with default EasyMesh ssid's (i,e private_ssid)

Now, set brlan0 static ip addr (for ex, 10.0.0.55) in star

ping 10.0.0.1 from ext1 - should be success

Test the connected clients


Debugging tips and reference success logs 

...