Instalación nueva de Ubuntu Server 22.04 LTS en una Raspberry Pi 4b de 4 GB con PRO activado. En el arranque inicial, no me di cuenta de que tenía que esperar hasta que finalizara la secuencia de inicio de la nube, por lo que es posible que lo haya arruinado al iniciar sesión demasiado pronto en la consola.
Con Raspberry Pi Imager creando el dispositivo de arranque para Ubuntu Server 22.04 LTS, utilicé las Opciones avanzadas para especificar un SSID y una contraseña de Wi-Fi.
El servidor abre la interfaz eth0 del RPi4 y obtiene una reserva de dirección DHCP de mi enrutador sin problemas. Simplemente no obtendrá una IP para la interfaz Wi-Fi integrada de Broadcom que necesito usar para poder desconectar la conexión por cable.
Leí artículos de configuración de netplan y miré muchas publicaciones en varios foros sobre cómo hacer funcionar Wi-Fi. He probado todo tipo de cosas durante los últimos 4 días y no puedo hacer que la interfaz Wi-Fi RPi4b incorporada funcione en el Servidor 22.04 LTS.
Ubuntu Desktop 22.04 LTS con PRO activado muestra las interfaces eth0 y wlan0. Ambos obtienen IP DHCP de las reservas MAC de mi enrutador mientras usan netplan con NetworkManager.
Hay una mención en dmesg de que el enlace eth0 está activo, pero no se menciona wlan0 o phy0. Las únicas líneas relacionadas con la conexión inalámbrica en dmesg son algunas líneas cfg80211 sobre la habilitación del ahorro de energía.
El servidor 22.04 usa netplan con networkd para abrir las interfaces. Esto es lo que he intentado sin éxito. eth0 recibe una multa IP4 pero no se asigna ninguna IP a wlan0. En /etc/netplan intenté definir ambas interfaces juntas en 01-network-manager-all.yaml de esta manera.
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
wifis:
wlan0:
dhcp4: yes
access-points:
"MySSID":
password: "MyPWD"
Omití la clave "opcional:". No hay diferencia en el resultado con o sin esa línea en el archivo yaml. Cuando agrego esa clave para una o ambas interfaces, no hay ninguna diferencia con "opcional:" configurado en "verdadero" o "falso".
netplan --debug try (o generar o aplicar) dice que las configuraciones que he probado son válidas, varias veces, y no muestra nada que me parezca malo. A continuación se muestran algunos de los 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)
Miré el archivo wpa_supplicant que parece verse bien. Tiene el SSID y la contraseña correctos.
$ sudo cat /run/netplan/wpa-wlan0.conf
ctrl_interface=/run/wpa_supplicant
network={
ssid="MySSID"
key_mgmt=WPA-PSK
psk="MyPWD"
}
Me di cuenta de que en las entradas del networkd journalctl se dice que eth0 obtiene una IP mientras que wlan0 no obtiene una IP. No sé por qué no es así.
$ 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
Tanto el archivo 10-netplan-eth0.network como el 10-netplan-wlan0.network parecen idénticos excepto Name= y 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
Probé un archivo yaml de NetPlan con las líneas para wifis y sin las líneas para ethernets. eth0 todavía funciona bien, pero aún no se asigna ninguna IP para wlan0. Esto es todo lo que consigo.
$ 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
Probé otra recomendación usando solo
network:
version: 2
renderer: networkd
eth0 se habilita con una IP DHCP pero no se asigna ninguna IP a wlan0.
En este punto, ya no tengo opciones para probar, por lo que agradecería ayuda para que el Wi-Fi, que funciona para el escritorio, funcione para el servidor.