Skip to content

[Bug] TC-ACE-1.3 Fails in TH GUI for NFC-Thread Commissioning – Unable to Remove Passcode/Discriminator from dut_config #874

@Pradeep-grl

Description

@Pradeep-grl

Describe the bug

While validating TC-ACE-1.3 using the nfc-thread commissioning method, the test case fails in the TH GUI with the following error:

Error: Do not provide discriminator, passcode, manual code or qr-code for NFC commissioning. The payload is read directly from the NFC tag.

For NFC commissioning, the onboarding payload must be read directly from the NFC tag, and passcode/discriminator should not be required. However, in TH GUI, the dut_config does not allow clearing or removing these fields, which results in the test failing.

In contrast, the same test case passes successfully in the Python environment without providing passcode or discriminator, indicating that the issue is specific to TH GUI behavior.

Steps to reproduce the behavior

Steps to be followed to validate the test case in TH GUI:

  1. Open the TH GUI.
  2. Update the UI configuration as mentioned below:
    "int-arg": "NFC_Reader_index:0"
  3. Update the dut_config as mentioned below:
    "pairing_mode": "nfc-thread"
  4. Ensure the TC-ACE-1.3 test case is selected.
  5. Mount the NFC Reader (E.g: HID OMNIKEY) and DUT (E.g: STM32WBA65I-DK1 board) to the controller.
  6. Place the NFC reader and the DUT NFC antenna physically close to each other.
  7. Reset the DUT
  8. Click the Start button on Test-Harness user interface.

Steps to be followed to validate the test case in Python Environment:

  1. Build the Python environment using the following command:
    ./scripts/build_python.sh -d true --enable_nfc true -i out/python_env
  2. Mount the NFC Reader (E.g: HID OMNIKEY) and DUT (E.g: STM32WBA65I-DK1 board) to the controller.
  3. Place the NFC reader and the DUT NFC antenna physically close to each other.
  4. Reset the DUT
  5. Validate the TC-ACE-1.3 test case in the Python environment using the command below:
    python3 src/python_testing/TC_ACE_1_3.py --commissioning-method nfc-thread --storage-path admin_storage.json --thread-dataset-hex $Dataset --int-arg NFC_Reader_index:0

Expected behavior

The test case should be run completely and PASS without any issues.

Log files

TH GUI Failure Controller log: TC-ACE-1_3_2026_02_17_17_02_39.log
Python Env. Pass Controller log: Tc-ACE-1_3-NFC-Thread-PythonEnv-Pass_log.txt

Screenshots

Image

Environment

TH Version: v2.14.1-beta2+winter2026
Sha: f83efc9

Metadata

Metadata

Assignees

Labels

BackendBugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions