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 | 対象ラズパイ(ルータ管理画面で確認) |
なお、以下のコマンドは存在しなかった。
ipconfig
ipup
,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時間も費やした。原因不明なので徒労感しかない。