fw_update(8)

fw_update8

Install non-free firmware

Usage

fw_update [-adFlnv] [-D path] [-p path] [{driver | file ...}]

Overview

The fw_update utility installs, updates, or deletes firmware for driver from the Internet. By default, fw_update tries to determine which firmware are needed.

Since firmware with an acceptable license is already present in OpenBSD, fw_update exists purely to deal with firmware that may not be freely distributed with OpenBSD.

The options are as follows:

-a

Install or update firmware for all drivers. It is an error to specify this option with any driver arguments.

-d

Delete firmware for driver. If used without parameters, delete all firmware that is not required by a driver. If used in conjunction with -a, delete firmware for all drivers.

-D path

Use the content of path rather than output from dmesg(8) and /var/run/dmesg.boot to determine which firmware are needed.

-F

Download SHA256.sig and firmware .tgz to the current directory.

-l

List drivers without installing. With -F lists the full path to the files that will be downloaded.

-n

Dry run. Do not actually install or update any firmware; just report the steps that would be taken.

-p path

Use path, either a local directory or a URL, as the source for firmware instead of the default location.

-v

Turn on verbose output. This flag can be specified multiple times for increased verbosity.

Firmware is downloaded from release-specific directories at http://firmware.openbsd.org/firmware/ unless overridden with -p.

Environment

DESTDIR

The root of the system to install into.

Files

${DESTDIR}/usr/share/misc/firmware_patterns

A list of patterns used to detect needed firmware from the dmesg(8).

${DESTDIR}/etc/signify/openbsd-XX-fw.pub

Used with signify(1) to verify downloaded firmware files.

Releases

11 releases since OpenBSD 7.1; the text changed 2 times.

  1. 7.1–7.6
  2. 7.7–7.8
  3. 7.9–8.0

-D since OpenBSD 7.7; -l since OpenBSD 7.7.

Authors

The fw_update program was designed by Alexander Hall ⟨[email protected]⟩; it was then replaced with a perl version by Marc Espie ⟨[email protected]⟩. It was rewritten to be able to be run from the installer by Andrew Hewus Fresh ⟨[email protected]⟩.

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's mdoc source.