2.2. Devices Requiring Firmware

Besides the availability of a device driver, some hardware also requires
so-called firmware or microcode
to be loaded into the device before it can become operational. This is most
common for network interface cards (especially wireless NICs), but for example
some USB devices and even some hard disk controllers also require firmware.
With many graphics cards, basic functionality is available without
additional firmware, but the use of advanced features requires an
appropriate firmware file to be installed in the system.

On many older devices which require firmware to work, the firmware file was
permanently placed in an EEPROM/Flash chip on the device itself by the
manufacturer. Nowadays most new devices do not have the firmware embedded
this way anymore, so the firmware file must be uploaded into the device by
the host operating system every time the system boots.

In most cases firmware is non-free according to the criteria used by the
Debian GNU/kFreeBSD project and thus cannot be included in the main distribution
or in the installation system. If the device driver itself is included in
the distribution and if Debian GNU/kFreeBSD legally can distribute the firmware,
it will often be available as a separate package from the non-free section
of the archive.

However, this does not mean that such hardware cannot be used during an
installation. Starting with Debian GNU/kFreeBSD 5.0, debian-installer supports loading
firmware files or packages containing firmware from a removable medium,
such as a USB stick.
See Section 6.4, “Loading Missing Firmware” for detailed information on how to
load firmware files or packages during the installation.

If the debian-installer prompts for a firmware file and you do not have this firmware
file available or do not want to install a non-free firmware file on your
system, you can try to proceed without loading the firmware. There are
several cases where a driver prompts for additional firmware because it may
be needed under certain circumstances, but the device does work without it
on most systems (this e.g. happens with certain network cards using the tg3
driver).