18274
Comment:
|
18275
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
There are currently cases (ex. Broadcom NIC firmware) when the installer will not prompt you for the non-free firmware and something like network configuration may fail silently. There are other cases when the installer detects the need for non-free firmware and prompts the user to make the firmware available to the installer to complete the installation. See IPW220 on the Debian Wiki. [[http://wiki.debian.org/ipw2200]] | There are currently cases (ex. Broadcom NIC firmware) when the installer will not prompt you for the non-free firmware and something like network configuration may fail silently. There are other cases when the installer detects the need for non-free firmware and prompts the user to make the firmware available to the installer to complete the installation. See IPW2200 on the Debian Wiki. [[http://wiki.debian.org/ipw2200]] |
Firmware refers to embedded software which controls electronic devices. Well-defined boundaries between firmware and software do not exist, as both terms cover some of the same code. Typically, the term firmware deals with low-level operations in a device, without which the device would be completely non-functional... (read more on Wikipedia).
Contents
Devices/Drivers Firmware
Many devices require a firmware to operate. Historically, firmware were built-into the device's ROM or Flash memory, but more and more often, the firmware has to be loaded into the device by the driver during the device initialization.
Some of these firmware are free and open-source, and some of them are non-free (which means that you need to add the non-free and contrib components to /etc/apt/sources.list, see sources.list(5), or apt-howto).).
Firmware during the installation
There are currently cases (ex. Broadcom NIC firmware) when the installer will not prompt you for the non-free firmware and something like network configuration may fail silently. There are other cases when the installer detects the need for non-free firmware and prompts the user to make the firmware available to the installer to complete the installation. See IPW2200 on the Debian Wiki. http://wiki.debian.org/ipw2200
Before starting the installation process on hardware unfamiliar to you, a suggestion is to download the firmware tarball for your installation and have it available on removable storage. When the installer starts, it will automagically find the firmware tarball on the removable storage and have the firmware available if needed for your hardware. The link to the firmware download for your Debian version is http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/.
NetbootFirmware - Firmware for Netbooting.
Once the network is configured, Debian-Installer can fetch firmware from Debian repositories.
Location of the firmwares
The firmware are stored in the following places (see udev's /lib/udev/hotplug.functions and /lib/udev/firmware.agent)
/lib/firmware/ - Firmware provided by a package, valid for all kernels - up-to DebianLenny.
/usr/local/lib/firmware - Location for manually installed firmware.
/usr/lib/hotplug/firmware - Firmware provided by a package, valid for all kernels
/lib/firmware/`uname -r` - Firmware provided by a package, specific for a kernel - new in DebianSqueeze??.
List of firmware in linux kernel
To find which package provide a given firmware file, you can use this search page:
http://www.debian.org/distrib/packages#search_contents
Here's a list of Linux modules that requires a firmware to operate, generated automatically from Lenny's linux 2.6.26-2-686 kernel.
Note: this list may not be complete (because the firmware name can't be extracted reliably).
microcode.ko |
Intel CPU (IA-32) Microcode Update Driver |
|
bcm203x.ko |
Broadcom Blutonium firmware driver ver 1.1 |
|
bfusb.ko |
BlueFRITZ! USB driver ver 1.1 |
|
bt3c_cs.ko |
Bluetooth driver for the 3Com Bluetooth PCMCIA card |
|
ip2.ko |
Computone IntelliPort Plus Driver |
|
dell_rbu.ko |
Driver for updating BIOS image on DELL systems |
|
tuner-xc2028.ko |
Xceive xc2028/xc3028 tuner driver |
|
xc5000.ko |
Xceive xc5000 silicon tuner driver |
|
b2c2-flexcop.ko |
B2C2 FlexcopII/II(b)/III digital TV receiver chip |
|
dvb-bt8xx.ko |
Bt8xx based DVB adapter driver |
|
dvb-usb-gp8psk.ko |
Driver for Genpix 8psk-to-USB2 DVB-S |
|
dvb-usb.ko |
A library module containing commonly used USB and DVB function USB DVB devices |
|
dvb-usb-opera.ko |
Driver for Opera1 DVB-S device |
|
bcm3510.ko |
Broadcom BCM3510 ATSC (8VSB/16VSB & ITU J83 AnnexB FEC QAM64/256) demodulator driver |
|
nxt200x.ko |
NXT200X (ATSC 8VSB & ITU-T J.83 AnnexB 64/256 QAM) Demodulator Driver |
|
or51132.ko |
OR51132 ATSC [pcHDTV HD-3000] (8VSB & ITU J83 AnnexB FEC QAM64/256) Demodulator Driver |
|
or51211.ko |
Oren OR51211 VSB [pcHDTV HD-2000] Demodulator Driver |
|
sp8870.ko |
Spase SP8870 DVB-T Demodulator driver |
|
sp887x.ko |
Spase sp887x DVB-T demodulator driver |
|
tda10048.ko |
NXP TDA10048HN DVB-T Demodulator driver |
|
tda1004x.ko |
Philips TDA10045H & TDA10046H DVB-T Demodulator |
|
pluto2.ko |
Pluto2 driver |
|
budget-av.ko |
driver for the SAA7146 based so-called budget PCI DVB w/ analog input and CI-module (e.g. the KNC cards) |
|
budget-ci.ko |
driver for the SAA7146 based so-called budget PCI DVB cards w/ CI-module produced by Siemens, Technotrend, Hauppauge |
|
dvb-ttpci.ko |
driver for the SAA7146 based AV110 PCI DVB cards by Siemens, Technotrend, Hauppauge |
|
ttusb_dec.ko |
!TechnoTrend/Hauppauge DEC USB |
|
bttv.ko |
bttv - v4l/v4l2 driver module for bt848/878 based cards |
|
cx18.ko |
CX23418 driver |
|
cx23885.ko |
Driver for cx23885 based TV cards |
|
cx25840.ko |
Conexant CX25840 audio/video decoder driver |
|
cx88-blackbird.ko |
driver for cx2388x/cx23416 based mpeg encoder cards |
|
ivtv.ko |
CX23415/CX23416 driver |
|
pvrusb2.ko |
Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner |
|
acenic.ko |
AceNIC/3C985/GA620 Gigabit Ethernet driver |
|
bnx2.ko |
Broadcom NetXtreme II BCM5706/5708 Driver |
|
cxgb3.ko |
Chelsio T3 Network Driver |
|
irda-usb.ko |
IrDA-USB Dongle Driver |
|
myri10ge.ko |
Myricom 10G driver (10GbE) |
|
at76_usb.ko |
Atmel at76x USB Wireless LAN Driver |
|
atmel.ko |
Support for Atmel at76c50x 802.11 wireless ethernet cards. |
|
b43.ko |
Broadcom B43 wireless driver |
|
b43legacy.ko |
Broadcom B43legacy wireless driver |
|
ipw2100.ko |
Intel(R) PRO/Wireless 2100 Network Driver |
|
ipw2200.ko |
Intel(R) PRO/Wireless 2200/2915 Network Driver |
|
iwl3945.ko |
Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux |
|
iwl4965.ko |
Intel(R) Wireless WiFi Link 4965AGN driver for Linux |
|
libertas_cs.ko |
Driver for Marvell 83xx compact flash WLAN cards |
|
libertas_sdio.ko |
Libertas SDIO WLAN Driver |
|
usb8xxx.ko |
8388 USB WLAN Driver |
|
p54pci.ko |
Prism54 PCI wireless driver |
|
p54usb.ko |
Prism54 USB wireless driver |
|
rt2x00lib.ko |
rt2x00 library |
|
rt61pci.ko |
Ralink RT61 PCI & PCMCIA Wireless LAN driver. |
|
rt73usb.ko |
Ralink RT73 USB Wireless LAN driver. |
|
spectrum_cs.ko |
Driver for Symbol Spectrum24 Trilogy cards with firmware downloader |
|
zd1201.ko |
Driver for ZyDAS ZD1201 based USB Wireless adapters |
|
zd1211rw.ko |
USB driver for devices with the ZD1211 chip. |
|
pcmcia.ko |
PCMCIA Driver Services |
|
aic94xx.ko |
Adaptec aic94xx SAS/SATA driver |
|
ipr.ko |
IBM Power RAID SCSI Adapter Driver |
|
libsas.ko |
SAS Transport Layer |
|
qla2xxx.ko |
QLogic Fibre Channel HBA Driver |
ql2100_fw.bin |
cxacru.ko |
Conexant AccessRunner ADSL USB modem driver |
|
speedtch.ko |
Alcatel SpeedTouch USB driver version 1.10 |
|
ueagle-atm.ko |
ADI 930/Eagle USB ADSL Modem driver |
|
keyspan.ko |
Keyspan USB to Serial Converter Driver |
keyspan/mpr.fw |
snd-vx-lib.ko |
Common routines for Digigram VX drivers |
vx/bd56002.boot |
snd-wavefront.ko |
Turtle Beach Wavefront |
|
pss.ko |
Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards). |
|
snd-darla20.ko |
Echoaudio Darla20 soundcards driver |
|
snd-darla24.ko |
Echoaudio Darla24 soundcards driver |
|
snd-echo3g.ko |
Echoaudio Echo3G soundcards driver |
|
snd-gina20.ko |
Echoaudio Gina20 soundcards driver |
|
snd-gina24.ko |
Echoaudio Gina24 soundcards driver |
ea/gina24_301_asic.fw |
snd-indigodj.ko |
Echoaudio Indigo DJ soundcards driver |
|
snd-indigoio.ko |
Echoaudio Indigo IO soundcards driver |
|
snd-indigo.ko |
Echoaudio Indigo soundcards driver |
|
snd-layla20.ko |
Echoaudio Layla20 soundcards driver |
|
snd-layla24.ko |
Echoaudio Layla24 soundcards driver |
ea/layla24_1_asic.fw |
snd-mia.ko |
Echoaudio Mia soundcards driver |
|
snd-mona.ko |
Echoaudio Mona soundcards driver |
ea/loader_dsp.fw |
snd-emu10k1.ko |
EM!?U10K1 |
emu/audio_dock.fw |
snd-korg1212.ko |
korg1212 |
|
snd-mixart.ko |
Digigram miXart |
|
snd-pcxhr.ko |
Digigram pcxhr 0.8.4 |
pcxhr/b321_512.b56 |
snd-riptide.ko |
riptide |
|
snd-hdsp.ko |
RME Hammerfall DSP |
|
snd-maestro3.ko |
||
snd-ymfpci.ko |
Yamaha DS-1 PCI |
This paragraph is mostly meant to expose module/firmware. It should be improved to list the matching package names.
Computer Firmware
Found on so called IBM-PC compatible computers |
|
OpenFirmware |
Found on: |
EFI |
Found on: |
Coreboot (LinuxBIOS) |
Found on very few PC motheboards. |