# 日報(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 の設定を消してくれたんでしょうかね