Ubuntu Server 22.04 LTS usando netplan e networkd em RPi4b não atribuirá IP DHCP a wlan0

Ubuntu Server 22.04 LTS usando netplan e networkd em RPi4b não atribuirá IP DHCP a wlan0

Nova instalação do Ubuntu Server 22.04 LTS em um Raspberry Pi 4b de 4 GB com PRO ativado. Na inicialização, não percebi que precisava esperar até que a sequência de inicialização da nuvem terminasse, então posso ter estragado tudo ao fazer login muito cedo no console.

Com o Raspberry Pi Imager criando a mídia inicializável para Ubuntu Server 22.04 LTS, usei as Opções avançadas para especificar um SSID e uma senha de Wi-Fi.

O servidor abre a interface eth0 do RPi4 e obtém uma reserva de endereço DHCP do meu roteador perfeitamente. Ele simplesmente não receberá um IP para a interface Wi-Fi Broadcom integrada que preciso usar para desconectar a conexão com fio.

Eu li artigos de configuração do netplan e li muitas postagens em vários fóruns sobre como fazer o Wi-Fi funcionar. Eu tentei todos os tipos de coisas nos últimos 4 dias e não consigo fazer com que a interface Wi-Fi RPi4b integrada funcione no Server 22.04 LTS.

Ubuntu Desktop 22.04 LTS com PRO ativado traz as interfaces eth0 e wlan0. Ambos obtêm IPs DHCP das reservas MAC do meu roteador enquanto usam o netplan com o NetworkManager.

Há uma menção no dmesg sobre o link eth0 estar ativo, mas nenhuma menção sobre wlan0 ou phy0. As únicas linhas relacionadas à conexão sem fio no dmesg são algumas linhas cfg80211 sobre a ativação da economia de energia.

O servidor 22.04 usa netplan com networkd para abrir as interfaces. Aqui está o que tentei sem sucesso. eth0 recebe uma multa IP4, mas nenhum IP é atribuído ao wlan0. Em /etc/netplan, tentei definir as duas interfaces juntas em 01-network-manager-all.yaml assim.

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
  wifis:
    wlan0:
      dhcp4: yes
      access-points:
        "MySSID":
          password: "MyPWD"

Deixei de fora a chave "opcional:". Não faz diferença no resultado com ou sem essa linha no arquivo yaml. Quando adiciono essa chave para uma ou ambas as interfaces, não faz nenhuma diferença com "opcional:" definido como "true" ou "false".

netplan --debug try (ou generate ou apply) diz que as configurações que tentei são válidas, várias vezes, e não mostra nada que pareça ruim para mim. Aqui estão alguns dos resultados.

starting new processing pass
wlan0: adding wifi AP 'MySSID'
We have some netdefs, pass them through a final round of validation
wlan0: setting default backend to 1
Configuration is valid
eth0: setting default backend to 1
Configuration is valid
Generating output files..
openvswitch: definition eth0 is not for us (backend 1)
NetworkManager: definition eth0 is not for us (backend 1)
Creating wpa_supplicant config
wlan0: Creating wpa_supplicant configuration file run/netplan/wpa-wlan0.conf
Creating wpa_supplicant unit /run/systemd/system/netplan-wpa-wlan0.service
Creating wpa_supplicant service enablement link 
   /run/systemd/system/systemd-networkd.service.wants/netplan-wpa-wlan0.service
openvswitch: definition wlan0 is not for us (backend 1)
NetworkManager: definition wlan0 is not for us (backend 1)

Eu olhei para o arquivo wpa_supplicant que parece estar bem. Ele tem o SSID e a senha corretos.

$ sudo cat /run/netplan/wpa-wlan0.conf
ctrl_interface=/run/wpa_supplicant

network={
  ssid="MySSID"
  key_mgmt=WPA-PSK
  psk="MyPWD"
}

Notei nas entradas do networkd journalctl que diz que eth0 obtém um IP enquanto wlan0 não obtém um IP. Eu não sei por que isso não acontece.

$ sudo journalctl -b -u systemd-networkd
16:27:47 rpi4 systemd-networkd[775]: wlan0: Link DOWN
16:27:48 rpi4 systemd-networkd[775]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.network
16:27:48 rpi4 systemd-networkd[775]: eth0: Failed to send DHCP RELEASE, ignoring: Stale file handle
16:27:48 rpi4 systemd-networkd[775]: eth0: DHCP lease lost
16:27:48 rpi4 systemd-networkd[775]: eth0: DHCPv6 lease lost
16:27:48 rpi4 systemd-networkd[775]: eth0: DHCPv4 address 192.168.nn.nn/24 via 192.168.nn.mm
16:27:48 rpi4 systemd-networkd[775]: wlan0: Re-configuring with /run/systemd/network/10-netplan-wlan0.network
16:27:48 rpi4 systemd-networkd[775]: wlan0: DHCPv6 lease lost
16:27:48 rpi4 systemd-networkd[775]: wlan0: Link UP

Os arquivos 10-netplan-eth0.network e 10-netplan-wlan0.network parecem idênticos, exceto Name= e RouteMetric.

$ sudo iw wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr dc:a6:32:85:nn:mm
        type managed
        wiphy 0
        channel 116 (5580 MHz), width: 20 MHz, center1: 5580 MHz
        txpower 31.00 dBm


$ sudo iwconfig wlan0
wlan0     IEEE 802.11  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=31 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Eu tentei um arquivo yaml do NetPlan com as linhas para wifis e sem as linhas para ethernets. eth0 ainda funciona bem, mas nenhum IP foi atribuído para wlan0. Isso é tudo que recebo.

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:nn:nn:nn brd ff:ff:ff:ff:ff:ff
    inet 192.168.nn.nn/24 metric 100 brd 192.168.nn.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::dea6:xxxx:xxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether dc:a6:32:nn:nn:mm brd ff:ff:ff:ff:ff:ff

Tentei outra recomendação usando apenas

network:
  version: 2
  renderer: networkd

eth0 é habilitado com um IP DHCP, mas nenhum IP é atribuído a wlan0.

Neste ponto, estou sem opções para tentar, então gostaria de receber ajuda para fazer com que o Wi-Fi, que funciona para Desktop, funcione para Servidor.

informação relacionada