FRAMEWORK_TOOL(1)

πŸ“¦
version 0.6.5 Β· 2 versions
, in ubuntu stonking

πŸ’– FRAMEWORK_TOOL πŸ’–

okay bestie, welcome to framework_tool(1) β€” the General Commands Manual girlie of your dreams ✨


✨ NAME ✨

framework_tool β€” control and query Framework Computer systems πŸ’»πŸ¦‹


🌸 SYNOPSIS 🌸

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

πŸŽ€ DESCRIPTION πŸŽ€

so like, framework_tool is a command-line utility for interacting with Framework Computer laptops and desktops. no cap. it talks to the Embedded Controller (EC) to query firmware versions, battery and USB-C status, thermal data, privacy and intrusion switches, and expansion card details. it's giving full system gossip. πŸ‘‘

it can also adjust system settings and flash EC firmware. main character energy fr fr.

⚠️ heads up babe: most operations require root privileges. don't forget your sudo or she simply will not cooperate 😭

✨ OPTIONS ✨

🧚 Firmware Information

  • --versions β€” list current firmware versions (BIOS, EC, PD controllers, retimer, touchpad, touchscreen). the whole squad, accounted for πŸ’…
  • --version β€” show tool version information. add -vv for more details, iykyk
  • --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-bin file β€” parse version from a PD firmware binary file
  • --ec-bin file β€” parse version from an EC firmware binary file
  • --capsule file β€” parse UEFI capsule information from a binary file
  • --h2o-capsule file β€” parse H2O BIOS capsule information from a binary file
  • --dump file β€” dump extracted UX capsule bitmap image to a file πŸ–ΌοΈ

🌈 System Status

  • --power β€” show current power status of battery and AC. add -vv for 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
  • --console recent|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-limit milliwatts [port] β€” set maximum charge current limit
  • --charge-rate-limit rate [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-mode auto|on|off β€” set tablet mode override
  • --touchscreen-enable true|false β€” enable or disable the touchscreen
  • --inputdeck-mode auto|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-key matrix from to β€” remap a key by changing its scancode ⌨️
  • --rgbkbd start color ... β€” set per-key RGB colours starting at start 🌈

πŸ”₯ Firmware Flashing

πŸ’€ okay these ones are serious. read the warnings, bestie. like actually.
  • --flash-ec file β€” flash EC (RO and RW) with new firmware. may render hardware unbootable. requires --force
  • --flash-ro-ec file β€” flash EC RO region with new firmware. may render hardware unbootable. requires --force
  • --flash-rw-ec file β€” flash EC RW region with new firmware
  • --dump-ec-flash file β€” dump EC flash contents to a file
  • --flash-full-ec file β€” flash full EC flash (RO, RW, and all regions) with new firmware. may render hardware unbootable. requires --force
  • --dp-hdmi-update file β€” update the firmware of a connected DisplayPort or HDMI expansion card

πŸ‘‘ Advanced Options

  • --driver type β€” select the EC driver to use. by default port I/O is used
  • --pd-addrs addr1 addr2 addr3 β€” specify I2C addresses of the PD chips. must be used together with --pd-ports
  • --pd-ports port1 port2 port3 β€” specify I2C ports of the PD chips. must be used together with --pd-addrs
  • --host-command cmd version [data ...] β€” send a raw EC host command
  • --pd-reset controller β€” reset a specific PD controller (for debugging only).
  • --pd-disable controller β€” disable all ports on a specific PD controller (for debugging only)
  • --pd-enable controller β€” enable all ports on a specific PD controller (for debugging only)
  • --reboot-ec mode β€” control EC RO/RW jump
  • --device type β€” hardware device type to compare against --compare-version
  • --compare-version version β€” version string to compare with the on-device version.
  • --hash file β€” 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

  • -v β€” increase verbosity. repeat for more output (e.g., -vv)
  • -h, --help β€” print help information

πŸ’œ EXIT STATUS πŸ’œ

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

translation: 0 = slay, >0 = not slay 😭


πŸ¦‹ 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)

(the one other page in the group chat πŸ’–)


πŸŽ€ AUTHORS πŸŽ€

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

this manual page was written by Nadzeya Hutsko <nadzeya@debian.org> β€” icon behavior, genuinely ✨


and that's the whole page bestie!! go forth and query your EC πŸ’…

Debian Β· April 8, 2026 Β· FRAMEWORK_TOOL(1) β€” mwah, love u, bye πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from