netplan을 사용하고 RPi4b에서 네트워크로 연결된 Ubuntu Server 22.04 LTS는 wlan0에 DHCP IP를 할당하지 않습니다.

netplan을 사용하고 RPi4b에서 네트워크로 연결된 Ubuntu Server 22.04 LTS는 wlan0에 DHCP IP를 할당하지 않습니다.

PRO가 활성화된 4GB Raspberry Pi 4b에 Ubuntu Server 22.04 LTS를 새로 설치합니다. 처음 부팅할 때 cloud-init 시퀀스가 ​​완료될 때까지 기다려야 한다는 사실을 깨닫지 못했기 때문에 콘솔에 너무 빨리 로그인하여 문제를 일으켰을 수도 있습니다.

Ubuntu Server 22.04 LTS용 부팅 가능한 미디어를 생성하는 Raspberry Pi Imager에서 고급 옵션을 사용하여 Wi-Fi SSID와 비밀번호를 지정했습니다.

서버는 RPi4의 eth0 인터페이스를 불러오고 내 라우터에서 DHCP 주소 예약을 정상적으로 가져옵니다. 유선 연결을 끊기 위해 사용해야 하는 내장형 Broadcom Wi-Fi 인터페이스에 대한 IP를 얻지 못할 뿐입니다.

나는 netplan 설정 기사를 읽었고 Wi-Fi 작동에 관한 다양한 포럼의 많은 게시물을 살펴보았습니다. 지난 4일 동안 모든 종류의 작업을 시도했지만 Server 22.04 LTS에서 내장된 RPi4b Wi-Fi 인터페이스가 작동하지 않습니다.

PRO가 활성화된 Ubuntu Desktop 22.04 LTS는 eth0 및 wlan0 인터페이스를 모두 제공합니다. NetworkManager와 함께 netplan을 사용하는 동안 둘 다 내 라우터의 MAC 예약에서 DHCP IP를 얻습니다.

dmesg에는 eth0 링크가 작동 중이라는 언급이 있지만 wlan0 또는 phy0에 대한 언급은 없습니다. dmesg에서 무선과 관련된 유일한 줄은 절전 활성화에 관한 몇 가지 cfg80211 줄입니다.

서버 22.04는 networkd와 함께 netplan을 사용하여 인터페이스를 불러옵니다. 내가 아무 소용이 없도록 노력한 것은 다음과 같습니다. eth0은 IP4 벌금을 받지만 wlan0에는 IP가 할당되지 않습니다. /etc/netplan에서는 이와 같이 01-network-manager-all.yaml에서 두 인터페이스를 함께 정의해 보았습니다.

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

"선택적:" 키를 생략했습니다. yaml 파일에 해당 줄이 있든 없든 결과에는 차이가 없습니다. 인터페이스 중 하나 또는 둘 다에 해당 키를 추가하면 "선택적:"이 "true" 또는 "false"로 설정된 것과 아무런 차이가 없습니다.

netplan --debug try(또는 생성 또는 적용)는 내가 시도한 구성이 여러 번 유효하며 나에게 좋지 않은 내용을 표시하지 않는다고 말합니다. 다음은 일부 출력입니다.

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)

괜찮아 보이는 wpa_supplicant 파일을 살펴봤습니다. SSID와 비밀번호가 정확합니다.

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

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

나는 네트워크로 연결된 저널ctl 항목에서 eth0이 IP를 얻는 반면 wlan0은 IP를 얻지 못한다고 말하는 것을 확인했습니다. 왜 그렇지 않은지 모르겠습니다.

$ 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

10-netplan-eth0.network 및 10-netplan-wlan0.network 파일은 모두 Name= 및 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

Wi-Fi용 줄은 있고 이더넷용 줄은 없는 NetPlan yaml 파일을 사용해 보았습니다. eth0은 여전히 ​​잘 작동하지만 wlan0에는 여전히 IP가 할당되지 않습니다. 이것이 내가 얻는 전부입니다.

$ 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

나는 다음을 사용하여 다른 권장 사항을 시도했습니다.

network:
  version: 2
  renderer: networkd

eth0은 DHCP IP로 활성화되지만 wlan0에는 IP가 할당되지 않습니다.

현재로서는 시도해 볼 수 있는 옵션이 없으므로 데스크톱에서 작동하는 Wi-Fi를 서버에서도 작동하도록 도와주시면 감사하겠습니다.

관련 정보