...
Scope
Goal is to provide easymesh AP RDK-B Easymesh Agent reference profile for RDK-B community
...
- OEM Device or SoC reference device should boot with Kernel & all required drivers should load & we should be in a position to login to shell
Roles & Responsibilities of each team to deliver EasyMesh AP solution to ISP's
- ISP's
- Define RFP with all requirements to
This will be a core reference profile for to develop AP agent profile on base SDK - This will help OEM's/SoC's to identify list of components required
- This will help OEM/SoC companies to prepare MVP for their ISP's (RDK Team will share test cases)
Block diagram
...
Yocto build instructions
Code Block |
---|
source meta-cmf-bananapi/setup-environment-refboard-rdkb
select option -1 (meta-cmf-bananapi/conf/machine/bananapi4-rdk-broadband-ap-extender.conf)
bitbake rdk-generic-ap-extender-image |
Features planned
Release consumers
EPIC details
...
- including RAM and flash requirement
- SoC Vendor
- Deliver Base Kernel & Drivers to OEM
- OEM
- Integrate SoC Kernel & drivers
- Customization of drivers if required
- OSS component Integration
- Onewifi integration
- EasyMesh Agent integration
- IEEE1905 Integration
- Developer testing
- Deliver working EasyMesh AP profile to ISP
- Agent device should onboard to gateway as Star
- Agent device should onboard to Agent device in Daisy chain
- There need to be a single EasyMesh Agent in Gateway as well as Agent profile
- CAPI integration
- EasyMesh Precertification
- Easymesh R6 certification
- ISP's
- Principal engineer reviews test results and code base (Kernel,Drivers,HAL,EasyMesh,Onewifi,rdk-wifi-hal,hostap,etc)shared by OEM
- Build the code
- Validate the code and make sure all fundamental use cases work
- Deliver the standard image with Dev testing team
- Dev test team do end to end validation of image and share feedback with principal engineer
- Principal engineer review feature with wifi architect & Product architect.
- Compare with product requirement
- Compare with architecture requirements
- Discuss and security related items
- Review against RFP requirements.
- Share feedback with OEM if any.
- Share additional requirements with OEM if they want to implement any ISP specific features
- Core wifi team need to handle ISP specific changes on easymesh repo and maintain a local patch or if its enhancement as per spec,contribute back to RDK
- System Integrators
- Get in sync with ISP/OEM/SoC
- App vendors
- Closely work with ISP and their associated SoC and OEM
- This will be a core reference profile for SoC and OEM's to develop AP agent profile on base SDK
- This will help OEM's/SoC's to identify list of components required
- This will help OEM/SoC companies to prepare MVP for their ISP's (RDK Team will share test cases)
What is the chipset RDK used for developing AP profile
Block diagram
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | emap |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 891 |
---|
height | 381 |
---|
revision | 2 |
---|
|
Yocto build instructions
Code Block |
---|
repo init -u https://code.rdkcentral.com/r/manifests -b rdkb-2025q2-kirkstone -m rdkb-bpi-ap-extsrc.xml
repo sync -j4 --no-clone-bundle |
Code Block |
---|
Cherry-pick below changes
1.Extender base change: https://github.com/rdkcentral/meta-cmf-bananapi/pull/137
git fetch https://github.com/ap934/meta-cmf-bananapi easymesh_ap_profile
git cherry-pick -m2 5ae571717c65501dac6568a9b4e90771052deb0a
2.EasyMesh AP change: https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-broadband/+/116676
git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-cmf-broadband refs/changes/76/116676/6 && git cherry-pick FETCH_HEAD
3.EasyMesh Makefile changes : https://github.com/rdkcentral/unified-wifi-mesh/pull/385 |
Code Block |
---|
source meta-cmf-bananapi/setup-environment-refboard-rdkb
select option -1 (meta-cmf-bananapi/conf/machine/bananapi4-rdk-broadband-ap-extender.conf)
bitbake rdk-generic-ap-extender-image |
Release consumers
EPIC details
Jira |
---|
server | JIRA |
---|
serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
---|
key | RDKBACCL-336 |
---|
|
Test Results
Daisy chain Topology
- Connected BPI gateway and extender via backhaul, with SSIDs up and running across all interfaces
- VAPs are broadcasting EasyMesh default SSIDs(eg, private_ssid, mesh_backhaul)
Code Block |
---|
title | BPI Gateway - Controller |
---|
collapse | true |
---|
|
root@Filogic-GW:~# cat /version.txt
imagename:rdkb-generic-broadband-image_rdkb-2025q2-kirkstone_20250619072648
BRANCH=rdkb-2025q2-kirkstone
YOCTO_VERSION=kirkstone
VERSION=rdkb-2025q2-kirkstone.06.19.25
SPIN=0
BUILD_TIME="2025-06-19 07:26:48"
JENKINS_JOB=Default
JENKINS_BUILD_NUMBER=0
Generated on Thu Jun 19 07:26:48 UTC 2025
root@Filogic-GW:~# iw dev
phy#0
Interface wifi1.1.sta1
ifindex 22
wdev 0x5
addr 00:0c:43:26:60:14
type AP/VLAN
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
4addr: on
Radios: 0 1 2
Interface wifi1.1
ifindex 21
wdev 0x4
addr 00:0c:43:26:60:14
ssid mesh_backhaul
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 7.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi2
ifindex 20
wdev 0x3
addr 00:0c:43:26:60:16
ssid private_ssid
type AP
channel 5 (5975 MHz), width: 160 MHz, center1: 6025 MHz
txpower 12.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi1
ifindex 19
wdev 0x2
addr 00:0c:43:26:60:12
ssid private_ssid
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 7.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 442 0 0 0 237 46175 445
Radios: 0 1 2
Interface wifi0
ifindex 18
wdev 0x1
addr 00:0c:43:26:60:10
ssid private_ssid
type AP
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 6.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 136 0 0 0 28 24368 139
Radios: 0 1 2
root@Filogic-GW:~# |
- Mesh backhaul connectivity is established over 5G through wifi1.1 interface, verified wifi1.1.sta is up in controller
- Ping to connected client was successful
Code Block |
---|
title | BPI Extender 1 |
---|
collapse | true |
---|
|
root@Filogic-GW:~# cat /version.txt
imagename:rdk-generic-ap-extender-image_rdkb-2025q2-kirkstone_20250619071603
BRANCH=rdkb-2025q2-kirkstone
YOCTO_VERSION=kirkstone
VERSION=rdkb-2025q2-kirkstone.06.19.25
SPIN=0
BUILD_TIME="2025-06-19 07:16:03"
JENKINS_JOB=Default
JENKINS_BUILD_NUMBER=0
Generated on Thu Jun 19 07:16:03 UTC 2025
root@Filogic-GW:~# ping 10.0.0.1 -c 5
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=7.59 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.934 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.906 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.966 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.56 ms
--- 10.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.906/2.392/7.594/2.612 ms
root@Filogic-GW:~# iw dev
phy#0
Interface wifi0.1.sta1
ifindex 22
wdev 0x6
addr 00:0c:43:26:60:19
type AP/VLAN
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
4addr: on
Radios: 0 1 2
Interface wifi1.1
ifindex 21
wdev 0x5
addr 00:0c:43:26:60:1b
ssid mesh_backhaul
type managed
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 23.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
4addr: on
Radios: 0 1 2
Interface wifi0.1
ifindex 20
wdev 0x4
addr 00:0c:43:26:60:19
ssid mesh_backhaul
type AP
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 27.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi2
ifindex 19
wdev 0x3
addr 00:0c:43:26:60:1c
ssid private_ssid
type AP
channel 5 (5975 MHz), width: 160 MHz, center1: 6025 MHz
txpower 12.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi1
ifindex 18
wdev 0x2
addr 00:0c:43:26:60:1a
ssid private_ssid
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 23.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 603 0 0 0 195 50427 605
Radios: 0 1 2
Interface wifi0
ifindex 17
wdev 0x1
addr 00:0c:43:26:60:18
ssid private_ssid
type AP
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 27.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 457 0 0 0 135 47507 478
Radios: 0 1 2
root@Filogic-GW:~# |
- mesh backhaul connectivity is established over 2.4G through wifi0.1 interface and verified wifi0.1.sta interface up in Extender 1
- VAPs will be broadcasting default EasyMesh SSIDS (ie private_ssid, mesh_backhaul)
- Ping to connected client was successful
Code Block |
---|
title | BPI Extender 2 (Daisy Chain Topology) |
---|
collapse | true |
---|
|
root@Filogic-GW:~# cat /version.txt
imagename:rdk-generic-ap-extender-image_rdkb-2025q2-kirkstone_20250619071603
BRANCH=rdkb-2025q2-kirkstone
YOCTO_VERSION=kirkstone
VERSION=rdkb-2025q2-kirkstone.06.19.25
SPIN=0
BUILD_TIME="2025-06-19 07:16:03"
JENKINS_JOB=Default
JENKINS_BUILD_NUMBER=0
Generated on Thu Jun 19 07:16:03 UTC 2025
root@Filogic-GW:~# ping 10.0.0.1 -c 5
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.55 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=7.84 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=4.48 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=1.57 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.55 ms
--- 10.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 1.549/3.797/7.838/2.317 ms
root@Filogic-GW:~#
root@Filogic-GW:~#
root@Filogic-GW:~#
root@Filogic-GW:~#
root@Filogic-GW:~# iw dev
phy#0
Interface wifi2
ifindex 20
wdev 0x4
addr 00:0c:43:26:60:23
ssid private_ssid
type AP
channel 5 (5975 MHz), width: 160 MHz, center1: 6025 MHz
txpower 12.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi1
ifindex 19
wdev 0x3
addr 00:0c:43:26:60:22
ssid private_ssid
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 7.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi0.1
ifindex 18
wdev 0x2
addr 00:0c:43:26:60:21
ssid mesh_backhaul
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 6.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
4addr: on
Radios: 0 1 2
Interface wifi0
ifindex 17
wdev 0x1
addr 00:0c:43:26:60:20
ssid private_ssid
type AP
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 6.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
root@Filogic-GW:~#
|
Star Topology
- BPI gateway acting as the central node and the extender 2 connected via backhaul
- Mesh backhaul connectivity is established over 5G through wifi1.1 interface, verified wifi1.1.sta2 is up in controller
- Ping to connected client was successful
Code Block |
---|
title | BPI Extender 3 (STAR Topology) |
---|
collapse | true |
---|
|
root@Filogic-GW:~# cat /version.txt
imagename:rdk-generic-ap-extender-image_rdkb-2025q2-kirkstone_20250619071603
BRANCH=rdkb-2025q2-kirkstone
YOCTO_VERSION=kirkstone
VERSION=rdkb-2025q2-kirkstone.06.19.25
SPIN=0
BUILD_TIME="2025-06-19 07:16:03"
JENKINS_JOB=Default
JENKINS_BUILD_NUMBER=0
Generated on Thu Jun 19 07:16:03 UTC 2025
root@Filogic-GW:~#
root@Filogic-GW:~# ping 10.0.0.1 -c 5
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.32 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.916 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.973 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.998 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.63 ms
--- 10.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.916/1.567/3.319/0.913 ms
root@Filogic-GW:~# iw dev
phy#0
Interface wifi1.1
ifindex 20
wdev 0x4
addr 00:0c:43:26:60:2a
ssid mesh_backhaul
type managed
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 23.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
4addr: on
Radios: 0 1 2
Interface wifi2
ifindex 19
wdev 0x3
addr 00:0c:43:26:60:2b
ssid private_ssid
type AP
channel 5 (5975 MHz), width: 160 MHz, center1: 6025 MHz
txpower 12.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi1
ifindex 18
wdev 0x2
addr 00:0c:43:26:60:29
ssid private_ssid
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 23.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
Interface wifi0
ifindex 17
wdev 0x1
addr 00:0c:43:26:60:28
ssid private_ssid
type AP
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 27.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Radios: 0 1 2
root@Filogic-GW:~# #connected client
root@Filogic-GW:~# ping 10.0.0.149
PING 10.0.0.149 (10.0.0.149) 56(84) bytes of data.
64 bytes from 10.0.0.149: icmp_seq=1 ttl=64 time=544 ms
64 bytes from 10.0.0.149: icmp_seq=2 ttl=64 time=249 ms
64 bytes from 10.0.0.149: icmp_seq=3 ttl=64 time=191 ms
64 bytes from 10.0.0.149: icmp_seq=4 ttl=64 time=91.6 ms
64 bytes from 10.0.0.149: icmp_seq=5 ttl=64 time=118 ms
^C
--- 10.0.0.149 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 91.556/238.752/543.935/162.314 ms |
...
Child Pages
Advanced Content Navigator |
---|
...
TBD
Current changes
All changes are currently in meta-cmf-bananapi layer including bb files (https://github.com/rdkcentral/meta-cmf-bananapi/pull/137), once changes in meta-rdk merges, will change accordingly.
...