Durante el confinamiento, desde Agua de Mayo creamos un grupo de apoyo vecinal/red de cuidados para ayudar a familias del barrio que puediesen encontrarse en situación de desamparo. Entre las distintas necesidades que identificamos, una de ellas fue la falta de ordenadores en algunas familias de cara a la vuelta al curso escolar y la posibilidad de que las clases empezasen con una modalidad online. Organizamos una recogida de ordenadores de segunda mano, con la idea de recuperarlos instalándoles un Linux y todas las herramientas de ofimática, internet y demás que pudiesen hacer falta para su uso en la escuela.
La respuesta original (mucho más extensa, en inglés) la encontré en los foros de AskUbuntu, traduzco aquí para tenerlo localizado para futuro y por si puede venirle bien a alguien que se maneje regular con el idioma de Chéspir.
Sin más dilación, estos son los pasos a seguir:
1. Conocer el tipo de modelo de tarjeta Broadcom
Hay un montón de adaptadores de red Broadcam diferentes, cada día hay nuevos. La clave para encontrar el driver correcto para cualquier tarjeta de red es encontrar el PCI.ID de la misma. Para ello, en terminal podemos ejecutar el siguiente comando:
lspci -nn -d 14e4:
Esto devuelve algo parecido a lo siguiente si tienes un adaptador Broadcom (el ID 14e4 del ejemplo es en la mayoría de los casos el de las tarjetas inalámbricas):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
El PCI.ID en este ejemplo es 14e4:4320 como se puede ver entre corchetes. En algunos casos especiales también será necesaria la revisión concreta del controlador (que aparece entre paréntesis). Con lo que ya tenemos identificado que nuestro adaptador de red es [14e4:4320] (rev 03)
.
2. Actualizar el sistema
Como probablemente se trate de una instalación nueva, lo primero actualizaremos la lista de paquetes del sistema, y la lista de PCI.IDs, por si han aparecido nuevos IDs de Broadcom desde que se compiló la distribución de Linux que se ha instalado en la máquina:
sudo apt update
sudo update-pciids
Ahora, utilizando el PCI.ID que encontramos antes, tenemos que buscarlo en la lista de debajo para encontrar el método para instalar el driver asociado. Ahora simplemente tocaría quedarse con el nombre del paquete que necesitamos, en el caso del ejemplo podemos ver que el paquete a instalar es firmware-b43-installer
(específico de Broadcom) y el paquete linux-firmware
(para hacerse cargo de otros drivers relacionados).
PCI.ID 18.04 LTS 20.04+
------------------------------------------------------------------------------------
14e4:0576 Special Case UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4301 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4307 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4311 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4312 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4313 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4315 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4318 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4319 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4321 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4324 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4325 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4328 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4335 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4350 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4353 Special Case UNKNOWN
14e4:4353 rev 01 Special Case UNKNOWN
14e4:4357 Special Case UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4360 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4365 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN firmware-b43-installer / linux-firmware
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case Special Case
14e4:a962 firmware-b43-installer firmware-b43-installer / linux-firmware
------------------------------------------------------------------------------------
3. Instalar el paquete
Importante - Si habías intentado instalar manualmente los drivers por otros medios alternativos, es necesario revertir cualquiera de esos cambios para evitar posibles conflictos, incluyendo ficheros de configuración modificados o paquetes de drivers instalados a través de
apt-get
u otro gestor de paquetes.
Vale, ahora simplemente necesitamos instalar el paquete. En el caso de que tengamos la posibilidad de conectar un cable ethernet al ordenador, el proceso será sencillo, ya que podemos utilizar el gestor de paquetes para descargarlo de forma online como haríamos normalmente:
sudo apt install firmware-b43-installer
sudo apt install linux-firmware
Para todos los casos hay que instalar el paquete linux-firmware
. Este paquete siempre estará al día con los últimos drivers Broadcom en conjunción con los binarios específicos que hayas necesitado dependiendo del PCI.ID del driver. Una vez hecho esto, solo queda reiniciar para que se apliquen los cambios:
sudo reboot
En algunos casos excepcionales, si después de instalar el paquete firmware-b43-installer
el controlar continúa sin funcionar correctamente, habrá que eliminar el módulo b43
, volver a activarlo e incluso desbloquearlo con rfkill
:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
En el caso de no disponer de la opción de conectar el ordenador a internet usando un cable ethernet la cosa se complica un poco, haciendo falta un nivel un poco mayor del básico de administración de Linux:
- Para el paquete
firmware-b43-installer
ver esta respuesta. - Para
bcmwl-kernel-source
, hay que seguir este proceso (aviso, un poco farragoso).