prplos/profiles
Houssem Dafdouf 3b9f7d6aa7 profiles:prpl-core.yml: feed-prplmesh: rad: fix validation of puncturing channels and apply dynamically via setChanspec isof global hostapd restart and chanspec: add apis to build, parse and validate static puncturing bitmaps
PWHM:
=====

Problem:

- static puncturing bitmap is always assumed as part of EhtOperIE even
if not punctbitmap is provided
- incomplete validation of puncturing channel list: only checking
the radio's possible channels but not bitmaps reference values from
IEEE P802.11be/D3.0, Table 36-30 - Definition of the Punctured
Channel Information field
- applying disabledSubChannels (punctChans) leads to global hostapd
restart for a cold applying
- however, punctBitmaps could be applied smoothly via ChannelSwitch or
at most level with single radio toggle (isof global hostapd restart)
- many existing unit tests are failing (not updated with recent pwhm
changes)

Fix:

- read current PUNCT_BITMAP from NL80211 and wpactrl events
CTRL-EVENT-STARTED-CHANNEL-SWITCH and CTRL-EVENT-CHANNEL-SWITCH
- rework wld_util_buildEhtOperationIE to provide in output the
effectively filled length
- add rad api build EhtOperationIE based on rad info
- validate puncturing channel list based on:
 * reference punct bitmaps values from the standard
 * supported radio std >= 11be
 * possible channels
 * whether applicable regarding radio's max possible channel bandwidth
- manage applying puncturing channels (when applicable) through target
chanspec
- build hostapd conf and CHAN_SWITCH args using punctBitmap in tgt
chanspec
- add punctChannels to channelChange notification
- build currentEhtOperIE data using current chanspec details (including
puncturing bitmap)
- fix existing unit tests and add new ones

libswlc:
========

New apis:

- add apis to validate puncturing bitmap against reference values from
IEEE P802.11be/D3.0, Table 36-30 - Definition of the Punctured Channel
Information field
- add apis to build puncturing bitmap from punctured channels list, and
the other way around
- add puncturing bitmap to channel specification, and dumping pattern
for proper display of current punct bitmap
- support parsing 80211 EHTOper IE conforming to old std 11be D1.0
- remove fall through for unknown bw values
- add relative unit tests

Integrates:
- 9410341ee: ("pwhm: test: adapt unit test_getEhtOperIe to build frame with current chanspec", 2026-03-11)
- 1f060e75b: ("pwhm: rad: apply puncturing channels via setChanspec isof global hostapd restart", 2026-03-10)
- d69923639: ("pwhm: test: add unit test to check puncturing channel list validity", 2026-03-10)
- 2775a7ccb: ("pwhm: rad: fix detection of invalid puncturing channel list", 2026-03-10)
- 8a5ff0a19: ("pwhm: radStd: add api to get Applicable Radio Standards", 2026-03-10)
- f759fe407: ("pwhm: scan: add puncturing bitmap to scan result neighbor info", 2026-03-09)
- 3ba4baadd: ("pwhm: test: adapt unit test_getEHTOperations to manage dynamic IE length", 2026-03-09)
- 98e47b293: ("pwhm: rad: manage dynamic length of EhtOperationInfo element", 2026-03-09)
- cdf798112: ("pwhm: wpactrl: parse puncturingBitmap from wpactrl event", 2026-03-09)
- 92c510d04: ("pwhm: nl80211: support parse/format puncturingBitmap from nl80211 chan info", 2026-03-09)
- 894cbad74: ("pwhm: chan: fix detecting invalid chanspec with null channels", 2026-03-09)
- 0221f655a: ("pwhm: apmld: fix build issue: missing retcode", 2026-03-09)
- 21664aa1e: ("pwhm: test: fix unit test test_apmld_create", 2026-03-08)
- 1d0b775ba: ("pwhm: test: fix unit test test_ep_freq_list", 2026-03-08)
- a05cb967c: ("pwhm: test: fix unit test test_wpa3_compatibility_mode", 2026-03-08)
- 6ec1b29b7: ("pwhm: test: fix invalid operClass values in unit test fullScan", 2026-03-08)
- 299326eeb: ("pwhm: scan: fix memLeak when building full scan results", 2026-03-08)
- 29dca9e29: ("pwhm: test: fix unit test testRadio11be", 2026-03-08)
- 2f251c919: ("pwhm: test: fix unit tests testStaStats and testStaStatsWiFi7", 2026-03-08)
- bdfa9de: ("libswlc: genFrmParser: add unit test to parse puncturing bitmap from EHTOperIE", 2026-02-21)
- c624f20: ("libswlc: chanspec: add unit tests for puncturing bitmaps check/build/parse", 2026-02-19)
- 93b40c2: ("libswlc: chanspec: add apis to build, parse and validate static puncturing bitmaps", 2026-02-19)
- f40b739: ("libswlc: genFrmParser: remove fall through for unknown bw values", 2026-02-21)
- 2ed3d01: ("libswlc: genFrmParser: add unit test to parse EHTOper IE conforming to old std 11be D1.0", 2026-02-21)
- fb48adc: ("libswlc: genFrmParser: support parsing 80211 EHTOper IE conforming to old std 11be D1.0", 2026-02-21)
- 670c2e0: ("libswlc: genFrmParser: add unit test to parse 80211 EHTOper IE and detect 320MHz extension High/Low", 2026-02-21)
- f62bca4: ("libswlc: unittest: fix unit tests build issue", 2026-02-22)
- 6ab4524: ("libswlc: unittest: fix unit tests cleanup", 2026-02-22)
- 0254645: ("libswlc: genFrmParser: fix unit test parsing Extended Supported Rates", 2026-02-22)
- 05ec34f: ("libswlc: hex: fix unit test of parsing odd number of hex digits", 2026-02-22)
- ef78577: ("libswlc: hex: fix occasional Issue with Sending MgmtActionFrameReceived Notification", 2026-02-22)
- d2cd134: ("libswlc: common: fix coverity warning with SWL_ARRAY_SIZE", 2026-03-11)

References: PPM-3836 PPM-3302
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-25 15:42:19 +01:00
..
cellular.yml profiles: netmodel-cellular: move from prpl to cellular profile 2025-07-31 15:27:04 +00:00
debug.yml PROVISORY: profiles: fix debug.yml iw-full package clashes 2025-07-31 15:21:07 +00:00
extender_full.yml profiles: prpl: add tr069-discovery (FEAT-134) 2025-10-08 10:50:07 +02:00
extender_minimal.yml profiles: prpl: add Extender profiles 2025-10-06 12:19:35 +02:00
ipq40xx.yml profiles: prpl: prplMesh v4.0.1 with pwhm enabled 2025-07-31 10:33:01 +00:00
ipq807x.yml profiles: ipq807x: fix tr181-buttons kernel module dependencies clash 2025-07-31 15:26:31 +00:00
lcm.yml profiles: lcm.yml: feed_lcm: Memory is exhausted after consecutive start stop of applications using prplware-v4.0.2 2026-03-12 15:20:46 +01:00
mgmt.yml profiles: prpl: splitting the prpl profile into components 2025-10-06 11:56:17 +03:00
mtk_filogic.yml profiles: mtk_filogic: Bump mediatek profile to account for new WiFi nodes 2026-03-10 08:53:55 +00:00
mvebu.yml profiles: mvebu: fix tr181-buttons kernel module dependencies clash 2025-07-31 15:26:32 +00:00
mxl_wlan_hostap_ng_gw.yml profiles: update mxl_x86,OSPv1 and OSPv2 to UPDK 9.1.70 2025-07-31 15:24:08 +00:00
mxl_wlan_hostap_ng_wav700.yml profiles: OSPv2: update wlan profile to fix EMR5 wireless onboarding issues 2026-03-06 12:32:26 +00:00
mxl_wlan_hostap_ng.yml profiles: mxl_x86_osp_tb341: fix libubus.h: No such file or directory 2025-07-31 15:24:19 +00:00
mxl_wlan.yml profiles: update mxl_x86 to UPDK 9.1.30 2025-07-31 10:33:14 +00:00
mxl_x86_osp_tb341_v2.yml profiles: mxl_x86_osp_tb341_v2: update BSP to UPDK 9.2.4 release 2026-02-27 14:01:46 +00:00
mxl_x86_osp_tb341.yml profiles: mxl: fix tr181-buttons kernel module dependencies clash 2025-07-31 15:26:29 +00:00
mxl_x86_sec.yml profiles: mxl: update mxl_x86 to disable serdes power saving feature 2025-07-31 15:24:15 +00:00
mxl_x86.yml profiles: mxl: update mxl_x86 to disable serdes power saving feature 2025-07-31 15:24:15 +00:00
prpl_core.yml profiles:prpl-core.yml: feed-prplmesh: rad: fix validation of puncturing channels and apply dynamically via setChanspec isof global hostapd restart and chanspec: add apis to build, parse and validate static puncturing bitmaps 2026-03-25 15:42:19 +01:00
prpl.yml profiles: prpl-core: feed-prplos: Implement gmap client for SSDP service discovery 2026-03-09 16:11:56 +01:00
qca_ipq95xx.yml profiles: qca_ipq95xx: ipq95xx: revert eth encap offload support for multicast 2026-03-24 15:45:36 +01:00
security.yml profiles: security: fix implicit CONFIG_DEVEL=y dependency 2025-07-31 15:21:11 +00:00
thread.yml profiles: thread: add lrzsz for EFR32MG firmware updates 2025-07-31 15:24:56 +00:00
x86_64.yml profiles: x86_64: fix build failure by increasing rootfs size to 150MiB 2025-10-09 20:03:03 +00:00