# 日報(2023-06-07) RaspberryPi の ubuntu の dhclient が wlan0 はアドレスを貰うのに eth0 が貰わない謎な現象

# 背景

ROS のために Raspberry Pi で Ubutntu を使い始めて出会ったのが RPi3 だと dhcp でアドレスもらえるのに RPi2 だと貰えない という謎の現象でググりまくったのですがなにも出てこなくて不思議だなと思ってました

いつも最初に avahi をインストールするので普段は ip address を気にすることがないのですが、一度avahi をインストールする前にアドレスを見ようとして

pi@ubuntu:~$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eth0             UP             fe80::ba27:ebff:fe44:903e/64 
wlan0            UP             192.168.11.3/24 metric 600 fe80::ba27:ebff:fe11:c56b/64

なにこれ?Wlan0 は ip address を貰ってて、eth0 は貰ってない???
あ、もしかして現象は

type ip Addr wifi
RPi2 もらえない なし
RPi3 もらえる 内蔵

RPi2 か RPi3 かじゃなくて wifi の有無で現象がでてる?

# とりあえず eth0 の up を試みる

とりあえず eth0 を up して dhcp のリースをリクエストしてみたのですが

pi@ubuntu:~$ sudo ip link set eth0 up
pi@ubuntu:~$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eth0             UP             fe80::ba27:ebff:fe44:903e/64 
wlan0            UP             192.168.11.3/24 metric 600 fe80::ba27:ebff:fe11:c56b/64 
pi@ubuntu:~$ sudo dhclient -v -r eth0
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/b8:27:eb:44:90:3e
Sending on   LPF/eth0/b8:27:eb:44:90:3e
Sending on   Socket/fallback
pi@ubuntu:~$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eth0             UP             fe80::ba27:ebff:fe44:903e/64 
wlan0            UP             192.168.11.3/24 metric 600 fe80::ba27:ebff:fe11:c56b/64

だめですね

# /etc/netplan をみてみる

なんでだろとおもって /etc/netplan を見てみると

network:
    version: 2
    wifis:
        renderer: networkd
        wlan0:
            access-points:
                うちのSSID:
                    password:うちのpw
            dhcp4: true
            optional: true

なんじゃこりゃ? wlan0 の設定しかなくて eth0 の設定がないじゃん???
というわけで eth0 の設定を追加して

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        renderer: networkd
        wlan0:
            access-points:
                うちのSSID:
                    password:うちのpw
            dhcp4: true
            optional: true

で、再起動すると無事に eth0 も ip address を貰ったのでした、めでたしめでたし

# 根本原因

なんでこんなことになってるのかと鑑みるに怪しいのは Raspberry Pi Imager で、うちの wifi の SSID と PW を設定してくれるついでに eth0 の設定を消してくれたんでしょうかね


Last Updated: 2023/6/9 8:17:07