Versions Compared

Key

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

...

Rename/delete the dnsmasq from /usr/bin 

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

1. In /nvram

Code Block
languagebash
titlenvram prerequest
collapsetrue
cat EasymeshCfg.json 
{
	"AL_MAC_ADDR":	"00:0c:43:26:60:1b",
	"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": 4,
                            "vapName": "private_ssid_6g"
                        }
                    ]
                },
                {
                    "Index": 1,
                    "RadioName": "wifi1",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi1.1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 3,
                            "vapName": "mesh_sta_5g"
                        },
                        {
                            "InterfaceName": "wifi1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 2,
                            "vapName": "private_ssid_5g"
                        }
                        
                    ]
                },
                {
                    "Index": 0,
                    "RadioName": "wifi0",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi0.1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 1,
                            "vapName": "mesh_backhaul_2g"
                        },
                        {
                            "InterfaceName": "wifi0",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 0,
                            "vapName": "private_ssid_2g"
                        }
                    ]
                }
            ]
        }
    ]
}


...

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

Please use below command to check ,

...

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

...

Panel
borderColorblack
borderStyledashed
titleonewifi_em_agent( full logs attached below)

/usr/ccsp/EasyMesh#./onewifi_em_agent
input_listener:646 he_bus open success
input_listener:664 recv data:
{
    "Version":    "1.0",
    "SubDocName":    "dml",
    "WifiConfig":    {
        "GASConfig":    {
            "AdvertisementId":    0,
            "PauseForServerResp":    true,
            "RespTimeout":    5000,
            "ComebackDelay":    1000,
            "RespBufferTime":    1000,
            "QueryRespLengthLimit":    127
        },

...

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

ping 10.0.0.1 from ext1 - should be success

Test the connected clients.

3. Remote Agent 2

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)

1. In /nvram

Code Block
languagebash
titlenvram
collapsetrue
cat EasymeshCfg.json 
{
	"AL_MAC_ADDR":	"00:0c:43:26:60:21",
	"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",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 2,
                            "vapName": "private_ssid_5g"
                        }
                        
                    ]
                },
                {
                    "Index": 0,
                    "RadioName": "wifi0",
                    "InterfaceList": [
                        {
                            "InterfaceName": "wifi0.1",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 1,
                            "vapName": "mesh_sta_2g"
                        },
                        {
                            "InterfaceName": "wifi0",
                            "Bridge": "brlan0",
                            "vlanId": 0,
                            "vapIndex": 0,
                            "vapName": "private_ssid_2g"
                        }
                    ]
                }
            ]
        }
    ]
}



In Onewifi_pre_script .sh from /usr/ccsp/wifi

Code Block
languagebash
titlepre_scirpt
collapsetrue
cat onewifi_pre_start.sh 
#!/bin/sh
sleep 5

#To update al_mac_addr in EasyMeshCfg.json to avoid onewifi restarting during fresh boot-up
#wan_mac="$(cat /sys/class/ieee80211/phy0/macaddress)"
#old_al_mac_addr=`cat /nvram/EasymeshCfg.json | grep AL_MAC_ADDR  | cut -d '"' -f4`
#if [ "$old_al_mac_addr" == "00:00:00:00:00:00" ]; then
#  sed -i "s/$old_al_mac_addr/$wan_mac/g" /nvram/EasymeshCfg.json
#fi  

iw phy phy0 interface add wifi0 type __ap
iw phy phy0 interface add wifi0.1 type __ap
iw phy phy0 interface add wifi1 type __ap
iw phy phy0 interface add wifi2 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 + 16))
wifi0_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
mac_incr=$(($mac_incr + 1))
wifi0_1_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
mac_incr=$(($mac_incr + 1))
wifi1_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
#Increment again by 1 to get wifi2 address
mac_incr=$(($mac_incr + 1))
wifi2_mac=$(printf "%012x" $mac_incr | sed 's/../&:/g;s/:$//')
#print the mac address
echo $wifi0_mac
echo $wifi0_1_mac
echo $wifi1_mac
echo $wifi2_mac

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

exit 0

Remove default onewifi db from /opt/secure/wifi

To run onewifi - systemctl start onewifi

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

Please use below command to check ,

  1. iw dev wifi0.1 info  in Extender 2
  2. iw dev wifi0.1.sta info in Ext 1
  3. iw dev wifi0.1.sta station dump in Ext1 - this command give the Extender2 connected client info

Once above steps are success, then run the agent at Ext 2

systemctl start em_agent

Please wait few min, then check iw dev 

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

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

ping 10.0.0.1 from ext2 - should be success

Test the connected clients.





 

...

Update SSID using dmcli

Panel
borderColorblack
borderStyledashed
titledmcli get/set

Note: 1. At agent side backhual SSID is not seen in wifiHal logs, then please follow the below steps to update the proper SSID.
           
2. Restart the onewifi process.
 
{i} - should be Station instance at agent side(backhaul connectivity)

dmcli eRT getv Device.WiFi.SSID.{i}.SSID
dmcli eRT getv Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase

dmcli eRT setv Device.WiFi.SSID.{i}.SSID string private_ssid 
dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true
dmcli eRT setv Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase string test-fronthaul
dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true

...