Posted at

ヘッドレスRaspberryPiでIPアドレス取得状況がどうなっているか調べるTips


無線LANがうまくつながらない

「あれれ〜 設定間違えてないハズなのに・・!」

あいにく、ディスプレイも有線LANケーブルもUSBシリアルも持ってないとき。

母艦がUbuntuLinux 18.04なので幸いにしてEXTファイルシステムは読み書きできる。

RaspberryPiのSDカードをUbuntuLinuxで読み込んで、/etc/rc.local の最後の方


...
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

exit 0

となっている最後の方を


...
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

ifconfig > /var/log/ifconfig
exit 0

と書き換える。

RaspberryPiにSDカードを戻して起動、しばらくして電源を切ってもう一度UbuntuLinuxで中身を見てみる。

/var/log/ifconfigの中身は・・・


eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:30:35:56  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

となっていてwlan0インターフェースがそもそも無い。

USBのWi-Fiドングルを刺して起動すると


eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:30:35:56  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.114  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 2001:a453:41:8f00:ba53:deef:d815:9c74  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::8b08:de75:fea1:f267  prefixlen 64  scopeid 0x20<link>
        ether 00:22:cf:fb:7f:e2  txqueuelen 1000  (Ethernet)
        RX packets 41  bytes 9237 (9.0 KiB)
        RX errors 0  dropped 9  overruns 0  frame 0
        TX packets 30  bytes 4870 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

となり、wlan0が出現した。

ということはオンボードの無線LANインターフェースが死んでいるということですね。

やれやれ。2時間ほど悩みました。