WiFi | 软件:茶邓浅谈 高通 Wi-Fi EasyMesh 初始设定Sample 1

前言:

高通支持Wi-Fi EasyMesh功能。将装置分为CAP以及RE两个角色。透过IEEE 1905协议,彼此交互传递讯息。随著WiFi6、WiFi7规格的进程,EasyMesh也需要对6G Band以及MLO等功能进行支持。初始设定也有些许的修改。列出Miami-RDP468/RDP441 MLO[BH: 5+6; FH: 5+6] 的设定供大家参考。

范例 CAP:

/usr/sbin/wifimeshconfig map

sleep 5



uci set wireless.qcawifi=qcawifi

uci set wireless.qcawifi.samessid_disable=1

uci set wireless.qcawifi.ema_ap_support_wps_in_6ghz=1

uci set wireless.qcawifi.ema_ap_vendor_ie_size_low=0x55556666

uci set wireless.qcawifi.ema_ap_vendor_ie_size_high=0x55555555

#uci set wireless.qcawifi.enable_6ghz_sp_pwrmode_supp=1

#uci set wireless.qcawifi.afc_reg_no_action=1

uci set wireless.wifi2.band='3'

uci commit wireless

wifi load

sleep 5



uci set network.lan.ipaddr='192.168.1.201'

uci set network.lan.netmask='255.255.255.0'

uci set network.lan.multicast_querier=1

uci set network.lan.igmp_snooping=1

uci commit network

/etc/init.d/network restart

/etc/init.d/dnsmasq restart

sleep 2



uci set wireless.wifi0.htmode=EHT40+

uci set wireless.wifi1.htmode=EHT320

uci set wireless.wifi2.htmode=EHT320

uci set wireless.wifi0.repacd_create_ctrl_fbss=1

uci set wireless.wifi0.repacd_create_ctrl_bbss=1

uci set wireless.wifi1.repacd_create_ctrl_fbss=1

uci set wireless.wifi1.repacd_create_ctrl_bbss=1

uci set wireless.wifi2.repacd_create_ctrl_fbss=1

uci set wireless.wifi2.repacd_create_ctrl_bbss=1

uci set wireless.wifi1.mloenabled=1

uci set wireless.wifi2.mloenabled=1

#uci set wireless.wifi2.regdomain='0x90000'

#uci set wireless.wifi2.dcs_afc_random_chan_en=1

uci commit wireless



uci set ezmesh.MultiAP.EnableChannelSelection=1

uci set ezmesh.MultiAP.BkScanIntervalMin=0

uci set ezmesh.MultiAP.ChannelSelectionDelaySec=360

uci set ezmesh.MultiAP.ChannelSelectionOnGlobalPref=0

uci set ezmesh.MultiAP.UseCBSRankForHomeChan='1'

uci set ezmesh.MultiAP.EnableChanPrefQuery=0

uci set ezmesh.MultiAP.UseCACResultForChanSelection=1

uci set ezmesh.MultiAP.EnableTopologyOpt=1

uci set ezmesh.MultiAP.TopologyOptMinIncreasePercentage='5'

uci set ezmesh.MultiAP.TopologyOptMaxIdleWaitSecs='450'

uci set ezmesh.Monitor.DisableSteeringMax11kUnfriendlyClients='0'

uci set ezmesh.MultiAP.ControllerChanSelection320MHz='1'

uci set ezmesh.MultiAP.ControllerChanSelection240MHz='1'

uci set ezmesh.MultiAP.ControllerChanSelection160MHz='1'

uci set ezmesh.MultiAP.ControllerChanSelection40MHzOn2G='1'

uci set ezmesh.MultiAP.AgentChanSelection320MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection240MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection160MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection40MHzOn2G='1'



uci set ezmesh.MultiAP.EnableTopologyOptBstaMetricsAveraging='1'

uci set ezmesh.MultiAP.EnableLastTxRateStatsAveraging='1'

uci commit ezmesh



uci set ezlbd.APSteer.DisableSteering11kUnfriendlyClients='0'

uci set ezlbd.APSteer.DisableMonitoringLegacyClients='0'

uci set ezlbd.APSteer.DisableSteeringInactiveLegacyClients='0'

uci set ezlbd.APSteer.DisableSteeringActiveLegacyClients='0'

uci set ezlbd.IAS.MaxPollutionTime='150'

uci set ezlbd.SteerExec.SteeringProhibitTime='60'

uci set ezlbd.Estimator_Adv.11kProhibitTimeLong='60'

uci set ezlbd.APSteer.LowRSSIAPSteerThreshold_SIG='35'

uci set ezlbd.APSteer.APSteerMaxRetryCount='120'

uci set ezlbd.config.InactDetectionFromTx='1'

uci set ezlbd.StaDB.MarkAdvClientAsDualBand=1

uci set ezlbd.SteerExec_Adv.StartInBTMActiveState=1

uci set ezlbd.Estimator_Adv.EnableRcpiTypeClassification=0

uci set ezlbd.StaDB.EnableBSSMetricAveragingForMLO='1'

uci set ezlbd.config.EnableMulti11kRequest=1

uci set ezlbd.Estimator_Adv.Delayed11kRequesttimer='1'

uci set ezlbd.config_Adv.AgeLimit=10

uci set ezlbd.config.PreferredSteeringBand=2

uci commit ezlbd



uci set repacd.repacd.Enable=1

uci set repacd.repacd.ConfigREMode='son'

uci set repacd.MAPConfig.Enable=1

uci set repacd.repacd.Ezmesh='1'

uci set repacd.repacd.Ezmesh6GEnable='1'

uci set repacd.MAPConfig.FirstConfigRequired=1

uci set repacd.MAPConfig.BSSInstantiationTemplate='scheme-d.conf'

uci set repacd.MAPConfig.FronthaulAuthType=1

uci set repacd.MAPConfig.FronthaulAuthTypeNwOne=1

uci set repacd.MAPConfig.FronthaulAuthTypeNwTwo=1

uci set repacd.MAPConfig.FronthaulAuthTypeNwThree=1

uci set repacd.MAPConfig.BackhaulAuthType=1

uci set repacd.MAPConfig.MapVersionEnabled=2

uci set repacd.MAPConfig.MapTrafficSeparationEnable=1

uci set repacd.MAPConfig.NumberOfVLANSupported=3

uci set repacd.MAPConfig.FronthaulSSID='MLO-BK-fbss'

uci set repacd.MAPConfig.FronthaulKey='map-fbss'

uci set repacd.MAPConfig.FronthaulSSIDNwOne='MLO-BK-fbss-one'

uci set repacd.MAPConfig.FronthaulKeyNwOne='map-fbss-one'

uci set repacd.MAPConfig.FronthaulSSIDNwTwo='MLO-BK-fbss-Two'

uci set repacd.MAPConfig.FronthaulKeyNwTwo='map-fbss-Two'

uci set repacd.MAPConfig.BackhaulSSID='MLO-BK-bbss'

uci set repacd.MAPConfig.BackhaulKey='map-bbss'

uci set repacd.MAPConfig.EnableSmartMonitorMode=1

uci set repacd.MAPConfig.BridgeProtoNwOne='static'

uci set repacd.MAPConfig.BridgeIPAddressNwOne='192.168.2.201'

uci set repacd.MAPConfig.BridgeProtoNwTwo='static'

uci set repacd.MAPConfig.BridgeIPAddressNwTwo='192.168.3.201'

uci set repacd.MAPConfig.MLDConfig="mld0:5G 6G,mld1:5G 6G"

uci set repacd.MAPConfig.FronthaulMld='mld1'

uci set repacd.MAPConfig.BackhaulMld='mld0'

uci set repacd.MAPConfig.EnableMLO='1'

uci set repacd.MAPConfig.R1AgentAssocDisAllowed=1

uci set repacd.MAPConfig.R2AgentAssocDisAllowed=0

uci set repacd.MAPConfig.CombinedR1R2Backhaul=0

uci set repacd.MAPConfig.VlanIDNwPrimary=10

uci set repacd.MAPConfig.VlanIDNwOne=20

uci set repacd.MAPConfig.VlanIDNwTwo=30

uci set repacd.MAPConfig.TSUseSameBridgeMAC='0'

#uci set repacd.MAPConfig.AdditionalFH="New_fbss1:11111111:1,New_fbss2:22222222:1,New_fbss3:33333333:0"

uci set repacd.MAPConfig.MapFastOnboarding=1

uci set repacd.MAPConfig.EnableSLO='1'

uci set repacd.MAPConfig.mld_mac_addr="00:2A:F5:22:14:31"

uci set repacd.MAPConfig.EnableSingleNetdev='1'

uci commit repacd



uci set wsplcd.config.EnableMLO=1

uci set wsplcd.config.MapMaxBss=8

uci set wsplcd.config.EnableSLO=1

uci commit wsplcd



uci commit

/etc/init.d/repacd start

范例RE:

/usr/sbin/wifimeshconfig map

sleep 5



uci set wireless.wifi2.band='3'

uci set wireless.qcawifi=qcawifi

uci set wireless.qcawifi.samessid_disable=1

uci set wireless.qcawifi.ema_ap_support_wps_in_6ghz=1

uci set wireless.qcawifi.ema_ap_vendor_ie_size_low=0x55556666

uci set wireless.qcawifi.ema_ap_vendor_ie_size_high=0x55555555

uci commit wireless

wifi load

sleep 5



uci set dhcp.lan.ignore=1

uci delete dhcp.lan1

uci set dhcp.lan1=dhcp

uci set dhcp.lan1.ignore=1

uci delete dhcp.lan2

uci set dhcp.lan2=dhcp

uci set dhcp.lan2.ignore=1

uci commit dhcp



uci set network.lan.proto=dhcp

uci delete network.wan;

uci commit network

/etc/init.d/network restart

/etc/init.d/firewall restart

/etc/init.d/dnsmasq restart

sleep 5



uci set wireless.wifi1.repacd_map_bsta_preference=1

uci set wireless.wifi0.repacd_map_bsta_preference=2

uci set wireless.wifi2.repacd_map_bsta_preference=3

uci set wireless.wifi0.repacd_create_ctrl_fbss=1

uci set wireless.wifi1.repacd_create_ctrl_fbss=1

uci set wireless.wifi2.repacd_create_ctrl_fbss=1

uci set wireless.wifi1.mloenabled=1

uci set wireless.wifi2.mloenabled=1

uci set wireless.wifi0.htmode=EHT40+

uci set wireless.wifi1.htmode=EHT320

uci set wireless.wifi2.htmode=EHT320

uci set wireless.wifi2.channel=117

uci commit wireless



uci set ezmesh.MultiAP.EnableChannelSelection=1

uci set ezmesh.MultiAP.EnableTopologyOpt=1

uci set ezmesh.MultiAP.TopologyOptMinIncreasePercentage='5'

uci set ezmesh.MultiAP.AgentChanSelection320MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection240MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection160MHz='1'

uci set ezmesh.MultiAP.AgentChanSelection40MHzOn2G='1'

uci commit ezmesh

uci set ezlbd.APSteer.DisableMonitoringLegacyClients='0'

uci set ezlbd.APSteer.DisableSteeringInactiveLegacyClients='0'

uci set ezlbd.APSteer.DisableSteeringActiveLegacyClients='0'

uci set ezlbd.StaDB.MarkAdvClientAsDualBand=1

uci set ezlbd.SteerExec_Adv.StartInBTMActiveState=1

uci set ezlbd.StaDB.EnableBSSMetricAveragingForMLO='1'



uci set repacd.repacd.Enable=1

uci set repacd.repacd.ConfigREMode='son'

uci set repacd.MAPConfig.FirstConfigRequired=1

uci set repacd.MAPConfig.Enable=1

uci set repacd.MAPConfig.MapVersionEnabled=2

uci set repacd.MAPConfig.MapTrafficSeparationEnable=1

uci set repacd.MAPConfig.NumberOfVLANSupported=3

uci set repacd.MAPConfig.EnableSmartMonitorMode=1

uci set repacd.MAPConfig.EnableMapTSLogs=1

uci set repacd.MAPConfig.TSUseSameBridgeMAC='0'

uci set repacd.MAPConfig.MapFastOnboarding=1

uci set repacd.MAPConfig.StartWithHighestPrefSTA=1

uci set repacd.MAPConfig.EnableMLO='1'

uci set repacd.repacd.Ezmesh='1'

uci set repacd.repacd.Ezmesh6GEnable='1'

uci set repacd.MAPConfig.EnableSingleNetdev='1'

uci set repacd.MAPConfig.EnableSLO='1'

uci set repacd.MAPConfig.mld_mac_addr="00:3A:F5:62:24:31"

uci commit repacd



uci set wsplcd.config.MapMaxBss=8

uci set wsplcd.config.EnableMLO=1

uci set wsplcd.config.EnableSLO=1

uci commit wsplcd



uci commit

/etc/init.d/repacd start

Onboarding :

使用WPS功能做Onboarding。 直接按WPS button或用WPS command模拟按WPS button的动作

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

env -i ACTION="pressed" BUTTON="wps"  /sbin/hotplug-call button; sleep 1; env -i ACTION="released" BUTTON="wps"  /sbin/hotplug-call button

解析:

  1. 首先使用/usr/sbin/wifimeshconfig map 指令,将程式集链结到mesh。
  2. 设定network。 CAP是路由器,RE是Repeater
  3. 设定wireless。确保6G band可以使用

uci set wireless.qcawifi.ema_ap_support_wps_in_6ghz=1

uci set wireless.wifi2.band='3'

使用mlo的界面

uci set wireless.wifi1.mloenabled=1

uci set wireless.wifi2.mloenabled=1

  1. 设定ezmesh,基本都是预设值,不需要更改
  2. 设定ezlbd﹑,基本都是预设值,不需要更改
  3. 设定repacd, repacd是最主要的启动程序。会自动去修改wireless中的设定,比如ssid, password等等。
  4. 设定wpslcd,这个设定是针对clone行为的参数,所以BSS的数量很重要要特别设定 uci set wsplcd.config.MapMaxBss=8
  5. 最后/etc/init.d/repacd start 用来当作mesh的entry point。进行一系列的设定跟初始化。

结论:

高通Wi-Fi EasyMesh,透过repacd来实现自动设定。在uci中做一些关键性的设定。脚本会自行对wireless区动作设置,虽然uci的设定看起来很复杂,但是执行起来也是很直观的。毕竟高通已经提供了相当完整的脚本应用。

提问:

1.使用mesh与不使用mesh的差异?

Ans: 使用mesh的时候 wireless会被repacd脚本做重新配置,所以不可以自己去建立uci wireless 的内容。

2.为什么要执行/usr/sbin/wifimeshconfig map?

Ans: 过去高通有SON的功能,使用的hyd等程式相对于ezmesh是相同的功能。这个指令就是做SON, MAP的切换。

3.Wi-Fi 6G的使用一定要启动MLO吗?

Ans: MLO是WiFi 7的规格之一,高通的Easymesh同样可以支持WiFi 6E 所以MLO并不是一定要启动的。

4.ezmsh、wsplcd、ezlbd这些程式的功能?

Ans: ezmesh : 是建立mesh topology的主程式。 ezlbd : 主要实现wifi load balance的功能。 wsplcd:  住要实现wifi clone的功能。

5.一定要使用WPS来做Onboarding吗?

Ans: WPS,DDP都是使用来Onboarding的方法。

欢迎登录大大通,获取更多精彩技术内容!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值