Versions Compared

Key

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

...

Enable 3-link MLO for private VAPs via TR-181 DM

# Make sure BE mode is enabled.
dmcli eRT setv Device.WiFi.Radio.1.OperatingStandards string g,n,ax,be
dmcli eRT setv Device.WiFi.ApplyRadioSettings bool true

dmcli eRT setv Device.WiFi.SSID.1.X_RDK_MLDLinkID uint 2
dmcli eRT setv Device.WiFi.SSID.2.X_RDK_MLDLinkID uint 0
dmcli eRT setv Device.WiFi.SSID.17.X_RDK_MLDLinkID uint 1

dmcli eRT setv Device.WiFi.SSID.1.MLDUnit int 0
dmcli eRT setv Device.WiFi.SSID.2.MLDUnit int 0
dmcli eRT setv Device.WiFi.SSID.17.MLDUnit int 0

dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true

sleep 30


Test Results

Code Block
languageshell
titleEnabling Commands Execution
collapsetrue
root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.1.X_RDK_MLDLinkID uint 2
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.2.X_RDK_MLDLinkID uint 0
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.17.X_RDK_MLDLinkID uint 1
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# 
root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.1.MLDUnit int 0
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.2.MLDUnit int 0
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.17.MLDUnit int 0
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# 
root@Filogic-GW:~# dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# iw dev
phy#0
	Interface mld0
		ifindex 21
		wdev 0x4
		addr 02:02:30:ec:07:95
		ssid BPI-RDKB-MLO-AP-ec078e
		type AP
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	0	0	0	0	0	0		0
		MLD with links:
		 - link ID  0 link addr 02:02:10:ec:07:92
		   channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
		   txpower 6.00 dBm
		 - link ID  1 link addr 02:02:20:ec:07:93
		   channel 44 (5220 MHz), width: 80 MHz, center1: 5210 MHz
		   txpower 7.00 dBm
		 - link ID  2 link addr 02:02:30:ec:07:94
		   channel 37 (6135 MHz), width: 160 MHz, center1: 6185 MHz
		   txpower 12.00 dBm
		Radios: 0 1 2
	Interface wifi2
		ifindex 20
		wdev 0x3
		addr 02:02:30:ec:07:94
		type AP
		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 02:02:20:ec:07:93
		type AP
		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
		ifindex 18
		wdev 0x1
		addr 02:02:10:ec:07:92
		type AP
		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:~# 

...

Disable MLO for private vaps via TR-181 DM

# Whole group
dmcli eRT setv Device.WiFi.SSID.1.MLDUnit int -1 
dmcli eRT setv Device.WiFi.SSID.2.MLDUnit int -1
dmcli eRT setv Device.WiFi.SSID.17.MLDUnit int -1
dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true


Test Results

Code Block
languageshell
titleDisabling commands Execution
collapsetrue
root@Filogic-GW:~# iw dev
phy#0
	Interface mld0
		ifindex 21
		wdev 0x4
		addr 02:02:30:ec:07:95
		ssid BPI-RDKB-MLO-AP-ec078e
		type AP
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	0	0	0	0	0	0		0
		MLD with links:
		 - link ID  0 link addr 02:02:10:ec:07:92
		   channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
		   txpower 6.00 dBm
		 - link ID  1 link addr 02:02:20:ec:07:93
		   channel 44 (5220 MHz), width: 80 MHz, center1: 5210 MHz
		   txpower 7.00 dBm
		 - link ID  2 link addr 02:02:30:ec:07:94
		   channel 37 (6135 MHz), width: 160 MHz, center1: 6185 MHz
		   txpower 12.00 dBm
		Radios: 0 1 2
	Interface wifi2
		ifindex 20
		wdev 0x3
		addr 02:02:30:ec:07:94
		type AP
		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 02:02:20:ec:07:93
		type AP
		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 18
		wdev 0x1
		addr 02:02:10:ec:07:92
		type AP
		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:~# 
root@Filogic-GW:~# 
root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.1.MLDUnit int -1 
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.2.MLDUnit int -1
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.SSID.17.MLDUnit int -1
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true 
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.

root@Filogic-GW:~# iw dev
phy#0
	Interface mld0
		ifindex 21
		wdev 0x4
		addr 02:02:30:ec:07:95
		type AP
		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
	Interface wifi2
		ifindex 20
		wdev 0x3
		addr 02:02:30:ec:07:94
		ssid BPI-RDKB-MLO-AP-ec078e
		type AP
		channel 37 (6135 MHz), width: 160 MHz, center1: 6185 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 02:02:20:ec:07:93
		ssid BPI-RDKB-MLO-AP-ec078e
		type AP
		channel 44 (5220 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
		ifindex 18
		wdev 0x1
		addr 02:02:10:ec:07:92
		ssid BPI-RDKB-MLO-AP-ec078e
		type AP
		channel 1 (2412 MHz), width: 40 MHz, center1: 2422 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:~# 

==========================================================================================================================================

Deprecated old Read-only DML (Can be used only for debugging purposes)

Code Block
languageshell
titleRead-Only DML
collapsetrue
dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_Enable

...


dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_ID

...


dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_Link_ID

...


dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_

...

Addr
# dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_Apply (Completly removed)

Banana Pi MLO config

Configuration for Banana Pi is slightly different from the ones we have for XB platform devices.

  • we do not set Link_IDs. These are set by hostapd/rdk-wifi-hal and should be left untouched.
  • legacy: there is still partial dependency left on InterfaceMap.json which will be removed in the future. Currently, the VAPs belonging to MLD group have to have common MLD name defined in the JSON.
  • legacy: wireless MLD device has to be precreated prior to setup of the MLD

Below is how we setup MLO for VAPs as well as listings showing the legacy fields mentioned. Legacy fields will be made obsolete with further development and alignment toward unified handling.

#legacy nvram/IntefaceMap.json entry
 { 
"InterfaceName": "wifi2",
"MldName": "mld0",
"Bridge": "brlan0",
"vlanId": 0,
"vapIndex": 16, 
"vapName": "private_ssid_6g"

#legacy wireless MLD setup of /usr/ccsp/wifi/onewifi_pre_start.sh
iw phy phy0 interface add mld0 type __ap radios all