1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
.Dd March 16, 2026
.Dt FRAMEWORK_TOOL 1
.Os
.Sh NAME
.Nm framework_tool
.Nd control and query Framework Computer systems
.Sh SYNOPSIS
.Nm
.Op Fl v ...
.Ar command
.Op Ar argument
.Sh DESCRIPTION
.Nm
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.
.Pp
Most operations require root privileges.
.Sh OPTIONS
.Ss Firmware Information
.Bl -tag -width Ds
.It Fl -versions
List current firmware versions (BIOS, EC, PD controllers, retimer, touchpad,
touchscreen)
.It Fl -version
Show tool version information.
Add
.Fl vv
for more details
.It Fl -features
Show features supported by the firmware
.It Fl -esrt
Display the UEFI ESRT table
.It Fl -meinfo Op Ar dmidecode-dump
Show Intel ME information from SMBIOS.
Optionally provide a path to a dmidecode binary dump file
.It Fl -boardid
Print all board IDs
.It Fl -pd-bin Ar file
Parse version from a PD firmware binary file
.It Fl -ec-bin Ar file
Parse version from an EC firmware binary file
.It Fl -capsule Ar file
Parse UEFI capsule information from a binary file
.It Fl -h2o-capsule Ar file
Parse H2O BIOS capsule information from a binary file
.It Fl -dump Ar file
Dump extracted UX capsule bitmap image to a file
.El
.Ss System Status
.Bl -tag -width Ds
.It Fl -power
Show current power status of battery and AC.
Add
.Fl vv
for more details.
.It Fl -thermal
Print thermal information (temperatures and fan speed)
.It Fl -sensors
Print sensor information (ALS, G-Sensor)
.It Fl -pdports
Show information about USB-C PD ports
.It Fl -pd-info
Show details about the PD controllers
.It Fl -dp-hdmi-info
Show details about connected DisplayPort or HDMI expansion cards
.It Fl -audio-card-info
Show details about connected audio expansion cards.
Requires root
.It Fl -privacy
Show privacy switch statuses (camera and microphone)
.It Fl -intrusion
Show status of the intrusion switch
.It Fl -inputdeck
Show status of the input modules (Framework 16 only)
.It Fl -expansion-bay
Show status of the expansion bay (Framework 16 only)
.It Fl -get-gpio Op Ar name
Get GPIO value by name, or all GPIOs if no name is given
.It Fl -stylus-battery
Check stylus battery level (USI 2.0 stylus only)
.It Fl -uptimeinfo
Show EC uptime information
.It Fl -s0ix-counter
Show S0ix counter
.It Fl -console Ar recent Ns | Ns Ar follow
Read EC console output
.El
.Ss Settings
.Bl -tag -width Ds
.It Fl -kblight Op Ar percent
Get or set keyboard backlight percentage
.It Fl -charge-limit Op Ar percent
Get or set the maximum battery charge limit
.It Fl -charge-current-limit Ar milliwatts Op Ar port
Set maximum charge current limit
.It Fl -charge-rate-limit Ar rate Op Ar port
Set maximum charge rate limit
.It Fl -fp-led-level Op Ar level
Get or set fingerprint LED brightness level
.It Fl -fp-brightness Op Ar percent
Get or set fingerprint LED brightness percentage
.It Fl -tablet-mode Ar auto Ns | Ns Ar on Ns | Ns Ar off
Set tablet mode override
.It Fl -touchscreen-enable Ar true Ns | Ns Ar false
Enable or disable the touchscreen
.It Fl -inputdeck-mode Ar auto Ns | Ns Ar on Ns | Ns Ar off
Set input deck power mode (Framework 16 only)
.It Fl -fansetduty Op Ar fan Ar percent
Set fan duty cycle (0-100%)
.It Fl -fansetrpm Op Ar fan Ar rpm
Set fan speed in RPM
.It Fl -autofanctrl Op Ar fan
Turn on automatic fan speed control
.It Fl -ec-hib-delay Op Ar seconds
Get or set EC hibernate delay (S5 to G3 transition)
.It Fl -remap-key Ar matrix Ar from Ar to
Remap a key by changing its scancode
.It Fl -rgbkbd Ar start Ar color ...
Set per-key RGB colours starting at
.Ar start
.El
.Ss Firmware Flashing
.Bl -tag -width Ds
.It Fl -flash-ec Ar file
Flash EC (RO and RW) with new firmware.
.Sy May render hardware unbootable.
Requires
.Fl -force
.It Fl -flash-ro-ec Ar file
Flash EC RO region with new firmware.
.Sy May render hardware unbootable.
Requires
.Fl -force
.It Fl -flash-rw-ec Ar file
Flash EC RW region with new firmware
.It Fl -dump-ec-flash Ar file
Dump EC flash contents to a file
.It Fl -dp-hdmi-update Ar file
Update the firmware of a connected DisplayPort or HDMI expansion card
.El
.Ss Advanced Options
.Bl -tag -width Ds
.It Fl -driver Ar type
Select the EC driver to use.
By default port I/O is used
.It Fl -pd-addrs Ar addr1 Ar addr2 Ar addr3
Specify I2C addresses of the PD chips.
Must be used together with
.Fl -pd-ports
.It Fl -pd-ports Ar port1 Ar port2 Ar port3
Specify I2C ports of the PD chips.
Must be used together with
.Fl -pd-addrs
.It Fl -host-command Ar cmd Ar version Op Ar data ...
Send a raw EC host command
.It Fl -pd-reset Ar controller
Reset a specific PD controller (for debugging only).
.It Fl -pd-disable Ar controller
Disable all ports on a specific PD controller (for debugging only)
.It Fl -pd-enable Ar controller
Enable all ports on a specific PD controller (for debugging only)
.It Fl -reboot-ec Ar mode
Control EC RO/RW jump
.It Fl -device Ar type
Hardware device type to compare against
.Fl -compare-version
.It Fl -compare-version Ar version
Version string to compare with the on-device version.
.It Fl -hash Ar file
Hash a file of arbitrary data using the EC hash algorithm
.It Fl -test
Run self-test to check if EC communication is working
.It Fl -test-retimer
Run self-test to check if retimer communication is working
.It Fl -dry-run
Simulate execution of a command without applying changes
.It Fl -force
Allow execution of unsafe commands
.El
.Ss General Options
.Bl -tag -width Ds
.It Fl v
Increase verbosity.
Repeat for more output
.Pq e.g., Fl vv
.It Fl h , Fl -help
Print help information
.El
.Sh EXIT STATUS
.Ex -std
.Sh EXAMPLES
List all firmware versions:
.Dl # framework_tool --versions
.Pp
Show battery and AC status:
.Dl # framework_tool --power
.Pp
Get keyboard backlight level:
.Dl # framework_tool --kblight
.Pp
Set keyboard backlight to 50%:
.Dl # framework_tool --kblight 50
.Pp
Set battery charge limit to 80%:
.Dl # framework_tool --charge-limit 80
.Pp
Parse version from EC firmware file:
.Dl $ framework_tool --ec-bin ec.bin
.Pp
Flash EC RW firmware:
.Dl # framework_tool --flash-rw-ec ec_rw.bin
.Sh SEE ALSO
.Xr dmidecode 8
.Sh AUTHORS
.Nm
was written by
.An Framework Computer Inc Aq Mt hello@frame.work
.Pp
This manual page was written by
.An Nadzeya Hutsko Aq Mt nadzya.info@gmail.com
|