Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Instalación de firmware en Debian

[Este apartado es un resumen de una entrada de Raphael Hertzog. Si el artículo todavía está disponible recomiendo ir al original.]

Una duda habitual al instalar un GNU/Linux es el tipo de procesador del que se dispone. En un PC con linux (por ejemplo arrancando con un Live-CD) podemos hacer:
$ grep “^flags” /proc/cpuinfo | grep -q ” lm ” && echo “amd64” || echo “i386”

Puede ocurrir que al instalar Debian un equipo, una parte del hardware no funcione correctamente por falta del correspondiente firmware (o el uso de uno que no es totalmente adecuado). Una opción es obtener de Raphael Hertzog un disco de Debian con firmware.

Otra opción es realizar una instalación básica de Debian y posteriormente verificar el firmware necesario e instalarlo.
Si es necesario, pueden bajarse paquetes desde otro equipo desde la web de Debian.
Después se instala con # dpkg -i paquete

Si el equipo necesita algún firmware, durante la instalación, al actualizar el kernel o al hacer un update-initramfs aparecerán mensajes diciendo:
may require additional firmware” o “Failed to load firmware” o “Possible missing firmware“.
Podemos buscar más mensajes mediante:
# dmesg | grep firmware
# grep firmware /var/log/installer/*

Por ejemplo podemos encontrar:

[   24.110644] b43 ssb0:0: firmware: agent aborted loading b43/ucode5.fw (not found?)
[   24.116317] b43 ssb0:0: firmware: agent aborted loading b43-open/ucode5.fw (not found?)
[   24.116511] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

O:

e100: eth0: e100_request_firmware: Failed to load firmware "e100/d101m_ucode.bin": -2

El firmware que requiere el módulo e100 es:
$ modinfo -F firmware /lib/modules/2.6.32-5-amd64/kernel/drivers/net/e100.ko

e100/d102e_ucode.bin
e100/d101s_ucode.bin
e100/d101m_ucode.bin

Lo mejor es regenerar la imagen de inicio:
# update-initramfs

update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: Possible missing firmware /lib/firmware/e100/d102e_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101s_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101m_ucode.bin for module e100

Una vez visto el firmware que nos falta averiguamos dónde obtenerlo y lo instalamos:
$ apt-cache search d101m_ucode.bin

firmware-linux-nonfree - Binary firmware for various drivers in the Linux kernel

# aptitude install firmware-linux-nonfree

Para ver todos los paquetes de firmware disponibles:
$ aptitude search firmware

El firmware se instala en:

  • /lib/firmware/$(uname -r)
  • /lib/firmware
  • /usr/local/lib/firmware
  • /usr/lib/hotplug/firmware
Category: GNU/Linux, Hardware