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.