Skip to content

ci: Add iq-x7181-evk to LAVA test device lists#2349

Closed
xueqnie wants to merge 1 commit into
qualcomm-linux:masterfrom
xueqnie:hamoa-lava-test
Closed

ci: Add iq-x7181-evk to LAVA test device lists#2349
xueqnie wants to merge 1 commit into
qualcomm-linux:masterfrom
xueqnie:hamoa-lava-test

Conversation

@xueqnie

@xueqnie xueqnie commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Enable LAVA testing for iq-x7181-evk across all three test job configurations (nodistro, qcom-distro, and qcom-distro with linux-qcom-6.18 kernel variant).

@ricardosalveti

Copy link
Copy Markdown
Contributor

Please rebase, there is conflicts with test.yml.

@xueqnie xueqnie force-pushed the hamoa-lava-test branch from a1edda0 to b1e808c Compare June 4, 2026 08:11
@xueqnie

xueqnie commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

Please rebase, there is conflicts with test.yml.

done

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

Test run workflow

Test jobs for commit b1e808c

qcom-distro_linux-qcom-6.18
Pass: 197 | Fail: 0 | Total: 244
qcom-distro
Pass: 225 | Fail: 3 | Total: 273
nodistro
Pass: 9 | Fail: 0 | Total: 9

@EmbeddedAndroid

Copy link
Copy Markdown
Contributor

Please add your sign off by underneath the line Signed-off-by: Shoudi Li <shoudil@qti.qualcomm.com> in your commit message, since you did not author the patch.

@xueqnie xueqnie force-pushed the hamoa-lava-test branch from b1e808c to a8fc230 Compare June 5, 2026 01:52
@xueqnie

xueqnie commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Please add your sign off by underneath the line Signed-off-by: Shoudi Li <shoudil@qti.qualcomm.com> in your commit message, since you did not author the patch.

done

@lumag

Copy link
Copy Markdown
Contributor

Please add your sign off by underneath the line Signed-off-by: Shoudi Li <shoudil@qti.qualcomm.com> in your commit message, since you did not author the patch.

done

Don't quote your own messages.

@lumag

Copy link
Copy Markdown
Contributor

Viswanath Kraleti (@vkraleti) sbanerjeeqc Shoudi Li (@shoudil)

What is the relationship between this and #2082? Why do we have engineers doing the same job?
This one is more complete, but why?

@shoudil

Shoudi Li (shoudil) commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Viswanath Kraleti (@vkraleti) sbanerjeeqc Shoudi Li (@shoudil)

What is the relationship between this and #2082? Why do we have engineers doing the same job? This one is more complete, but why?

Dmitry Baryshkov (@lumag) , #2082 should be raised by test team, as it's approved we can rabase this PR after it's merged ( enable test for nodistro as well).
I found there is issue from LAVA infrastructure for targets with SPI-NOR (such as Hamoa/purwa and glymur CRD). Only HLOS images got flashed currently, non-hlos images are not flashed. Although bootup well, several tech areas failed. I have involved Milosz Wasilewski (@mwasilew) to have a check.
Job on Hamoa: https://lava.infra.foundries.io/scheduler/job/244120
Job on Glymur CRD: https://github.com/qualcomm-linux/meta-qcom/actions/runs/26800387302/job/79234242554#step:3:534

@mwasilew

Copy link
Copy Markdown
Contributor

It's not an "issue". It's been setup like this intentionally.

@shoudil

Copy link
Copy Markdown
Contributor

It's not an "issue". It's been setup like this intentionally.

So it require to flash SPI-NOR manually ?

@mwasilew

Copy link
Copy Markdown
Contributor

It's not an "issue". It's been setup like this intentionally.

So it require to flash SPI-NOR manually ?

yes. That's what I've done so far. If you don't expect spinor to change frequently that should work OK. Otherwise we need to wait for qdl 2.7 to be released.

@shoudil

Shoudi Li (shoudil) commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

It's not an "issue". It's been setup like this intentionally.

So it require to flash SPI-NOR manually ?

yes. That's what I've done so far. If you don't expect spinor to change frequently that should work OK. Otherwise we need to wait for qdl 2.7 to be released.

Could you share more detail reg. waiting QDL2.7 ? we also used QDL to flash SPI-NOR, it worked well from months ago. And please note dtb.bin also reside in SPI-NOR, it may be changed actively with kernel.

@mwasilew

Copy link
Copy Markdown
Contributor

