From 11679c72df4343929d7ec6a5e157379a102913bf Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Thu, 21 Aug 2025 20:26:30 +0530 Subject: [PATCH 1/2] scripts: Fix version parsing The family is parsed wrong, fix the names and parsing logic. Signed-off-by: Chaitanya Tata --- scripts/update_blobs.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/scripts/update_blobs.py b/scripts/update_blobs.py index e4459fe..6de1b73 100755 --- a/scripts/update_blobs.py +++ b/scripts/update_blobs.py @@ -30,18 +30,24 @@ def parse_version_from_binary(binary_data: bytes) -> str: """ Parse version from firmware binary. - Version is stored at bytes 8-12, e.g., 02 0e 02 01 -> 1.2.14.2 + Version format: FAMILY.MAJOR.MINOR.PATCH + Based on patch_info.h: RPU_FAMILY, RPU_MAJOR_VERSION, RPU_MINOR_VERSION, RPU_PATCH_VERSION """ if len(binary_data) < 12: logger.warning("Binary too short to extract version, using default") return "1.0.0" - # Extract version bytes (positions 8-12 reversed) - version_bytes = binary_data[12:8:-1] - - # Convert to version string: 01 02 0e 02 -> 1.2.14.2 - - version = ".".join(str(byte) for byte in version_bytes) + # Extract version bytes (positions 8-11) + # Display format: FAMILY.MAJOR.MINOR.PATCH + # Bytes are stored in reverse order due to endianness: patch.min.maj.fam + # Example: 33 0d 02 01 -> 1.1.2.51 (FAMILY.MAJOR.MINOR.PATCH) + patch = binary_data[8] # byte 8 = patch version (RPU_PATCH_VERSION) - 0x33 = 51 + minor = binary_data[9] # byte 9 = minor version (RPU_MINOR_VERSION) - 0x0d = 13 + major = binary_data[10] # byte 10 = major version (RPU_MAJOR_VERSION) - 0x02 = 2 + family = binary_data[11] # byte 11 = family (RPU_FAMILY) - 0x01 = 1 + + # Display as FAMILY.MAJOR.MINOR.PATCH + version = f"{family}.{major}.{minor}.{patch}" logger.debug(f"Extracted version from binary: {version}") return version From 5ba5d0a561f2a396aebac656d5274f7b59237530 Mon Sep 17 00:00:00 2001 From: Karun Kumar Eagalapati Date: Tue, 19 Aug 2025 18:24:23 +0530 Subject: [PATCH 2/2] nrf_wifi : Update Wi-Fi FW blobs and shared header file Update firmware binaries and RPU shared header to control over TWT setup request timeout through kconfig option. Signed-off-by: Karun Kumar Eagalapati --- fw_if/umac_if/inc/fw/host_rpu_umac_if.h | 4 +++ fw_if/umac_if/inc/fw/patch_info.h | 2 +- zephyr/module.yml | 33 +++++++++++++------------ 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/fw_if/umac_if/inc/fw/host_rpu_umac_if.h b/fw_if/umac_if/inc/fw/host_rpu_umac_if.h index 6741f9f..9f16fda 100644 --- a/fw_if/umac_if/inc/fw/host_rpu_umac_if.h +++ b/fw_if/umac_if/inc/fw/host_rpu_umac_if.h @@ -2416,6 +2416,10 @@ struct nrf_wifi_umac_config_twt_info { unsigned char twt_resp_status; /** TWT early wake duration */ unsigned int twt_wake_ahead_duration; + /** Timeout value (in milliseconds) used by the RPU to send TWT requests + * to the AP before receiving a TWT response from the AP. + */ + unsigned int twt_req_timeout; } __NRF_WIFI_PKD; /** diff --git a/fw_if/umac_if/inc/fw/patch_info.h b/fw_if/umac_if/inc/fw/patch_info.h index 0bb889b..28e122d 100644 --- a/fw_if/umac_if/inc/fw/patch_info.h +++ b/fw_if/umac_if/inc/fw/patch_info.h @@ -62,7 +62,7 @@ struct nrf70_fw_image_info { #define RPU_FAMILY (1) #define RPU_MAJOR_VERSION (2) #define RPU_MINOR_VERSION (14) -#define RPU_PATCH_VERSION (2) +#define RPU_PATCH_VERSION (3) /** * @} diff --git a/zephyr/module.yml b/zephyr/module.yml index c93b414..cfb8020 100644 --- a/zephyr/module.yml +++ b/zephyr/module.yml @@ -1,4 +1,5 @@ -# Auto-generated file, do not edit, use update_wifi_fw.py to update +# Generated from commit: ddc758590957d45e758cb8857f812f6706aeb72b +# Auto-generated file, do not edit, use update_blobs.py to update name: nrf_wifi build: cmake-ext: True @@ -6,46 +7,46 @@ build: blobs: - path: wifi_fw_bins/default/nrf70.bin - sha256: 3ea889857d1590ff8c2ef4e3bfb3606acb8d1c2f845a09581ad27c7ec7b4e306 + sha256: 6c041b612d01f38d7b7fe8148dbeec4cfb04ddb2374bfcb573c5ee701fe08253 type: img - version: '2.14.2.1' + version: '1.2.14.3' license-path: ./LICENSE.txt - url: https://github.com/nrfconnect/sdk-nrfxlib/raw/0e6ff4c030bbebdee9d7595914a7378a70b966b7/nrf_wifi/bin/zephyr/default/nrf70.bin + url: https://github.com/nrfconnect/sdk-nrfxlib/raw/ddc758590957d45e758cb8857f812f6706aeb72b/nrf_wifi/bin/zephyr/default/nrf70.bin description: nRF70 Wi-Fi firmware for default mode doc-url: https://docs.nordicsemi.com/bundle/ps_nrf7000/page/chapters/notice/doc/notice_on_sw.html - path: wifi_fw_bins/scan_only/nrf70.bin - sha256: 57a2688478ef45896bd0975d57fee4e67cd6024cdcebc9993cf6607c9f24bfb4 + sha256: fff0561a519e98ded34131ddb043131f810a573c64be0fbeb048eaa94b7127f8 type: img - version: '2.14.2.1' + version: '1.2.14.3' license-path: ./LICENSE.txt - url: https://github.com/nrfconnect/sdk-nrfxlib/raw/0e6ff4c030bbebdee9d7595914a7378a70b966b7/nrf_wifi/bin/zephyr/scan_only/nrf70.bin + url: https://github.com/nrfconnect/sdk-nrfxlib/raw/ddc758590957d45e758cb8857f812f6706aeb72b/nrf_wifi/bin/zephyr/scan_only/nrf70.bin description: nRF70 Wi-Fi firmware for scan_only mode doc-url: https://docs.nordicsemi.com/bundle/ps_nrf7000/page/chapters/notice/doc/notice_on_sw.html - path: wifi_fw_bins/radio_test/nrf70.bin - sha256: 259a91e13f6f9fdc08bc892e4db398fbe3b982413dce34e74be825e8b5b4444d + sha256: c6762b8b4bdf46be87d165ad8a2a1a8b55099966b0a865a527e7aa19d1493b90 type: img - version: '2.14.2.1' + version: '1.2.14.3' license-path: ./LICENSE.txt - url: https://github.com/nrfconnect/sdk-nrfxlib/raw/0e6ff4c030bbebdee9d7595914a7378a70b966b7/nrf_wifi/bin/zephyr/radio_test/nrf70.bin + url: https://github.com/nrfconnect/sdk-nrfxlib/raw/ddc758590957d45e758cb8857f812f6706aeb72b/nrf_wifi/bin/zephyr/radio_test/nrf70.bin description: nRF70 Wi-Fi firmware for radio_test mode doc-url: https://docs.nordicsemi.com/bundle/ps_nrf7000/page/chapters/notice/doc/notice_on_sw.html - path: wifi_fw_bins/system_with_raw/nrf70.bin - sha256: 6de4300d0ebdaa910e2e9d92defc5e656825f9b2eddfdfc2c3d2b259e2c22053 + sha256: da032e51ebe85a2f3ebdaa856b8e4f1dce9c3d23b6e49f739ae3324ed7d79727 type: img - version: '2.14.2.1' + version: '1.2.14.3' license-path: ./LICENSE.txt - url: https://github.com/nrfconnect/sdk-nrfxlib/raw/0e6ff4c030bbebdee9d7595914a7378a70b966b7/nrf_wifi/bin/zephyr/system_with_raw/nrf70.bin + url: https://github.com/nrfconnect/sdk-nrfxlib/raw/ddc758590957d45e758cb8857f812f6706aeb72b/nrf_wifi/bin/zephyr/system_with_raw/nrf70.bin description: nRF70 Wi-Fi firmware for system_with_raw mode doc-url: https://docs.nordicsemi.com/bundle/ps_nrf7000/page/chapters/notice/doc/notice_on_sw.html - path: wifi_fw_bins/offloaded_raw_tx/nrf70.bin - sha256: 2a42e24eef2ff5096edfa37e57f2340ac152ee89780fa3bf1f598a4c8460e0f7 + sha256: 14c4c22438247cc8952b493aa55ac9109b6d94cb16814be6653955ab7b22cca0 type: img - version: '2.14.2.1' + version: '1.2.14.3' license-path: ./LICENSE.txt - url: https://github.com/nrfconnect/sdk-nrfxlib/raw/0e6ff4c030bbebdee9d7595914a7378a70b966b7/nrf_wifi/bin/zephyr/offloaded_raw_tx/nrf70.bin + url: https://github.com/nrfconnect/sdk-nrfxlib/raw/ddc758590957d45e758cb8857f812f6706aeb72b/nrf_wifi/bin/zephyr/offloaded_raw_tx/nrf70.bin description: nRF70 Wi-Fi firmware for offloaded_raw_tx mode doc-url: https://docs.nordicsemi.com/bundle/ps_nrf7000/page/chapters/notice/doc/notice_on_sw.html