Scroll to navigation

FRAMEWORK_TOOL(1) General Commands Manual FRAMEWORK_TOOL(1)

NAME

framework_toolcontrol and query Framework Computer systems

SYNOPSIS

framework_tool [-v -...] command [argument]

DESCRIPTION

framework_tool is a command-line utility for interacting with Framework Computer laptops and desktops. It communicates with the Embedded Controller (EC) to query firmware versions, battery and USB-C status, thermal data, privacy and intrusion switches, and expansion card details. It can also adjust system settings and flash EC firmware.

Most operations require root privileges.

OPTIONS

Firmware Information

List current firmware versions (BIOS, EC, PD controllers, retimer, touchpad, touchscreen)
Show tool version information. Add -vv for more details
Show features supported by the firmware
Display the UEFI ESRT table
[dmidecode-dump]
Show Intel ME information from SMBIOS. Optionally provide a path to a dmidecode binary dump file
Print all board IDs
file
Parse version from a PD firmware binary file
file
Parse version from an EC firmware binary file
file
Parse UEFI capsule information from a binary file
file
Parse H2O BIOS capsule information from a binary file
file
Dump extracted UX capsule bitmap image to a file

System Status

Show current power status of battery and AC. Add -vv for more details.
Print thermal information (temperatures and fan speed)
Print sensor information (ALS, G-Sensor)
Show USB-C PD port state
Show PD port info (generic Chromium EC)
Show details about the PD controllers
Show details about connected DisplayPort or HDMI expansion cards
Show details about connected audio expansion cards. Requires root
Show privacy switch statuses (camera and microphone)
Show status of the intrusion switch
Show status of the input modules (Framework 16 only)
Show status of the expansion bay (Framework 16 only)
[name]
Get GPIO value by name, or all GPIOs if no name is given
Check stylus battery level (USI 2.0 stylus only)
Show EC uptime information
Show S0ix counter
recent|follow
Read EC console output

Settings

[percent]
Get or set keyboard backlight percentage
[percent]
Get or set the maximum battery charge limit
milliwatts [port]
Set maximum charge current limit
rate [port]
Set maximum charge rate limit
[level]
Get or set fingerprint LED brightness level
[percent]
Get or set fingerprint LED brightness percentage
auto|on|off
Set tablet mode override
true|false
Enable or disable the touchscreen
auto|on|off
Set input deck power mode (Framework 12, 13, 16)
[fan percent]
Set fan duty cycle (0-100%)
[fan rpm]
Set fan speed in RPM
[fan]
Turn on automatic fan speed control
[seconds]
Get or set EC hibernate delay (S5 to G3 transition)
matrix from to
Remap a key by changing its scancode
start color ...
Set per-key RGB colours starting at start

Firmware Flashing

file
Flash EC (RO and RW) with new firmware. May render hardware unbootable. Requires --force
file
Flash EC RO region with new firmware. May render hardware unbootable. Requires --force
file
Flash EC RW region with new firmware
file
Dump EC flash contents to a file
file
Flash full EC flash (RO, RW, and all regions) with new firmware. May render hardware unbootable. Requires --force
file
Update the firmware of a connected DisplayPort or HDMI expansion card

Advanced Options

type
Select the EC driver to use. By default port I/O is used
addr1 addr2 addr3
Specify I2C addresses of the PD chips. Must be used together with --pd-ports
port1 port2 port3
Specify I2C ports of the PD chips. Must be used together with --pd-addrs
cmd version [data ...]
Send a raw EC host command
controller
Reset a specific PD controller (for debugging only).
controller
Disable all ports on a specific PD controller (for debugging only)
controller
Enable all ports on a specific PD controller (for debugging only)
mode
Control EC RO/RW jump
type
Hardware device type to compare against --compare-version
version
Version string to compare with the on-device version.
file
Hash a file of arbitrary data using the EC hash algorithm
Run self-test to check if EC communication is working
Run self-test to check if retimer communication is working
Simulate execution of a command without applying changes
Allow execution of unsafe commands

General Options

Increase verbosity. Repeat for more output (e.g., -vv)
, --help
Print help information

EXIT STATUS

The framework_tool utility exits 0 on success, and >0 if an error occurs.

EXAMPLES

List all firmware versions:

# framework_tool --versions

Show battery and AC status:

# framework_tool --power

Get keyboard backlight level:

# framework_tool --kblight

Set keyboard backlight to 50%:

# framework_tool --kblight 50

Set battery charge limit to 80%:

# framework_tool --charge-limit 80

Parse version from EC firmware file:

$ framework_tool --ec-bin ec.bin

Flash EC RW firmware:

# framework_tool --flash-rw-ec ec_rw.bin

SEE ALSO

dmidecode(8)

AUTHORS

framework_tool was written by Framework Computer Inc <hello@frame.work>

This manual page was written by
Nadzeya Hutsko <nadzya.info@gmail.com>

April 8, 2026 Nixpkgs