Habilitar Wi-Fi

El uso principal de Fedora CoreOS ha sido el de gestionar hardware de servidor en centros de datos individuales o entornos de nube, que cuentan con redes cableadas de alta velocidad sin necesidad de habilitar Wi-Fi. Dado que existen muchos tipos diferentes de tarjetas inalámbricas, añadir la habilitación de Wi-Fi a Fedora CoreOS por defecto, requeriría la instalación de numerosos archivos binarios de firmware de gran tamaño para un uso no estándar, lo cual no es lo ideal.

Por otro lado, Fedora CoreOS es lo suficientemente versátil como para funcionar en dispositivos más pequeños en aplicaciones de IoT o en laboratorios domésticos donde se requiera Wi-Fi. En estos casos, es bastante sencillo añadir una capa con las herramientas y el firmware necesarios.

Adición de herramientas y firmware Wi-Fi

Normalmente, para habilitar el Wi-Fi en Fedora CoreOS, es necesario agregar el paquete NetworkManager-wifi junto con el paquete de firmware correspondiente a la tarjeta inalámbrica de su sistema. A continuación, se muestra una lista de algunos paquetes de firmware inalámbricos en Fedora:

Paquetes de firmware de Wi-Fi en Fedora
atheros-firmware - Firmware for Qualcomm Atheros WiFi/Bluetooth adapters
b43-fwcutter - Firmware extraction tool for Broadcom wireless driver
b43-openfwwf - Open firmware for some Broadcom 43xx series WLAN chips
brcmfmac-firmware - Firmware for Broadcom/Cypress brcmfmac WiFi/Bluetooth adapters
iwlegacy-firmware - Firmware for Intel(R) Wireless WiFi Link 3945(A)BG and 4965AGN adapters
iwlwifi-dvm-firmware - DVM Firmware for Intel(R) Wireless WiFi adapters
iwlwifi-mvm-firmware - MVM Firmware for Intel(R) Wireless WiFi adapters
libertas-firmware - Firmware for Marvell Libertas SD/USB WiFi Network Adapters
mt7xxx-firmware - Firmware for Mediatek 7600/7900 series WiFi/Bluetooth adapters
nxpwireless-firmware - Firmware for NXP WiFi/Bluetooth/UWB adapters
realtek-firmware - Firmware for Realtek WiFi/Bluetooth adapters
tiwilink-firmware - Firmware for Texas Instruments WiFi/Bluetooth adapters
atmel-firmware - Firmware for Atmel at76c50x wireless network chips
zd1211-firmware - Firmware for wireless devices based on zd1211 chipset

Por ejemplo, si un sistema tiene una tarjeta inalámbrica Qualcomm, agregar los paquetes NetworkManager-wifi y atheros-firmware habilitaría el sistema para conectarse a Wi-Fi. Puede intentar inspeccionar su tarjeta inalámbrica para determinar qué controlador necesita ejecutando lspci (proporcionado por el paquete pciutils) dentro de un contenedor Toolbx.

Cuando instalar Fedora CoreOS

Para sistemas nuevos, los paquetes se pueden agregar mediante el flujo de trabajo Añadir extensiones del sistema operativo. También será necesario agregar una configuración de NetworkManager para la conexión Wi-Fi para que el sistema sepa a qué red inalámbrica conectarse. Para obtener más información sobre la configuración de red en Fedora CoreOS, consulte Configuración de red.

Un ejemplo del config de Butane que combina la extensión y la configuración de red se muestra a continuación.

Butane config for Wi-Fi enablement
variant: fcos
version: 1.6.0
systemd:
  units:
    # Habilitar Wi-Fi en NetworkManager para una tarjeta inalámbrica Intel
    - name: rpm-ostree-install-wifi.service
      enabled: true
      contents: |
        [Unit]
        Description=Enable Wi-Fi
        Wants=network-online.target
        After=network-online.target
        Before=zincati.service
        ConditionPathExists=!/var/lib/%N.stamp
        [Service]
        Type=oneshot
        RemainAfterExit=yes
        ExecStart=/usr/bin/rpm-ostree install -y --allow-inactive NetworkManager-wifi iwlwifi-dvm-firmware
        ExecStart=/bin/touch /var/lib/%N.stamp
        ExecStart=/bin/systemctl --no-block reboot
        [Install]
        WantedBy=multi-user.target
storage:
  files:
    - path: /etc/NetworkManager/system-connections/wifi-guest.nmconnection
      mode: 0600
      contents:
        inline: |
          [connection]
          id=wifi-guest
          type=wifi
          autoconnect=true
          [wifi]
          cloned-mac-address=permanent
          mode=infrastructure
          ssid=guest
          mac-address=ab:cd:01:02:03:04
          [wifi-security]
          auth-alg=open
          key-mgmt=wpa-psk
          psk=PASSWORD
          [ipv4]
          method=auto
When installing a system and adding Wi-Fi enablement in this way the system will need to be on a wired network for the initial install since it will need to use the network to retrieve the Wi-Fi enabling packages.

En un sistema Fedora CoreOS existente

If you have a system up already and want to add Wi-Fi capabilities (i.e. if you want to move it to a location without wired access) you can request the required packages.

Request NetworkManager-wifi and a specific Wi-Fi firmware
$ sudo rpm-ostree install -y --allow-inactive \
    NetworkManager-wifi iwlwifi-dvm-firmware

Si no sabe qué firmware solicitar, puede solicitar todos los firmwares inalámbricos disponibles en Fedora. Tenga en cuenta que este método no es el más recomendable, ya que añadirá muchos paquetes innecesarios a su sistema.

Solicitar NetworkManager-wifi y todo el firmware Wi-Fi disponible
$ sudo rpm-ostree install -y --allow-inactive \
    NetworkManager-wifi  \
    atheros-firmware     \
    b43-fwcutter         \
    b43-openfwwf         \
    brcmfmac-firmware    \
    iwlegacy-firmware    \
    iwlwifi-dvm-firmware \
    iwlwifi-mvm-firmware \
    libertas-firmware    \
    mt7xxx-firmware      \
    nxpwireless-firmware \
    realtek-firmware     \
    tiwilink-firmware    \
    atmel-firmware       \
    zd1211-firmware

Después reinicie el sistema.