Recently I stumbled upon the missing firmware for Broadcom Tigon3 based gigabit Ethernet card
after kernel upgrade process. Simple problem, which was solved by installing firmware-linux-nonfree
Binary firmware for various drivers in the Linux kernel package.
Notice the Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3
warning during generation of the initramfs image after kernel upgrade.
$ sudo apt-get upgrade
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: linux-image-3.2.0-4-amd64 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/23.5 MB of archives. After this operation, 1024 B of additional disk space will be used. Do you want to continue [Y/n]? Reading changelogs... Done Preconfiguring packages ... (Reading database ... 39249 files and directories currently installed.) Preparing to replace linux-image-3.2.0-4-amd64 3.2.84-1 (using .../linux-image-3.2.0-4-amd64_3.2.84-2_amd64.deb) ... Unpacking replacement linux-image-3.2.0-4-amd64 ... Examining /etc/kernel/postrm.d . run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64 run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64 Setting up linux-image-3.2.0-4-amd64 (3.2.84-2) ... Running depmod. Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64 update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64 W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3 W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3 W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3 run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64 Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 done localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB Total disk space freed by localepurge: 0 KiB
Identify the package that provides missing firmware.
$ dpkg-query -S /lib/firmware/tigon/*
firmware-linux-nonfree: /lib/firmware/tigon/tg3.bin firmware-linux-nonfree: /lib/firmware/tigon/tg357766.bin firmware-linux-nonfree: /lib/firmware/tigon/tg3_tso.bin firmware-linux-nonfree: /lib/firmware/tigon/tg3_tso5.bin
Install required firmware-linux-nonfree
package.
$ sudo apt-get install firmware-linux-nonfree
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: firmware-linux-nonfree 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 2584 kB of archives. After this operation, 5128 kB of additional disk space will be used. Get:1 http://admin.implix.com/debian/ wheezy-implix/main firmware-linux-nonfree all 0.43~bpo70+1 [2584 kB] Fetched 2584 kB in 2s (1193 kB/s) Selecting previously unselected package firmware-linux-nonfree. (Reading database ... 39249 files and directories currently installed.) Unpacking firmware-linux-nonfree (from .../firmware-linux-nonfree_0.43~bpo70+1_all.deb) ... Setting up firmware-linux-nonfree (0.43~bpo70+1) ... update-initramfs: deferring update (trigger activated) Processing triggers for initramfs-tools ... update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64 localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB Total disk space freed by localepurge: 0 KiB
It is worth to note that above-mentioned package provides binary firmware for various drivers in the Linux kernel.
* 3Com Typhoon firmware, version 03.001.008 (3com/typhoon.bin) * AdvanSys ASC-3550 firmware (advansys/3550.bin) * AdvanSys ASC-38C0800 firmware (advansys/38C0800.bin) * AdvanSys ASC-38C1600 firmware (advansys/38C1600.bin) * AdvanSys SCSI controller microcode (advansys/mcode.bin) * Agere/Prism/Symbol Orinoco firmware (AP mode), version 9.48 Hermes I (agere_ap_fw.bin) * Agere/Prism/Symbol Orinoco firmware (STA mode), version 9.48 Hermes I (agere_sta_fw.bin) * Chelsio T3 optical EDC firmware (AEL2005 PHY) (cxgb3/ael2005_opt_edc.bin) * Chelsio T3 twinax EDC firmware (AEL2005 PHY) (cxgb3/ael2005_twx_edc.bin) * Chelsio T3 twinax EDC firmware (AEL2020 PHY) (cxgb3/ael2020_twx_edc.bin) * Chelsio T3B protocol engine firmware, version 1.1.0 (cxgb3/t3b_psram-1.1.0.bin) * Chelsio T3C protocol engine firmware, version 1.1.0 (cxgb3/t3c_psram-1.1.0.bin) * Chelsio T3 main firmware, version 7.4.0 (cxgb3/t3fw-7.4.0.bin) * Chelsio T3 main firmware, version 7.10.0 (cxgb3/t3fw-7.10.0.bin) * Chelsio T3 main firmware, version 7.12.0 (cxgb3/t3fw-7.12.0.bin) * Chelsio T4 firmware, version 1.9.23.0 (cxgb4/t4fw-1.9.23.0.bin, cxgb4/t4fw.bin) * Chelsio T5 firmware, version 1.9.23.0 (cxgb4/t5fw-1.9.23.0.bin, cxgb4/t5fw.bin) * DAB-USB FPGA bitfile (dabusb/bitstream.bin) * DAB-USB firmware (dabusb/firmware.fw) * Xceive 5000 tuner firmware, version 1.6.114 (dvb-fe-xc5000-1.6.114.fw) * DiBcom dib0700 USB DVB bridge firmware, version 1.20 (dvb-usb-dib0700-1.20.fw) * Intel 82559 D101M microcode (e100/d101m_ucode.bin) * Intel 82559 D101S microcode (e100/d101s_ucode.bin) * Intel 82551-F and 82551-10 microcode (e100/d102e_ucode.bin) * ENE UB6250 MS Pro read/write firmware (ene-ub6250/msp_rdwr.bin) * ENE UB6250 MS init firmware (ene-ub6250/ms_init.bin) * ENE UB6250 MS read/write firmware (ene-ub6250/ms_rdwr.bin) * ENE UB6250 SD init stage 1 firmware (ene-ub6250/sd_init1.bin) * ENE UB6250 SD init stage 2 firmware (ene-ub6250/sd_init2.bin) * ENE UB6250 SD read/write firmware (ene-ub6250/sd_rdwr.bin) * kaweth/new_code.bin * kaweth/new_code_fix.bin * kaweth/trigger_code.bin * kaweth/trigger_code_fix.bin * Matrox G200 WARP engine microcode (matrox/g200_warp.fw) * Matrox G400/G550 WARP engine microcode (matrox/g400_warp.fw) * Multi-Tech USB CDMA modem firmware (mts_cdma.fw) * Multi-Tech USB EDGE modem firmware (mts_edge.fw) * Multi-Tech USB GPRS modem firmware (mts_gsm.fw) * Rage 128 CCE microcode (r128/r128_cce.bin) * various Radeon devices * Tehuti network card firmware (tehuti/bdx.bin) * Broadcom BCM5703/BCM5704 TSO firmware (tigon/tg3_tso.bin) * Broadcom BCM5701A0 firmware (tigon/tg3.bin) * Broadcom BCM5705 TSO firmware (tigon/tg3_tso5.bin) * Broadcom BCM57766 firmware (tigon/tg357766.bin) * Conexant CX231xx core firmware (v4l-cx231xx-avcore-01.fw) * Conexant CX23418 APU firmware (v4l-cx23418-apu.fw) * Conexant CX23418 CPU firmware (v4l-cx23418-cpu.fw) * Conexant CX23418 ADEC firmware (v4l-cx23418-dig.fw) * Conexant CX25840 firmware (v4l-cx25840.fw) * Conexant CX23885 core firmware (v4l-cx23885-avcore-01.fw) * VIA VT6656 firmware (vntwusb.fw)