1.\" $OpenBSD: fw_update.8,v 1.6 2024/11/09 02:19:48 afresh1 Exp $ 2.\" 3.\" Copyright (c) 2011 Alexander Hall <alexander@beard.se> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: November 9 2024 $ 18.Dt FW_UPDATE 8 19.Os 20.Sh NAME 21.Nm fw_update 22.Nd install non-free firmware 23.Sh SYNOPSIS 24.Nm 25.Op Fl adFlnv 26.Op Fl p Ar path 27.Op Ar driver | file ... 28.Sh DESCRIPTION 29The 30.Nm 31utility installs, updates, or deletes firmware for 32.Ar driver 33from the Internet. 34By default, 35.Nm 36tries to determine which firmware are needed. 37.Pp 38Since firmware with an acceptable license is already present in 39.Ox , 40.Nm 41exists purely to deal with firmware that may not be freely 42distributed with 43.Ox . 44.Pp 45The options are as follows: 46.Bl -tag -width Ds 47.It Fl a 48Install or update firmware for all drivers. 49It is an error to specify this option with any 50.Ar driver 51arguments. 52.It Fl d 53Delete firmware for 54.Ar driver . 55If used without parameters, delete all firmware that is not required by 56a driver. 57If used in conjunction with 58.Fl a , 59delete firmware for all drivers. 60.It Fl F 61Download SHA256.sig and firmware .tgz to the current directory. 62.It Fl l 63List drivers without installing. 64With 65.Fl F 66lists the full path to the files that will be downloaded. 67.It Fl n 68Dry run. 69Do not actually install or update any firmware; 70just report the steps that would be taken. 71.It Fl p Ar path 72Use 73.Ar path , 74either a local directory or a URL, 75as the source for firmware instead of the default location. 76.It Fl v 77Turn on verbose output. 78This flag can be specified multiple times for increased verbosity. 79.El 80.Pp 81Firmware is downloaded from release-specific directories at 82.Lk http://firmware.openbsd.org/firmware/ 83unless overridden with 84.Fl p . 85.Sh ENVIRONMENT 86.Bl -tag -width DESTDIRXXX 87.It Ev DESTDIR 88The root of the system to install into. 89.El 90.Sh FILES 91.Bl -tag -width Ds 92.It Pa ${DESTDIR}/usr/share/misc/firmware_patterns 93A list of patterns used to detect needed firmware from the 94.Xr dmesg 8 . 95.It Pa ${DESTDIR}/etc/signify/openbsd-XX-fw.pub 96Used with 97.Xr signify 1 98to verify downloaded firmware files. 99.El 100.Sh SEE ALSO 101.Xr pkg_add 1 , 102.Xr dmesg 8 103.Sh AUTHORS 104.An -nosplit 105The 106.Nm 107program was designed by 108.An Alexander Hall Aq Mt alexander@beard.se ; 109it was then replaced with a perl version by 110.An Marc Espie Aq Mt espie@openbsd.org . 111It was rewritten to be able to be run from the installer by 112.An Andrew Hewus Fresh Aq Mt afresh1@openbsd.org . 113