From b304ed14da575cfae92cdfb766626fdd1464e10e Mon Sep 17 00:00:00 2001 From: Srikanth Muppandam Date: Mon, 20 Apr 2026 16:36:28 +0530 Subject: [PATCH 1/2] fix: extend BT firmware detection for legacy QCA layouts Update btfwpresent() to detect legacy QCA Bluetooth firmware files such as cmbtfw*.tlv and cmnv*.bin in addition to the existing msbtfw*/msnv* patterns. Also avoid the previous multi-glob ls behavior that could return failure when some patterns were absent even though valid firmware files were present. This makes firmware presence detection robust on RB1 and other targets using older QCA naming/layouts. Signed-off-by: Srikanth Muppandam --- Runner/utils/lib_bluetooth.sh | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/Runner/utils/lib_bluetooth.sh b/Runner/utils/lib_bluetooth.sh index 89246abf..b8e6b8b3 100755 --- a/Runner/utils/lib_bluetooth.sh +++ b/Runner/utils/lib_bluetooth.sh @@ -1880,15 +1880,30 @@ btpower() { btfwpresent() { dir="" + pattern="" + file="" + for d in /lib/firmware/qca /usr/lib/firmware/qca /lib/firmware /usr/lib/firmware; do [ -d "$d" ] || continue - if ls "$d"/msbtfw*.mbn "$d"/msbtfw*.tlv "$d"/msnv*.bin >/dev/null 2>&1; then - dir="$d"; break - fi + + for pattern in \ + "msbtfw*.mbn" \ + "msbtfw*.tlv" \ + "msnv*.bin" \ + "cmbtfw*.tlv" \ + "cmnv*.bin" + do + for file in "$d"/$pattern; do + if [ -e "$file" ]; then + dir="$d" + printf '%s\n' "$dir" + return 0 + fi + done + done done - [ -n "$dir" ] || return 1 - printf '%s\n' "$dir" - return 0 + + return 1 } btfwloaded() { From 22b97007fc9db0125038dfdf0d6525b25c0a9784 Mon Sep 17 00:00:00 2001 From: Srikanth Muppandam Date: Mon, 20 Apr 2026 16:36:45 +0530 Subject: [PATCH 2/2] fix: add RB1 Bluetooth DT compatible to BT_FW_KMD_Service Extend the DT compatible allowlist in BT_FW_KMD_Service to include qcom,wcn3950-bt so RB1 platforms are recognized correctly during the device-tree validation step. This aligns the testcase with RB1 Bluetooth DT naming while keeping the existing flow unchanged for other supported targets. Signed-off-by: Srikanth Muppandam --- Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/run.sh b/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/run.sh index 778394f0..60b56cbc 100755 --- a/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/run.sh +++ b/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/run.sh @@ -89,6 +89,7 @@ fi # ---------- DT node / compatible ---------- # ---------- DT node / compatible ---------- if dt_confirm_node_or_compatible_all \ + "qcom,wcn3950-bt" \ "qcom,wcn7850-bt" \ "qcom,wcn6855-bt" \ "qcom,wcn6750-bt" \ @@ -104,7 +105,7 @@ fi if fw_dir="$(btfwpresent 2>/dev/null)"; then log_pass "Firmware present in: $fw_dir" else - log_warn "No BT firmware matching msbtfw*/msnv* found under standard firmware paths." + log_warn "No BT firmware matching msbtfw*/msnv* or cmbtfw*/cmnv* found under standard firmware paths." inc_warn fi