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).