RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
Goal of this document helps RDK-B community to Port Unified-easy-mesh on to their Gateway/Extender platforms
...
...
draw.io Diagram | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
|
Controller
Code Block | ||
---|---|---|
| ||
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-bpi-extsrc.xml
repo sync -j`nproc` --no-clone-bundle
# Default build with AL_SAP
MACHINE=bananapi4-rdk-broadband FEATURE_TYPE=EasyMesh source meta-cmf-bananapi/setup-environment-refboard-rdkb
#to CP the below change for fynecli access for utopia component
|
...
https://github.com/rdkcentral |
...
<<OneWifiMeshCli>>: reset erouter0 bananapi encode_config_reset:354: {
...
(gdb) bt #0 0x0000000000417fb8 in em_cmd_t::init (this=this@entry=0x7f8b4b7010, dm=dm@entry=0x7f8b7fe690) at ../../../git/src/ctrl/../../src/cmd/em_cmd.cpp:127 #1 0x0000000000418764 in em_cmd_t::em_cmd_t (this=0x7f8b4b7010, type=em_cmd_type_reset, param=<error reading variable: Cannot access memory at address 0x7ffc9a6470>, dm=...) at ../../../git/src/ctrl/../../src/cmd/em_cmd.cpp:703 Backtrace stopped: Cannot access memory at address 0x7ffc9a63f8
/utopia/pull/47
bitbake rdk-generic-broadband-image
|
Extender
Code Block | ||||
---|---|---|---|---|
| ||||
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-bpi-ap-extsrc.xml
repo sync -j4 --no-clone-bundle
#Default build with AL_SAP
MACHINE=bananapi4-rdk-broadband-ap-extender source meta-cmf-bananapi/setup-environment-refboard-rdkb
bitbake rdk-generic-ap-extender-image |
Please ensure below processes are running in ctrl.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@Filogic-GW:~# systemctl status ieee1905_em_ctrl
● ieee1905_em_ctrl.service - ieee1905 EasyMesh Controller service
Loaded: loaded (/lib/systemd/system/ieee1905_em_ctrl.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-04-28 17:43:33 UTC; 3 years 3 months ago
Process: 4793 ExecStartPre=/bin/sh -c sleep 5 (code=exited, status=0/SUCCESS)
Process: 4941 ExecStartPre=/bin/sh -c if [ ! -e "/sys/class/net/eth0_virt_peer/address" ]; then `/usr/ccsp/EasyMesh/setup_veth_for_em.sh brlan0 eth0 true`; |
...
Controller
Code Block | ||
---|---|---|
| ||
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-bpi-extsrc.xml
repo sync -j`nproc` --no-clone-bundle
Please pick the below machine command based on your requirement
# to build the image with AL_SAP
MACHINE=bananapi4-rdk-broadband FEATURE_TYPE=EasyMesh source meta-cmf-bananapi/setup-environment-refboard-rdkb
# to build the image without AL_SAP
MACHINE=bananapi4-rdk-broadband FEATURE_TYPE=EasyMesh WITHOUT_ALSAP=yes source meta-cmf-bananapi/setup-environment-refboard-rdkb
#to CP the below change for fynecli access for utopia component
https://github.com/rdkcentral/utopia/pull/47
bitbake rdk-generic-broadband-image
|
Extender
Code Block | ||||
---|---|---|---|---|
| ||||
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-bpi-ap-extsrc.xml
repo sync -j4 --no-clone-bundle
Please pick the below machine command based on your requirement,
#to build the image with AL_SAP
MACHINE=bananapi4-rdk-broadband-ap-extender source meta-cmf-bananapi/setup-environment-refboard-rdkb
#to build the image without AL_SAP
MACHINE=bananapi4-rdk-broadband-ap-extender FEATURE_TYPE=EasyMesh WITHOUT_ALSAP=yes source meta-cmf-bananapi/setup-environment-refboard-rdkb
bitbake rdk-generic-ap-extender-image |
Please ensure below processes are running in ctrl.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@Filogic-GW:~# systemctl status ieee1905_em_ctrl
● ieee1905_em_ctrl.service - ieee1905 EasyMesh Controller service
Loaded: loaded (/lib/systemd/system/ieee1905_em_ctrl.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-04-28 17:43:33 UTC; 3 years 3 months ago
Process: 4793 ExecStartPre=/bin/sh -c sleep 5 (code=exited, status=0/SUCCESS)
Process: 4941 ExecStartPre=/bin/sh -c if [ ! -e "/sys/class/net/eth0_virt_peer/address" ]; then `/usr/ccsp/EasyMesh/setup_veth_for_em.sh brlan0 eth0 true`; fi (code=exited, status=0/SUCCESS)
Process: 4942 ExecStart=/bin/sh -c /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ieee1905::cmdu_observer=trace -i eth0_virt_peer --sap-data-path /tmp/al_em_ctrl_data_socket --sap-control-path /tmp/al_em_ctrl_control_socket >> /tmp/ieee1905_ctrl_log.txt & (code=exited, status=0/SUCCESS)
Main PID: 4943 (ieee1905)
Tasks: 7 (limit: 4713)
Memory: 22.3M
CGroup: /system.slice/ieee1905_em_ctrl.service
└─ 4943 /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ieee1905::cmdu_observer=trace -i eth0_virt_peer --sap-data-path /tmp/al_em_ctrl_data_socket --sap-control-path /tmp/al_em_ctrl_control_socket
Notice: journal has been rotated since unit was started, output may be incomplete.
root@Filogic-GW:~# systemctl status em_ctrl
● em_ctrl.service - EasyMesh Controller service
Loaded: loaded (/lib/systemd/system/em_ctrl.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-08-07 05:54:27 UTC; 20min ago
Process: 18033 ExecStartPre=/bin/sh -c /usr/ccsp/EasyMesh/setup_mysql_db_pre.sh (code=exited, status=0/SUCCESS)
Process: 18038 ExecStart=/bin/sh -c /usr/bin/onewifi_em_ctrl bpi\@root >> /tmp/em_ctrl.log & (code=exited, status=0/SUCCESS)
Process: 18040 ExecStartPost=/bin/sh -c /usr/ccsp/EasyMesh/setup_mysql_db_post.sh (code=exited, status=0/SUCCESS)
Main PID: 18039 (onewifi_em_ctrl)
Tasks: 15 (limit: 4713)
Memory: 185.2M
CGroup: /system.slice/em_ctrl.service
└─ 18039 /usr/bin/onewifi_em_ctrl bpi@root
Notice: journal has been rotated since unit was started, output may be incomplete.
root@Filogic-GW:~#
root@Filogic-GW:~# systemctl status ieee1905_em_agent
● ieee1905_em_agent.service - ieee1905 EasyMesh Agent service
Loaded: loaded (/lib/systemd/system/ieee1905_em_agent.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-08-07 05:54:31 UTC; 21min ago
Process: 4944 ExecStartPre=/bin/sh -c if [ ! -e "/sys/class/net/eth1_virt_peer/address" ]; then `/usr/ccsp/EasyMesh/setup_veth_for_em.sh brlan0 eth1 false`;fi (code=exited, status=0/SUCCESS)
Process: 4945 ExecStartPre=/bin/sh -c while [ ! -e /tmp/wifi_initialized ] && [ ! -e /tmp/wifi_dml_complete ] ;do sleep 1; done (code=exited, status=0/SUCCESS)
Process: 17690 ExecStartPre=/bin/sh -c sleep 5 (code=exited, status=0/SUCCESS)
Process: 19496 ExecStart=/bin/sh -c /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ieee1905::cmdu_observer=trace -i eth1_virt_peer >> /tmp/ieee1905_agent_log.txt & (code=exited, status=0/SUCCESS)
Main PID: 19497 (ieee1905)
Tasks: 7 (limit: 4713)
Memory: 18.8M
CGroup: /system.slice/ieee1905_em_agent.service
└─ 19497 /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ieee1905::cmdu_observer=trace -i eth1_virt_peer
Notice: journal has been rotated since unit was started, output may be incomplete.
root@Filogic-GW:~# systemctl status em_agent
● em_agent.service - EasyMesh Agent service
Loaded: loaded (/lib/systemd/system/em_agent.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-08-07 06:15:40 UTC; 17s ago
Process: 476399 ExecStartPre=/bin/sh -c /usr/ccsp/EasyMesh/setup_agent_pre.sh (code=exited, status=0/SUCCESS)
Process: 476405 ExecStartPre=/bin/sh -c sleep 15 (code=exited, status=0/SUCCESS)
Process: 482087 ExecStart=/bin/sh -c /usr/bin/onewifi_em_agent >> /tmp/em_agent.log & (code=exited, status=0/SUCCESS)
Main PID: 482089 (onewifi_em_agen)
Tasks: 8 (limit: 4713)
Memory: 8.8M
CGroup: /system.slice/em_agent.service
└─ 482089 /usr/bin/onewifi_em_agent
2025 Aug 07 06:15:25 Filogic-GW systemd[1]: Starting EasyMesh Agent service...
2025 Aug 07 06:15:40 Filogic-GW systemd[1]: Started EasyMesh Agent service.
|
...
cd /usr/ccsp/EasyMesh |
Observation in EM-
...
Controller device side:
1.Please ensure below processes are running in Ext1
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@Filogic-GW:~# systemctl status onewifi * onewifi.service - Cosa service Loaded: loaded (8;;file://Filogic-GW/lib/systemd/system/onewifi.service/lib/systemd/system/onewifi.service8;;; enabled; vendor preset: e) Active: active (running) since Thu 2022-04-28 17:43:15 UTC; 3min 29s ago TriggeredBy: * filogicwifiinitialized.path Process: 1781 ExecStartPre=/bin/sh /usr/ccsp/wifi/onewifi_pre_start.sh (code=exited, status=0/SUCCESS) Process: 2085 ExecStart=/usr/bin/OneWifi -subsys $Subsys (code=exited, status=0/SUCCESS) Main PID: 2086 (OneWifi) Tasks: 14 (limit: 4713) Memory: 38.2M CGroup: /system.slice/onewifi.service `- 2086 /usr/bin/OneWifi -subsys eRT. 2022 Apr 28 17:42:48 Filogic-GW systemd[1]: Starting Cosa service... 2022 Apr 28 17:42:53 Filogic-GW UTOPIA[2086]: system.syscfg Shared memory file not found 2022 Apr 28 17:42:53 Filogic-GW UTOPIA[2086]: 2022-04-28 17:42:53., ../../../../git/source/syscfg/lib/syscfg_lib.c:466, Error initializing sy 2022 Apr 28 17:43:15 Filogic-GW systemd[1]: Started Cosa service. 2022 Apr 28 17:44:01 Filogic-GW [OneWifi][2086]: WiFi radio radio1 is set to UP root@Filogic-GW:~# systemctl status ieee1905_em_agent * ieee1905_em_agent.service - ieee1905 EasyMesh Remote Agent service Loaded: loaded (8;;file://Filogic-GW/lib/systemd/system/ieee1905_em_agent.service/lib/systemd/system/ieee1905_em_agent.service8;;; enabl) Active: active (running) since Thu 2022-04-28 17:43:35 UTC; 3min 16s ago Process: 3284 ExecStartPre=/bin/sh -c /usr/ccsp/EasyMesh/setup_ext_pre.sh (code=exited, status=0/SUCCESS) Process: 3303 ExecStartPre=/bin/sh -c if [ ! -e "/sys/class/net/eth1_virt_peer/address" ]; then `/usr/ccsp/EasyMesh/setup_veth_for_em.sh ) Process: 3304 ExecStartPre=/bin/sh -c sleep 5 (code=exited, status=0/SUCCESS) Process: 3439 ExecStart=/bin/sh -c /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ie) Main PID: 3440 (ieee1905) Tasks: 7 (limit: 4713) Memory: 10.5M CGroup: /system.slice/ieee1905_em_agent.service `- 3440 /usr/bin/ieee1905 -f ieee1905::al_sap=trace,ieee1905::cmdu_handler=trace,ieee1905::cmdu_proxy=trace,ieee1905::cmdu_obserr 2022 Apr 28 17:43:30 Filogic-GW systemd[1]: Starting ieee1905 EasyMesh Remote Agent service... 2022 Apr 28 17:43:35 Filogic-GW systemd[1]: Started ieee1905 EasyMesh Remote Agent service. root@Filogic-GW:~# systemctl status em_agent * em_agent.service - EasyMesh Agent service Loaded: loaded (8;;file://Filogic-GW/lib/systemd/system/em_agent.service/lib/systemd/system/em_agent.service8;;; enabled; vendor preset:) Active: active (running) since Thu 2022-04-28 17:44:00 UTC; 2min 57s ago Process: 3283 ExecStartPre=/bin/sh -c sleep 30 (code=exited, status=0/SUCCESS) Process: 3621 ExecStartPre=/bin/sh -c /usr/ccsp/EasyMesh/setup_ext_pre.sh (code=exited, status=0/SUCCESS) Process: 3640 ExecStart=/bin/sh -c /usr/bin/onewifi_em_agent >> /tmp /tmp/em_agent.log & (code=exited, status=0/SUCCESS) Main PID: 3641 (onewifi_em_agen) Tasks: 9 (limit: 4713) Memory: 10.8M CGroup: /system.slice/em_agent.log & (code=exited, status=0/SUCCESS) service Main PID:`- 3641 (/usr/bin/onewifi_em_agen) Tasks: 9 (limit: 4713) Memory: 10.8M CGroup: /system.slice/em_agent.service `- 3641 /usr/bin/onewifi_em_agent |
...
agent |
2.Ensure mesh backhaul connectivity is established over 5G through wifi1.1 interface.
iw dev wifi1.3 info |
3.Verify mesh backhaul connection in EM-Contrller side as well.
iw dev wifi1.1.sta<i> info iw dev wifi1.1.sta<i> station dump ## This command gives information on connected client ie Extender1. |
4. Wait for few minutes( for Agent to propagate SSID information from Controller to OneWifi in Extender1) and then check
5. Test the connectivity to EM-Controller through backhaul
|
Test the connectivity with wireless clients.
1. Ensure Extender 1 is running properly with configured vap's of FH and BH.
2. Make atleast 7 feet distance from Ext1 to Ext2
3. Ensure ieee1905_em_agent,onewifi_em_agent processes are running in Ext2
4. Ensure mesh backhaul connectivity is established over 5G through wifi1.1 interface.
|
...
5. Verify mesh backhaul connection in
...
Extender1 side as well.
|
|
6. Wait for few minutes( for Agent to propagate SSID information from Controller to OneWifi in Extender2) and then check
7. Test the connectivity to EM-Controller through backhaul
ping 10.0.0.1 -c 5 |
Test the connectivity with wireless clients.
...
...