Command-line reference
Run these commands from the board’s Linux console unless a section specifies the host computer. For build and flash commands, see the Make reference.
esp32-config
esp32-config
Opens the board configuration menu for system settings, networking, Bluetooth, interfaces, GPIO, memory/storage, and configuration backups. See esp32-config for its commands and setup steps.
s31-overlay
s31-overlay list
s31-overlay status
s31-overlay routes NAME
s31-overlay parameters NAME
s31-overlay describe NAME
s31-overlay check CONFIG_FILE
s31-overlay apply NAME [KEY=VALUE ...] [--volatile]
s31-overlay remove NAME [--volatile]
s31-overlay remove --all [--volatile]
s31-overlay restore
list shows installed overlays; status shows the active and saved sets.
routes and parameters show the defaults and choices exported by an overlay.
describe separates default, current, and saved values in tab-separated records.
check validates a saved configuration against the installed catalog without
applying it.
apply and remove update the named saved selection by default; remove --all
clears the saved set. Use --volatile to leave saved selections unchanged.
restore replaces the active set with the saved entries when the saved file
exists. See Using overlays for examples and failure behavior.
s31-lpctl
s31-lpctl status
s31-lpctl ping
s31-lpctl sleep-test MS
s31-lpctl gpio-test PIN low|high [none|up|down] [MS]
s31-lpctl send WORD
s31-lpctl recv
Command |
Description |
|---|---|
|
Show firmware readiness, mailbox counters, and ping status |
|
Request a PING/PONG exchange |
|
Run the LP timer test for 10–5000 ms while Linux remains running |
|
Test an LP GPIO0–7 level, with optional pull and 10–5000 ms timeout |
|
Send one 32-bit mailbox word |
|
Wait for one mailbox word and print it in hexadecimal |
The GPIO test defaults to no pull and a 1000 ms timeout. Supply the pull argument before specifying a timeout. For example:
s31-lpctl gpio-test 3 high up 500
See LP core for setup and protocol details.
s31-selftest
s31-selftest [--quick|--stress] [--json] [--duration SECONDS]
[--require-radio-traffic]
The default quick test checks system health and performs a small persistent write test. Stress mode adds concurrent CPU, XIP-read, persistent-write, and radio-health checks. Its default duration is 60 seconds, with a range of 10–3600 seconds.
s31-selftest --quick
s31-selftest --stress --duration 60 --json
--json prints one JSON result per line. In stress mode,
--require-radio-traffic makes unchanged Wi-Fi/Bluetooth packet counters a
failure; generate suitable traffic while the test runs.
s31-modload
s31-modload MODULE.ko [PARAM=VALUE ...]
s31-modload --remove MODULE_NAME
Loads a kernel module, including XZ-compressed modules, or removes one by its kernel name. Normal radio startup is handled by the board’s service scripts. Use this helper for module development after stopping applications that use the device.
HIL (hardware-in-the-loop) tools
These tools are used to automate hardware-in-the-loop testing for the ESP32-S31 platform.
On the host, list the runner options with:
python3 tools/hil/s31_hil.py --help
The runner coordinates s31-hil-agent on the S31 and optional peer firmware.
See Hardware-in-the-loop testing for complete
commands and fixture setup.
Wi-Fi diagnostics
iw dev
iw phy
wpa_cli -p /run/wpa_supplicant -i wlan0 status
ip addr show wlan0
The mac80211 SoftMAC frontend supports one station and does not expose firmware EAP-credential vendor commands. See Advanced Wi-Fi for AP, monitor, authentication, and suspend limitations.
Development utilities
The project includes sources for CoreMark, memory and libc tests, extension
tests, and other diagnostics. Several are removed from the compact rootfs by
post-build.sh. To add a tool to your image, follow
Adding a userspace tool.