Flashing spinor is slow. In my tests it takes from 5 to 7 minutes to flash spinor only. As a comparison the whole test job takes around 7-8 minutes at the moment. qdl 2.7 adds support for sha256 from sahara protocol. This allows to skip unchanged partition (in the future unchanged blocks). It speeds up flashing significantly as spinor binaries don't change very often. In the use case I tested, DTB partition changes between OE and Debian builds. Flashing only this partition (as other remain the same) takes under 1 min with sha256 check enabled. Here is the commit:
linux-msm/qdl@702abb4

@shoudil

Copy link
Copy Markdown
Contributor

Flashing spinor is slow. In my tests it takes from 5 to 7 minutes to flash spinor only. As a comparison the whole test job takes around 7-8 minutes at the moment. qdl 2.7 adds support for sha256 from sahara protocol. This allows to skip unchanged partition (in the future unchanged blocks). It speeds up flashing significantly as spinor binaries don't change very often. In the use case I tested, DTB partition changes between OE and Debian builds. Flashing only this partition (as other remain the same) takes under 1 min with sha256 check enabled. Here is the commit: linux-msm/qdl@702abb4

Thanks for your detail explanation !

@mwasilew

Copy link
Copy Markdown
Contributor

qdl 2.7 was released. I'm in the final stages of adding support for --skipblock=sha256 in LAVA. Supporting flashing spinor also requires moving to a new LAVA device type. This may take a few days to complete.

Enable LAVA testing for iq-x7181-evk across all three test job
configurations (nodistro, qcom-distro, and qcom-distro with
linux-qcom-6.18 kernel variant).

Signed-off-by: Shoudi Li <shoudil@qti.qualcomm.com>
Signed-off-by: Xueqian Nie <xueqnie@qti.qualcomm.com>
@shoudil

Copy link
Copy Markdown
Contributor

Rebased on #2419, this PR enable pre-merge and lava test on nodistro as well.

@lumag

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit b788f56

nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-6.18
Pass: 189 | Fail: 0 | Total: 227
qcom-distro
Pass: 225 | Fail: 2 | Total: 279

@test-reporting-app

Copy link
Copy Markdown

Test Results

  105 files  ± 0    635 suites  +1   6h 55m 6s ⏱️ + 1h 10m 54s
  130 tests + 5    104 ✅  - 19   0 💤 ±0  26 ❌ +24 
6 006 runs   - 31  5 861 ✅  - 72  94 💤  - 8  51 ❌ +49 

For more details on these failures, see this check.

Results for commit b788f56. ± Comparison against base commit 9abd869.

@mwasilew

Copy link
Copy Markdown
Contributor

Shoudi Li (@shoudil) I added has-bt tags to devices in Cambridge (I don't know the layout of Hyderabad lab). Here is example job: https://lava.infra.foundries.io/scheduler/job/273618. There are some issues. Could you take a look and let me know if it's because of spinor firmware?

@shoudil

Copy link
Copy Markdown
Contributor

Shoudi Li (@shoudil) I added has-bt tags to devices in Cambridge (I don't know the layout of Hyderabad lab). Here is example job: https://lava.infra.foundries.io/scheduler/job/273618. There are some issues. Could you take a look and let me know if it's because of spinor firmware?

Thanks for the info, shuaz-shuai from BT team will have a check and update.

@shuaz-shuai

shuaz-shuai commented Jun 18, 2026

Copy link
Copy Markdown

Root cause: the testkit auto-selects hci0 unconditionally, but on this board hci0 is the WCN7850 UART controller with no chip attached. This is a test-harness bug, not a BT/firmware issue. Present on both testkit-2026.06.01 (the tag this job checked out) and current main.

Board state (confirmed on device)
hci1: Bus: USB BD Address: 8C:FD:F0:96:54:45 UP RUNNING ← actually plugged in
hci0: Bus: UART BD Address: 00:00:00:00:00:00 DOWN ← WCN7850, no chip attached

bluetoothctl list
Controller 8C:FD:F0:96:54:45 iq-x7181-evk [default] ← only hci1 instantiated

hci0 is created because the DT node qcom,wcn7850-bt exists, but with no chip the vendor command times out (Reading QCA version information failed (-110)), so it stays DOWN with an all-zeros address. hci1 is the working controller.

The bug — findhcisysfs() (Runner/utils/lib_bluetooth.sh:1297)

findhcisysfs() {
for h in /sys/class/bluetooth/hci
; do
[ -d "$h" ] || continue
basename "$h"
return 0 # returns the FIRST glob match (lexical → hci0)
done
return 1
}
*

It returns the first match (hci0) without checking UP/DOWN or BD address. So:

  • BT_FW_KMD_Service → hci0 → [FAIL] BD address invalid or all zeros for hci0.
  • BT_SCAN → hci0, no response → [FAIL] No Bluetooth devices discovered.

The working hci1 is never considered. Not a BlueZ/firmware problem — bluetoothd is active, the kernel stack is loaded, firmware is present.

Suggested fix

Prefer the first controller with a non-zero BD address, fall back to the first present adapter otherwise (reuses the existing btbdok):

findhcisysfs() {
first=""
for h in /sys/class/bluetooth/hci
; do
[ -d "$h" ] || continue
dev="$(basename "$h")"
[ -z "$first" ] && first="$dev"
if btbdok "$dev" 2>/dev/null; then
printf '%s\n' "$dev"
return 0
fi
done
[ -n "$first" ] && { printf '%s\n' "$first"; return 0; }
return 1
}
*

Verified on the device — OLD selects hci0 (dead UART → fail), NEW selects hci1. Still selects hci0 correctly when a real UART chip is attached.

Could you try this and re-run the job?

@shoudil

Copy link
Copy Markdown
Contributor

@shoudil

Shoudi Li (shoudil) commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Dmitry Baryshkov (@lumag) Ricardo Salveti (@ricardosalveti) Could you help start a LAVA test job with this PR ?

Till now, several fixes included:

  1. https://github.com/qualcomm-linux/lava-dispatcher-config/pull/39 add bt-tag to hamoa boards
  2. devices: exclude Wifi test cases on iq-x7181-evk to unblock premerge lava-test-plans#68 exclude WIFI_ON/OFF case from lava.
  3. bluetooth: select usable HCI adapter dynamically qcom-linux-testkit#495 update test script to fix failed case BT_FW_KMD_Service
  4. Attached Antennas to WIFI/BT chips to fix BT_SCAN failed case. this should probably fix the WIFI_ON/OFF case as well. will enable this case to verify next.
  5. Milosz Wasilewski (@mwasilew) help complete the presetting for devices, include CDT/UFS provision/spinor update etc.

@mwasilew

Copy link
Copy Markdown
Contributor

Shoudi Li (@shoudil) lava-test-plans and qcom-linux-testkit need to be bumped to a new version. All other setup is done (has-bt tags, antennas, CDT/spinor firmware). I'll make these changes and push to next today.

Anil (@qcom-anilyada) is there any reason not to upgrade lava-test-plans or qcom-linux-testkit?

@qcom-anilyada

Anil (qcom-anilyada) commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

updated the refs of lava-test-plans and testkit: PR#2574

@mwasilew

Copy link
Copy Markdown
Contributor

Great, let me push it to next together with commit from this PR

@lumag

Copy link
Copy Markdown
Contributor

Great, let me push it to next together with commit from this PR

I'm currently testing CamX fixes in next.

@shoudil

Copy link
Copy Markdown
Contributor

Great, let me push it to next together with commit from this PR

I'm currently testing CamX fixes in next.

Camera is excluded from current lava test plan, could we enable pre-merge firstly and include camera case next after validation ?
https://github.com/qualcomm-linux/lava-test-plans/blob/master/lava_test_plans/projects/meta-qcom/devices/iq-x7181-evk#L9

@shoudil

Copy link
Copy Markdown
Contributor

updated the refs of lava-test-plans and testkit: PR#2574

Anil (@qcom-anilyada) please merge this PR with priority, thanks.

@mwasilew

Copy link
Copy Markdown
Contributor

Great, let me push it to next together with commit from this PR

I'm currently testing CamX fixes in next.

Camera is excluded from current lava test plan, could we enable pre-merge firstly and include camera case next after validation ? https://github.com/qualcomm-linux/lava-test-plans/blob/master/lava_test_plans/projects/meta-qcom/devices/iq-x7181-evk#L9

It's unrelated. The issue is we can run only one workflow through next at a time. If I push to the branch before the workflow completes, it will break it.

The workflow completed yesterday: https://github.com/qualcomm-linux/meta-qcom/actions/runs/27953583991
The only issue on hamoa is failing adsp_remoteproc test: https://lava.infra.foundries.io/scheduler/job/287955#L4184
We can exclude it for now if it requires more investigation. Other than that I'm happy with the results.

@mwasilew

Copy link
Copy Markdown
Contributor

Ah, I missed failure in hotplug test: https://lava.infra.foundries.io/scheduler/job/287908#L3478
I think this is related to a bug in test script: qualcomm-linux/lava-test-plans#67. I haven't found the ticket or PR in the https://github.com/qualcomm-linux/qcom-linux-testkit repository. Anil (@qcom-anilyada) might know more about this.

@shoudil

Copy link
Copy Markdown
Contributor

Great, let me push it to next together with commit from this PR

I'm currently testing CamX fixes in next.

Camera is excluded from current lava test plan, could we enable pre-merge firstly and include camera case next after validation ? https://github.com/qualcomm-linux/lava-test-plans/blob/master/lava_test_plans/projects/meta-qcom/devices/iq-x7181-evk#L9

It's unrelated. The issue is we can run only one workflow through next at a time. If I push to the branch before the workflow completes, it will break it.

The workflow completed yesterday: https://github.com/qualcomm-linux/meta-qcom/actions/runs/27953583991 The only issue on hamoa is failing adsp_remoteproc test: https://lava.infra.foundries.io/scheduler/job/287955#L4184 We can exclude it for now if it requires more investigation. Other than that I'm happy with the results.

Yes, from the shared workflow, I can see adsp crashed several times during bootup. but from the latest post merge boot test, looks adsp work normally.
https://github.com/qualcomm-linux/meta-qcom/actions/runs/27995443584/job/82881293168

@shoudil

Shoudi Li (shoudil) commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Raised PR to exclude adsp_remoteproc on hamoa as well qualcomm-linux/lava-test-plans#72

@lumag

Copy link
Copy Markdown
Contributor

Raised PR to exclude adsp_remoteproc on hamoa as well qualcomm-linux/lava-test-plans#72

Why?

@shoudil

Copy link
Copy Markdown
Contributor

Raised PR to exclude adsp_remoteproc on hamoa as well qualcomm-linux/lava-test-plans#72

Why?

From the job shared by Milosz Wasilewski (@mwasilew) adsp_remoteproc failed, checked post merge boot tests for several nightly builds, same issue not observed, we can track this separately. #2349 (comment)

@lumag

Copy link
Copy Markdown
Contributor

Raised PR to exclude adsp_remoteproc on hamoa as well qualcomm-linux/lava-test-plans#72

Why?

From the job shared by Milosz Wasilewski (@mwasilew) adsp_remoteproc failed, checked post merge boot tests for several nightly builds, same issue not observed, we can track this separately. #2349 (comment)

If the issue is not observed previously, then please don't disable the test.

@mwasilew

Copy link
Copy Markdown
Contributor

I ran remoteproc test on all boards with todays nightly build. Here are the results:
01: cdsp - fail, adsp - fail https://lava.infra.foundries.io/results/290909
02: cdsp - fail, adsp - fail https://lava.infra.foundries.io/results/290905
03: cdsp - fail, adsp - fail https://lava.infra.foundries.io/results/290910
04: cdsp - pass, adsp - fail https://lava.infra.foundries.io/results/290908
06: cdsp - pass, adps - pass https://lava.infra.foundries.io/results/290906
07: cdsp - pass, adsp - pass https://lava.infra.foundries.io/results/290907

Looks rather inconsistent, however there is a pattern that matches MCN. I didn't check Cambridge devices (01-03) but Naresh Kamboju (@nareshkamboju) provided these MCNs for Hyderabad devices:

hamoa-iot-evk-04 - 65-88988-1764
hamoa-iot-evk-06 - 65-88988-1001
hamoa-iot-evk-07 - 65-88988-1001

@shoudil

Copy link
Copy Markdown
Contributor

Update PR to exclude adsp/cdsp remoteproc test cases:
qualcomm-linux/lava-test-plans#72

@mwasilew

Copy link
Copy Markdown
Contributor

Update PR to exclude adsp/cdsp remoteproc test cases: qualcomm-linux/lava-test-plans#72

this is merged. For this to take effect in meta-qcom you need to update the ref here: https://github.com/qualcomm-linux/meta-qcom/blob/master/.github/workflows/test.yml#L15

@shoudil

Copy link
Copy Markdown
Contributor

Update PR to exclude adsp/cdsp remoteproc test cases: qualcomm-linux/lava-test-plans#72

this is merged. For this to take effect in meta-qcom you need to update the ref here: https://github.com/qualcomm-linux/meta-qcom/blob/master/.github/workflows/test.yml#L15

PR: #2610

@lumag Dmitry Baryshkov (lumag) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'iq-x7181-evk' is already a part of the LAVA testing process. Please update the PR title and the commit title / message to reflect the actual changes.

@shoudil

Copy link
Copy Markdown
Contributor

Enable LAVA testing for iq-x7181-evk across all three test job configurations (nodistro, qcom-distro, and qcom-distro with linux-qcom-6.18 kernel variant

xueqnie, please help update, as PR rebased, now it will cover test job for nodistro and pre-merge jobs for qcom-distro and qcom-distro with linux-qcom-6.18 kernel variant.

@lumag

Copy link
Copy Markdown
Contributor

I'm going to close this, please enable premerge testing and nodistro testing as a part of #2610

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants