Raspbian stretchのネットワーク接続ができなくなった……
またしてもトラブル。
対象環境
- Raspberry Pi 3 Model B+
- Raspbian stretch 2018-06-27
前回まで
振り返り
直前までVolumioのインストールを試みていた。ネットワークに接続できていないようなので諦めてRaspbianに戻った所、Raspbianでもネットワーク接続ができない状態になってしまった。
VolumioとRaspbianはそれぞれ異なるディスクなので関係ないと思うのだが……。
現状
- 無線LAN: 接続せず
有線LAN: 接続した
タスクバー右上のWifiアイコンをクリックする
- OFFなら
Turn On Wi-Fiをクリックする - 接続したいルータのSSIDを選んでクリックする
- パスワードを入力して
OKボタンをクリックする
SSIDも以前と同じく表示される。パスワードも残っていた。でも繋がらない。
参考
すべて確認したが接続されず……。
- ルータの管理画面でIPアドレスが割り振られているのを確認した
- タスクバー右上のWifiボタンを押下し、ルータのSSIDとパスワードを確認した
/etc/wpa_supplicant/wpa_supplicant.confも同様に、ルータのSSIDとパスワードを確認した/etc/dhcpcd.confに以下のように設定した- 再起動した
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="ルータのSSID(本体機器の裏に貼ってある)"
psk="暗号化パスワード(ルータ管理画面で設定したもの)"
key_mgmt=WPA-PSK
}
/etc/dhcpcd.conf
interface wlan0 static ip_address=192.168.11.6/24 static routers=192.168.11.1 static domain_name_servers=192.168.11.1
| ID? | 意味 |
|---|---|
| eth0 | 有線LAN |
| wlan0 | 無線LAN |
| IP | 誰の? |
|---|---|
| 192.168.11.1 | ルータ |
| 192.168.11.6 | 対象ラズパイ(ルータ管理画面で確認) |
なお、以下のコマンドは存在しなかった。
ipconfigipup,ipdown
有線LANには接続できた。ipコマンドの結果は以下。無線LANの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 pfifo_fast state UP group default qlen 1000
link/ether 有線のMACアドレス brd ff:ff:ff:ff:ff:ff
inet 192.168.11.8/24 brd 192.168.11.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 IPv6のIPアドレス scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 無線のMACアドレス brd ff:ff:ff:ff:ff:ff
$ ip addr show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:25:e2:89 brd ff:ff:ff:ff:ff:ff
Wifiのロックを解除して起動。
$ rfkill unblock wifi $ sudo ip link set wlan0 up
IPアドレスが取得できるはずが……取得できず。
$ ip a
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:25:e2:89 brd ff:ff:ff:ff:ff:ff
ロック状況を確認しても解除されている。問題なさそう。
$ rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
無線LAN用カーネルモジュールbrcmfmacのログを見てみる。
$ dmesg | grep brcm [ 15.237692] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 15.244491] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006 [ 15.245134] usbcore: registered new interface driver brcmfmac [ 15.919092] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04 [ 15.919657] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 9.10.105 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2018-03-09 18:56:28 [ 21.757566] brcmfmac: power management disabled
brcmfmac: power management disabled? 無線LAN機器の電力管理機能っぽい。後述するがsudo iwconfig wlan0コマンドで見るとonなので矛盾する。謎。iwconfigのバグという噂もある※ そもそもこの電源管理機能は今回の無線LAN切断と関係あるのか?
$ sudo journalctl | grep wlan0 9月 25 17:09:13 raspberrypi dhcpcd-run-hooks[463]: wlan0: starting wpa_supplicant 9月 25 17:09:14 raspberrypi kernel: IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: waiting for carrier 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: carrier acquired 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: IAID eb:25:e2:89 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: adding address fe80::8658:91d7:457f:4a8 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: probing address 192.168.11.6/24 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: carrier lost 9月 25 17:09:14 raspberrypi dhcpcd[382]: wlan0: deleting address fe80::8658:91d7:457f:4a8 9月 27 08:26:41 raspberrypi sudo[2266]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/sbin/ip link set wlan0 up 9月 27 08:53:47 raspberrypi sudo[2884]: pi : TTY=pts/2 ; PWD=/home/pi ; USER=root ; COMMAND=/sbin/iwconfig wlan0
wlan0: deleting address アドレスが不吉。削除したっぽいけど大丈夫なの?
- http://zokibayashi.hatenablog.com/entry/2017/09/25/23105
- https://azriton.github.io/2016/11/25/Raspbian-Jessie-Lite%E3%81%AEWi-Fi%E8%A8%AD%E5%AE%9A/
$ 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
Not-Associatedなので繋がっていない。
ステルスSSIDの場合はscan_ssid=1を追加するらしい。今回は関係なさそう。タスクバー右上のWifiアイコンをクリックするとSSIDは表示されているので。
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="XXXXX"
psk="xxxxx"
scan_ssid=1
}
/etc/network/interfacesでの設定はその昔使っていたらしい。stretchでは使わないようだ。現状は以下。
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d
その後、有線LANを接続したり再起動したり、OS再インストールを覚悟しグチをブログに書いていたりしているうちに、いつの間にか繋がった。 なぜか有線LAN接続していたのに、無線LANアイコンが表示されていたので発覚。謎。
結論
Wifi復活した。原因不明。また死ぬかもしれない。直ったのはいいが5時間も費やした。原因不明なので徒労感しかない。