Command-Line Interface (CLI) Setup and Commands#
The Aliro extension includes an optional Universal Asynchronous Receiver-Transmitter (UART) CLI for bring-up, demo control, diagnostics, and development validation. Use it to provision reader configuration, inspect persisted state, run expedited-flow demos with the Connectivity Standards Alliance (CSA) Aliro Test Tool, and (when the certification test task is installed) select certification test scenarios at runtime.
Overview#
Aliro CLI support is built from two Simplicity SDK Component (SLC) components:
Component | Used in | Role |
|---|---|---|
Aliro Shell ( | Aliro Minimal Reader | Standalone FreeRTOS CLI task with UART stdio streamer; prompt is |
Aliro Shell Core ( | AliroMatterLock | Shell engine and Aliro command handlers hosted inside the Matter Shell; prompt is |
On Aliro Minimal Reader, the CLI is a dedicated shell task. Aliro commands are grouped under the top-level aliro command (for example, aliro reader-config-set sub-group-id ...).
On AliroMatterLock, Aliro commands are registered as a Matter Shell sub-engine. Reach them with the aliro prefix (for example, aliro reader-config-set sub-group-id ...). Matter commissioning, DoorLock cluster, and other Matter commands remain available through the standard Matter Shell.
Both example families also include Aliro Test Task (aliro_test_task) by default. That component adds the aliro test-case command used for certification-style scenarios. Remove it for production builds that do not need runtime test selection.
Application code uses the compile-time guard SL_CATALOG_ALIRO_SHELL_PRESENT when the Aliro Shell component is installed (Aliro Minimal Reader only). AliroMatterLock builds rely on Matter Shell plus Aliro Shell Core.
CLI Components#
Required Components#
Install one of the following, depending on your application:
Application | Component | Notes |
|---|---|---|
Aliro Minimal Reader | Aliro Shell ( | Includes Aliro Shell Core automatically |
AliroMatterLock | Aliro Shell Core ( | Aliro commands are bridged into Matter Shell; do not add Aliro Shell |
For certification workflows, keep Aliro Test Task (aliro_test_task) installed. It depends on Aliro Shell Core and provides aliro test-case.
In Simplicity Studio 6, open the project Software Components tab, search under the aliro package, and add or remove these components as needed.
Related UART and Serial Components
Stock example projects wire the CLI to the board Virtual COM Port (VCOM) UART:
Component | Role |
|---|---|
UARTDRV EUSART VCOM ( | Board debug UART used by the shell streamer |
Aliro Shell — | Standalone shell task and UART I/O (Aliro Minimal Reader) |
Matter UART ( | Matter Shell streamer (AliroMatterLock) |
Aliro transaction and protocol logs are emitted on the same UART as the shell in the stock examples (SILABS_LOG_OUT_UART is set in the example .slcp files).
Build-Time Configuration#
Aliro Shell and Aliro Test Task are included by default in the stock Aliro Minimal Reader and AliroMatterLock .slcp projects. After changing components, clean and rebuild so generated catalog symbols (for example SL_CATALOG_ALIRO_SHELL_PRESENT, SL_CATALOG_ALIRO_TEST_TASK_PRESENT) reflect the new configuration.
To integrate the shell engine into a custom project without the SLC wrapper, see the manual steps in the extension's aliro/aliro_shell/README.md.
When to Disable CLI for Production#
Remove or disable Aliro Shell (standalone builds) or Aliro Shell Core and Aliro Test Task (Matter builds) when the product does not expose a debug UART. Benefits include:
Reduced flash and Random Access Memory (RAM) footprint
No interactive provisioning or certification commands on a production UART
Smaller attack surface on devices that must not accept arbitrary configuration input
Keep a separate, controlled manufacturing or service interface if provisioning is still required in the factory. Removing the CLI is also the first step in the low-power configuration for the Aliro Minimal Reader — see Project Configuration.
Connecting to the CLI#
Required Hardware Connection#
Connect a supported EFR32 board on a Wireless Starter Kit (WSTK) or Explorer Kit to your host PC with a Universal Serial Bus (USB) cable.
Identify the VCOM serial port exposed by the kit. On Windows, the port appears in Device Manager; on macOS and Linux it is typically
/dev/tty.usbmodem*or/dev/ttyACM*.After flashing application firmware, wait for boot to complete. The shell prompt should appear once the application starts.
If you flash only a bootloader image, you may see the bootloader UART interface instead of the application shell. Flash the full application (or solution artifact) for CLI access.
Serial Port Settings#
Setting | Value |
|---|---|
Baud rate | 115200 (default |
Data bits | 8 |
Parity | None |
Stop bits | 1 |
Flow control | None |
You can change the baud rate in the UARTDRV EUSART VCOM component configuration if your product uses a different rate.
Connecting from Simplicity Studio#
Open the flashed project in Simplicity Studio 6.
Open the Adapter or Serial Terminal view (Window → Show View → Serial Terminal).
Select the WSTK VCOM port and set the baud rate to 115200.
Connect and confirm the prompt (
aliroCli>ormatterCli>).
Connecting from a Terminal Program#
Use any terminal emulator (for example screen, minicom, PuTTY, or CoolTerm):
screen /dev/tty.usbmodemXXXXXXXX 115200Replace the device path with your VCOM port. Press Enter if the prompt does not appear immediately after reset.
Troubleshooting Connection Issues#
Symptom | Likely cause | What to try |
|---|---|---|
No prompt after reset | Wrong COM port or baud rate | Verify VCOM port and 115200 baud |
Garbled characters | Baud rate mismatch | Match terminal speed to |
Bootloader output only | Application not flashed | Flash the application or full solution |
| Aliro Shell Core removed | Reinstall Aliro Shell Core (and bridge init in |
No | Aliro Test Task removed | Reinstall Aliro Test Task for certification commands |
USB device not listed | Cable, driver, or power | Try another cable/port; reinstall WSTK drivers |
CLI Command Categories#
The following sections group commands by purpose. On both example applications, Aliro commands use the aliro prefix.
Type help at the shell prompt for top-level commands. Type aliro help for Aliro sub-commands.
Device Information#
Command | Purpose |
|---|---|
| List top-level shell commands |
| Print shell version string |
| List Aliro sub-commands |
| Read one reader config field or |
Reader config fields include priv-key, pub-key, group-id, sub-group-id, issuer-pub-key, reader-cert, has-cert-chain, and (Bluetooth Low Energy (BLE) builds) group-resolving-key, spsm, and has-group-resolving-key. The generation field is read-only.
Aliro and Credential Operations#
Provision and inspect Aliro reader configuration and credentials. These commands persist values to non-volatile memory (NVM) and rebuild the reader as needed.
Command | Purpose |
|---|---|
| Clear reader config, credentials, issuer credentials, and step-up element IDs |
| Set a reader config field (hex values; use |
| Set a large field (for example |
| Add an Aliro credential |
| Remove a credential |
| List stored credentials |
| Add an issuer credential |
| Remove an issuer credential |
| List issuer credentials |
The expedited-flow demo in Test Tool Demo uses a fixed CLI provisioning sequence with these commands.
Certificate reader behavior (whether the reader sends its certificate during a transaction) is determined at runtime by the active reader configuration — for example after setting reader-cert or provisioning through Matter.
Reader Diagnostics#
Use the following for reader-side bring-up and transaction debugging:
aliro reader-config-get all— Dump the full reader configuration snapshot.Serial logs — Aliro protocol and access-grant messages appear on the VCOM UART during Near Field Communication (NFC) or BLE exchanges. Increase verbosity at compile time via
APP_LOG_LEVEL_FILTER_THRESHOLDinaliro_log_config.h.NFC board light-emitting diodes (LEDs) — On the ST X-NUCLEO NFC expansion board, LED indicators reflect discovery and frame activity during a tap.
aliro test-case <id>— Select a certification scenario that exercises a specific reader behavior (requires Aliro Test Task). See the application project README for more details on running the certification tests.
Reset, Factory Reset, and State Management#
Command | Purpose |
|---|---|
| Clear all persistent Aliro configuration and return to an unprovisioned Aliro state |
| Clear individual config fields where supported |
| Clear step-up Coordinated Universal Time (UTC) override (resume system clock) |
aliro clear-all does not factory-reset Matter fabric or network credentials on AliroMatterLock. Use Matter factory-reset flows separately when you need to wipe commissioning state.
Step-Up and Certification Commands#
Command | Purpose |
|---|---|
| Override UTC time used for step-up Mobile Security Object (MSO) validity |
| Restore system clock for step-up |
| Configure whether the reader has a UTC wall clock (Aliro spec section 7.2.4) |
| Set access document element IDs (empty clears) |
| List access element IDs |
| Set revocation document element IDs |
| List revocation element IDs |
| Start certification test task for scenario |
For expedited-flow validation, scenarios 1 (NFC standard, no cert) and 12 (BLE remote keyless entry (RKE) unsecured) are sufficient — see Test Tool Demo. The full certification test-case matrix (Aliro Test Plan IDs 8.1–8.47 mapped to test-case numbers) is maintained in the Aliro extension repository and the CSA Aliro Certification Tool repository; it is not duplicated here.
Command Reference#
Compact reference for the most commonly used commands. Run help or aliro help on the device for the authoritative list installed in your build.
Command | Purpose | Arguments | Example | Notes |
|---|---|---|---|---|
| List top-level commands | — |
| Standalone and Matter shells |
| Shell version | — |
| Default string: |
| List Aliro sub-commands | — |
| |
| Wipe Aliro NVM config | — |
| Does not reset Matter fabric |
| Read config |
|
| |
| Write config field |
|
| See Device Information for fields |
| Write large cert |
|
| For long |
| Add credential |
|
| pubKey is 65-byte uncompressed hex |
| Remove credential |
|
| |
| List credentials | — |
| |
| Add issuer credential |
|
| |
| Remove issuer credential |
|
| |
| List issuer credentials | — |
| |
| Step-up time override |
|
| Also at top level on Minimal Reader |
| UTC clock capability |
|
| Also at top level on Minimal Reader |
| Access element IDs |
|
| Empty args clear the list |
| Revocation element IDs |
|
| |
| Run cert scenario |
|
| Requires Aliro Test Task; expedited demos use 1 or 12 |
Example CLI Workflows#
Short sequences for common tasks. For full Test Tool demo steps, see Test Tool Demo.
Verify Device State#
After boot, confirm the shell responds and inspect configuration:
help
aliro reader-config-get allRun a Basic Demo Action#
Provision the Test Tool default configuration on Aliro Minimal Reader (abbreviated):
aliro clear-all
aliro reader-config-set priv-key 8aefdff8d5b47aa9a3edbac7a345ed2221021512fd55abde3b8ee0f208952693
aliro reader-config-set pub-key 043928f322019d4757893bde6a0fe5e13e3e537b9ca0f549c0bd2f40f79060252a0a4f291192157a95cb6eb202759428c00cd834998c5d0eab192ee8873c5d34ee
aliro reader-config-set group-id 00113344667799aa00113344667799aa
aliro reader-config-set sub-group-id 113344667799aa00113344667799aa00
aliro cred-add 1 04742df736d0fc9be978c45b00e8fdf7cea684ea105ae574c1505a2c24ab6198e3125b7f1b7e1d134c55ece69681ba8ecc18a3836dc5199c759f31e8ccf17e3efa evictableThen run the matching expedited-flow case from the CSA Aliro Test Tool and watch the UART for access-grant logs.
Reset Device State#
Return Aliro configuration to a known baseline:
aliro clear-all
aliro reader-config-get allRelated Topics
Project Configuration — SLC components, BLE side channel, and low-power mode
Customizing the Application — Application source ownership and product logic
Test Tool Demo — Expedited-flow demos with the CSA Aliro Test Tool
Getting Started — Environment setup, hardware, and demos