Raspbian(stretch) カーネルアップデート後にwlan0が認識しない対処方法

#apt updateコマンドでカーネルアップデートをしたら、再起動後にwlan0が認識しなくなりました。

いつもwlan0にSSHで接続しているで大変困った。。。

ここでは、カーネルアップデートからもとに戻す方法を掲載しています。

動作環境

Raspberry Pi3 B
IPアドレスはwlan0, eth0ともに、DHCPにより付与される。

Raspbianインストール直後のカーネルバージョン
# uname -a
Linux rpi3web 4.9.80-v7+ #1092 SMP Fri Feb 9 13:56:00 GMT 2018 armv7l GNU/Linux
※rpi3webはホスト名
root@rpi3web:~# more /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs

症状

atp update実行後、再起動するとwlan0に接続できない。
eth0は接続ができる。

調べてみたところ/lib/firmware/brcmディレクトリのbrcmfmac43430-sdio.bin, brcmfmac43430-sdio.txtが更新されたことでwlan0が認識しないようだ。

wgetコマンドで適切なファイルと置き換えるとうまくいくようだが、私の環境ではrpi-configコマンドでlocaleの選択項目が表示できないという症状も発生していた。

解決策

rpi-updateコマンドを使って、任意のカーネルバージョンに戻す。

# rpi-update <カーネルバージョンのハッシュ値>

カーネルバージョンのハッシュ値の調べ方
下記のサイトでハッシュ値を取得できます。
https://github.com/Hexxeh/rpi-firmware/commits/master

今回は、Raspbianインストール直後のカーネル4.9.80に戻してみます。
# rpi-update 5c80565c5c0c7f820258c792a98b56f22db2dd03

アップデート作業には少し時間がかかります(10-20分程度)
#uname -a コマンドでカーネルのバージョンを確認します。

本体を再起動して、有線LANケーブルを抜きます。
wlan0にIPアドレスが付与されているはずです。。。

SSHで接続を試してみる。
今まで通り、wlan0が使えるようになりました!

Raspbian(stretch)のカーネルアップデートは頻繁にありますね。
現在(2018-05-01)は kernel: Bump to 4.14.37 が最新のようです。
最新にしてみましす。
4.9.80 -> 4.14.37

# rpi-update 461ee53cef85d14b8511e9f6d5dce8c0ac1d595a
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
*** Relaunching after update
:
省略
:
*** A reboot is needed to activate the new firmware
ログ詳細 >> rpi-update_log

システムの再起動をして、SSHから接続してカネールのバージョンを確認してみます。
最新のカーネルに更新できたようです。

課題

Raspbian以外(CentOSなど)をインストールした場合、rpi-configコマンドで任意のカーネルバージョンに戻すことができない。その場合は、修正ファイルを一つずつ置き換えるか、修正用スクリプトなどを準備する必要がありそうです。

コメント

タイトルとURLをコピーしました