Ubuntu Server 22.04 LTS mit Netplan und Networkd auf RPi4b weist wlan0 keine DHCP-IP zu

Ubuntu Server 22.04 LTS mit Netplan und Networkd auf RPi4b weist wlan0 keine DHCP-IP zu

Neuinstallation von Ubuntu Server 22.04 LTS auf einem 4 GB Raspberry Pi 4b mit aktiviertem PRO. Beim ersten Hochfahren war mir nicht klar, dass ich warten musste, bis die Cloud-Init-Sequenz abgeschlossen war. Vielleicht habe ich es vermasselt, weil ich mich zu früh an der Konsole angemeldet habe.

Beim Erstellen des bootfähigen Mediums für Ubuntu Server 22.04 LTS mit dem Raspberry Pi Imager habe ich über die erweiterten Optionen eine WLAN-SSID und ein Passwort angegeben.

Der Server ruft die eth0-Schnittstelle des RPi4 auf und erhält problemlos eine DHCP-Adressreservierung von meinem Router. Er erhält nur keine IP für die integrierte Broadcom-WLAN-Schnittstelle, die ich verwenden muss, damit ich die Kabelverbindung trennen kann.

Ich habe Artikel zur Netplan-Einrichtung gelesen und mir viele Beiträge in verschiedenen Foren zum Thema WLAN-Funktionierung angesehen. Ich habe in den letzten 4 Tagen alles Mögliche ausprobiert und kann die integrierte WLAN-Schnittstelle des RPi4b unter Server 22.04 LTS nicht zum Laufen bringen.

Ubuntu Desktop 22.04 LTS mit aktiviertem PRO zeigt sowohl die Schnittstellen eth0 als auch wlan0 an. Beide erhalten DHCP-IPs von den MAC-Reservierungen meines Routers, wenn ich Netplan mit NetworkManager verwende.

In dmesg wird erwähnt, dass die eth0-Verbindung aktiv ist, aber nicht wlan0 oder phy0. Die einzigen Zeilen in Bezug auf drahtlose Verbindungen in dmesg sind ein paar cfg80211-Zeilen über die Aktivierung der Energiesparfunktion.

Server 22.04 verwendet Netplan mit Networkd, um die Schnittstellen aufzurufen. Folgendes habe ich vergeblich versucht. eth0 erhält eine IP4-Adresse, aber wlan0 wird keine IP zugewiesen. In /etc/netplan habe ich versucht, beide Schnittstellen zusammen in 01-network-manager-all.yaml wie folgt zu definieren.

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

Ich habe den Schlüssel „optional:“ weggelassen. Es macht keinen Unterschied im Ergebnis, ob diese Zeile in der YAML-Datei steht oder nicht. Wenn ich diesen Schlüssel für eine oder beide Schnittstellen hinzufüge, macht es keinen Unterschied, ob „optional:“ auf „true“ oder „false“ gesetzt ist.

netplan --debug try (oder generate oder apply) sagt mehrfach, dass die von mir ausprobierten Konfigurationen gültig sind, und zeigt nichts an, was für mich schlecht aussieht. Hier ist ein Teil der Ausgabe.

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)

Ich habe mir die Datei wpa_supplicant angesehen, die in Ordnung zu sein scheint. Sie hat die richtige SSID und das richtige Passwort.

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

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

Mir ist aufgefallen, dass in den Networkd-Journalctl-Einträgen steht, dass eth0 eine IP erhält, während wlan0 keine IP erhält. Ich weiß nicht, warum das nicht der Fall ist.

$ 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

Sowohl die Dateien 10-netplan-eth0.network als auch 10-netplan-wlan0.network sehen bis auf Name= und RouteMetric identisch aus.

$ 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

Ich habe eine NetPlan-YAML-Datei mit den Zeilen für WLANs und ohne die Zeilen für Ethernets ausprobiert. eth0 funktioniert immer noch einwandfrei, aber für wlan0 wird immer noch keine IP zugewiesen. Das ist alles, was ich bekomme.

$ 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

Ich habe eine andere Empfehlung ausprobiert und nur

network:
  version: 2
  renderer: networkd

eth0 wird mit einer DHCP-IP aktiviert, aber wlan0 wird keine IP zugewiesen.

An diesem Punkt habe ich keine Optionen mehr, die ich ausprobieren könnte, daher wäre ich für Hilfe dankbar, wie ich das WLAN, das auf dem Desktop funktioniert, auch auf dem Server zum Laufen bekomme.

verwandte Informationen