Devices often may need some code to work properly, these are called firmwares.

While device drivers run on the CPU and managed by OS, device firmwares ran on the device itself and OS has no control over it (after loading the firmware). OpenBSD ships with serval firmware for some devices (such as run, fxp or bnx) in /etc/firmwares. However, due to legal concerns, OpenBSD may not include all firmwares in the installation image.

After installation, fw_update will be ran to install firmwares in /etc/firmwares.

Important firmwares

there are usually several important firmwares, depending on your hardware:

CPUCPU microcode updates, to patch security and reliability issuesintel, amd
VMMRequired for VMM to workvmm
USB videowebcams and other camerasuvideo
GPUgraphics for GPUsinteldrm, amdgpu, radeongpu
WifiWireless networkingiwn, iwx, qwx, etc


With no arguments, fw_update simply will check and find all firmwares your device may need:

$ doas fw_update

to delete a firmware, you may use -d:

$ doas fw_update -d uvideo