table of contents
| FRAMEWORK_TOOL(1) | General Commands Manual | FRAMEWORK_TOOL(1) |
NAME¶
framework_tool —
control 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¶
--versions- List current firmware versions (BIOS, EC, PD controllers, retimer, touchpad, touchscreen)
--version- Show tool version information. Add
-vvfor more details --features- Show features supported by the firmware
--esrt- Display the UEFI ESRT table
--meinfo[dmidecode-dump]- Show Intel ME information from SMBIOS. Optionally provide a path to a dmidecode binary dump file
--boardid- Print all board IDs
--pd-binfile- Parse version from a PD firmware binary file
--ec-binfile- Parse version from an EC firmware binary file
--capsulefile- Parse UEFI capsule information from a binary file
--h2o-capsulefile- Parse H2O BIOS capsule information from a binary file
--dumpfile- Dump extracted UX capsule bitmap image to a file
System Status¶
--power- Show current power status of battery and AC. Add
-vvfor more details. --thermal- Print thermal information (temperatures and fan speed)
--sensors- Print sensor information (ALS, G-Sensor)
--pdports- Show USB-C PD port state
--pdports-chromebook- Show PD port info (generic Chromium EC)
--pd-info- Show details about the PD controllers
--dp-hdmi-info- Show details about connected DisplayPort or HDMI expansion cards
--audio-card-info- Show details about connected audio expansion cards. Requires root
--privacy- Show privacy switch statuses (camera and microphone)
--intrusion- Show status of the intrusion switch
--inputdeck- Show status of the input modules (Framework 16 only)
--expansion-bay- Show status of the expansion bay (Framework 16 only)
--get-gpio[name]- Get GPIO value by name, or all GPIOs if no name is given
--stylus-battery- Check stylus battery level (USI 2.0 stylus only)
--uptimeinfo- Show EC uptime information
--s0ix-counter- Show S0ix counter
--consolerecent|follow- Read EC console output
Settings¶
--kblight[percent]- Get or set keyboard backlight percentage
--charge-limit[percent]- Get or set the maximum battery charge limit
--charge-current-limitmilliwatts [port]- Set maximum charge current limit
--charge-rate-limitrate [port]- Set maximum charge rate limit
--fp-led-level[level]- Get or set fingerprint LED brightness level
--fp-brightness[percent]- Get or set fingerprint LED brightness percentage
--tablet-modeauto|on|off- Set tablet mode override
--touchscreen-enabletrue|false- Enable or disable the touchscreen
--inputdeck-modeauto|on|off- Set input deck power mode (Framework 12, 13, 16)
--fansetduty[fan percent]- Set fan duty cycle (0-100%)
--fansetrpm[fan rpm]- Set fan speed in RPM
--autofanctrl[fan]- Turn on automatic fan speed control
--ec-hib-delay[seconds]- Get or set EC hibernate delay (S5 to G3 transition)
--remap-keymatrix from to- Remap a key by changing its scancode
--rgbkbdstart color ...- Set per-key RGB colours starting at start
Firmware Flashing¶
--flash-ecfile- Flash EC (RO and RW) with new firmware. May render hardware
unbootable. Requires
--force --flash-ro-ecfile- Flash EC RO region with new firmware. May render hardware
unbootable. Requires
--force --flash-rw-ecfile- Flash EC RW region with new firmware
--dump-ec-flashfile- Dump EC flash contents to a file
--flash-full-ecfile- Flash full EC flash (RO, RW, and all regions) with new firmware.
May render hardware unbootable. Requires
--force --dp-hdmi-updatefile- Update the firmware of a connected DisplayPort or HDMI expansion card
Advanced Options¶
--drivertype- Select the EC driver to use. By default port I/O is used
--pd-addrsaddr1 addr2 addr3- Specify I2C addresses of the PD chips. Must be used together with
--pd-ports --pd-portsport1 port2 port3- Specify I2C ports of the PD chips. Must be used together with
--pd-addrs --host-commandcmd version [data ...]- Send a raw EC host command
--pd-resetcontroller- Reset a specific PD controller (for debugging only).
--pd-disablecontroller- Disable all ports on a specific PD controller (for debugging only)
--pd-enablecontroller- Enable all ports on a specific PD controller (for debugging only)
--reboot-ecmode- Control EC RO/RW jump
--devicetype- Hardware device type to compare against
--compare-version --compare-versionversion- Version string to compare with the on-device version.
--hashfile- Hash a file of arbitrary data using the EC hash algorithm
--test- Run self-test to check if EC communication is working
--test-retimer- Run self-test to check if retimer communication is working
--dry-run- Simulate execution of a command without applying changes
--force- Allow execution of unsafe commands
General Options¶
EXIT STATUS¶
The framework_tool utility exits 0
on success, and >0 if an error occurs.
EXAMPLES¶
List all firmware versions:
# framework_tool
--versionsShow battery and AC status:
# framework_tool --powerGet keyboard backlight level:
# framework_tool
--kblightSet keyboard backlight to 50%:
# framework_tool --kblight
50Set battery charge limit to 80%:
# framework_tool --charge-limit
80Parse version from EC firmware file:
$ framework_tool --ec-bin
ec.binFlash EC RW firmware:
# framework_tool --flash-rw-ec
ec_rw.binSEE ALSO¶
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 |