diff --git a/src/test_driver/efr32/README.md b/src/test_driver/efr32/README.md
index c846426890abaa..b2f9a527fa05c4 100644
--- a/src/test_driver/efr32/README.md
+++ b/src/test_driver/efr32/README.md
@@ -1,30 +1,18 @@
-#CHIP EFR32 Test Driver
+This is a test driver for the Matter unit tests to be run on an EFR32 device. It
+builds a set of test binaries, each of which contains one directory of unit
+tests that can be flashed onto a device and run. The device is controlled using
+the included RPCs through the python test runner.
-This builds and runs the unit tests on the efr32 device.
+- [Prerequisites](#prerequisites)
+- [Building the Unit Tests](#building-the-unit-tests)
+- [Building and Installing the Runner](#building-and-installing-the-runner)
+- [Running the Unit Tests](#running-the-unit-tests)
-
-
-- [Introduction](#introduction)
-- [Building](#building)
-- [Running The Tests](#running-the-tests)
-
-
-
-
-
-## Introduction
-
-This builds a set of test binaries which contain the unit tests and can be
-flashed onto a device. The device is controlled using the included RPCs, through
-the python test runner.
-
-
-
-## Building
+## Prerequisites
- Download the
[Simplicity Commander](https://www.silabs.com/mcu/programming-options)
- command line tool, and ensure that `commander` is your shell search path.
+ command line tool, and ensure that `commander` is in your shell search path.
(For Mac OS X, `commander` is located inside
`Commander.app/Contents/MacOS/`.)
@@ -32,11 +20,11 @@ the python test runner.
bootstrap already installs the toolchain):
[GNU Arm Embedded Toolchain 12.2 Rel1](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads)
-- Install some additional tools(likely already present for CHIP developers):
+- Install some additional tools:
-#Linux `sudo apt-get install git libwebkitgtk-1.0-0 ninja-build`
+ For Linux: `sudo apt-get install git libwebkitgtk-1.0-0 ninja-build`
-#Mac OS X `brew install ninja`
+ For Mac OS: `brew install ninja`
- Supported hardware:
@@ -49,60 +37,25 @@ the python test runner.
- BRD4187A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
- BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-OR use GN/Ninja directly
-
- ```
- cd ~/connectedhomeip/src/test_driver/efr32/
- git submodule update --init
- source third_party/connectedhomeip/scripts/activate.sh
- export SILABS_BOARD=BRD4187C
- gn gen out/debug
- ninja -C out/debug
- ```
-
-- To delete generated executable, libraries and object files use:
+## Building the Unit Tests
- ```
- cd ~/connectedhomeip/src/test_driver/efr32/
- rm -rf out/
- ```
+The unit tests can be built using gn and ninja:
-
-
-## Running The Tests
-
-Build the runner using gn:
-
- ```
- cd /src/test_driver/efr32
+ source scripts/activate.sh
+ cd src/test_driver/efr32
+ export SILABS_BOARD=BRD2703A
gn gen out/debug
- ninja -C out/debug runner
- ```
+ ninja -C out/debug
-Or build using build script from the root
+## Building and Installing the Runner
- ```
- cd
- ./scripts/build/build_examples.py --target linux-x64-pw-test-runner build
- ```
+The python wheels for the runner can be built and installed like this:
-The runner will be installed into the venv and python wheels will be packaged in
-the output folder for deploying.
-
-Then the python wheels need to installed using pip3.
-
- ```
- pip3 install out/debug/chip_pw_test_runner_wheels/*.whl
- ```
-
-Other python libraries may need to be installed such as
+ ninja -C out/debug runner
+ pip3 install out/debug/chip_pw_test_runner_wheels/*.whl --force-reinstall
- ```
- pip3 install pyserial
- ```
+## Running the Unit Tests
-- To run all tests:
+The unit tests can be run using the test runner python script:
- ```
- python -m pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/debug/matter-silabs-device_tests.s37 -o out.log
- ```
+ python -m py.pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/debug/tests -o out.log
diff --git a/src/test_driver/efr32/py/pw_test_runner/pw_test_runner.py b/src/test_driver/efr32/py/pw_test_runner/pw_test_runner.py
index 8e10903920cc77..ed8c43f0190623 100644
--- a/src/test_driver/efr32/py/pw_test_runner/pw_test_runner.py
+++ b/src/test_driver/efr32/py/pw_test_runner/pw_test_runner.py
@@ -105,8 +105,7 @@ def run(args) -> int:
def list_images(flash_directory: str) -> list[str]:
- filenames: list[str] = glob.glob(os.path.join(flash_directory, "*.s37"))
- return list(map(lambda x: os.path.join(flash_directory, x), filenames))
+ return glob.glob(os.path.join(flash_directory, "*.s37"))
def main() -> int: