ふと思い立って最近いじってなかったラズパイ3で無線LANを有効にした時のお話。
Contents
環境
実機: ラズパイ3(私が買った時で5980円だったはず)
OS: Ubuntu(Ubuntu Meta ではなくて普通にUbuntu)
uname -a Linux ubuntu 4.4.0-1090-raspi2 #98-Ubuntu SMP Wed May 9 13:34:02 UTC 2018 armv7l armv7l armv7l GNU/Linux cat /etc/os-release NAME="Ubuntu" VERSION="16.04.4 LTS (Xenial Xerus)"
# raspi2って書いてるけど大丈夫かな…
動機
ラズパイを無線LANで繋げたい
単純に、どうやってCUIで無線LAN接続の設定するんだろう、と思った知識欲です。
ラズパイを有効活用したい
ちょっと思うところがあってファイルサーバにしたかったのです。
思うところの内容はきっと今後書きます。
まずはラズパイ起動
いきなり問題発生。
なぜキーボードを認識しないのだ
なぜHDMIでテレビに映らないのだ
いきなり困った。こんなところでハマりたくない。
とりあえずランケーブル繋いで、ノートPCでスキャンしてラズパイ発見してことをしのぐ。
不思議な現象が起きたもんだ。
無線LAN設定を行う(なかなか行えない)
無線LANのアダプタの名前を確認するために ifconfig を叩く。
そう、wlan0が出てこない。
wlan0 : no such device
(意訳: なんでwlan0があると思ったのバカなのしぬのぷぷぷ)
やんなっちゃう
私は大人なのでまずは落ち着いてググることにする。
こういう記事を見つける。
カーネルをアップデートするとWiFiが認識されなくなる
https://github.com/ryuichiueda/raspimouse_book_info/issues/1
まぁそういう報告があるならこの件もおそらくそうなんだろう。
対策はまとめていただいているようで、それはこちら。
https://github.com/ryuichiueda/raspimouse_book_info/blob/master/trouble_reports/wifiproblem.md
ただしここに書いてるコード(wget)を実行しても404だと言われたので、探して以下のコードを実行。
cd /lib/firmware/brcm/ wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.bin wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.txt shutdown -r now
これでwlan0が認識されるようになった。
無線LANの設定を行う
ここまででifconfigしてwlan0が見えるようになった。
パスワードの設定を行う
ここから下の作業はここのサイトを参考にした。
http://takuya-1st.hatenablog.jp/entry/2015/05/17/155229
wpa_passphraseコマンドがいるらしい。っていうわけでインストール。
apt install wpasupplicant
私の環境では最終的にパスワードを書き込むファイルが存在していなかったので、以下のコマンドで書き込み。
既に存在している人は>じゃなくて>>にした方がいいかもしれない。
sudo wpa_passphrase my_ssid my_password > /etc/wpa_supplicant/wpa_supplicant.conf network={ ssid="ssid" #psk="xxxxxxxxxxxxxx" psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx }
書き込まれる結果は2行目以降で、ssidはsssid、コメントアウトされているpskは平文のパスワード。コメントアウトされていないpskは暗号化されたパスワードのよう。
パスワード設定はこれで終わり。
ネットワーク設定に無線LANの設定を追加
/etc/network/interfacesに追記します。
以下の情報を適当な位置に追記。
sudo vi /etc/network/interfaces auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
2行目は「wlan0のインタフェースをマシン起動時に自動で起動しますよ」
3行目は「wlan0はdhcpでIPを取得しますよ」
4行目は「WPAの設定ファイルはここに置いていますよ」
という認識です。間違っていたら教えてください。
ここまで来たら接続確認
ifdown wlan0 ifup wlan0
問題なさそうだったらOK。
最後にマシンを再起動しても大丈夫かを確認。
/etc/init.d/networking restart
私の環境での謎現象
今まではラズパイの操作は有線LANを指して、SSHで接続していた。
今回無線で繋げられるようになって、以下の現象が起こることが分かった。
- LANケーブルを抜いた状態でラズパイ起動するとIPが割り振られる。
- このときsshのポートは一切開いていない。(普段からsshのポートしか空いていないが)
- LANケーブルを差す。有線のIPも割り振られる。
- このとき有線と無線両方のsshのポートが開いている。
- LANケーブルを抜く。
- 有線で取得したIPがまだ生きている。有線、無線両方のIPともポートが開いている。
なんで?
ラズパイでUbuntu構築時の思い出
おおむねここに書かれている記事のことをしたと思う。
https://qiita.com/misoragod/items/7b03c74e2abc4f2010ec
このサイトの記事の「重要(これをやらないと、apt-get upgradeを実行したあとに起動しなくなる。)」に書かれているように、ここに書いてる内容を初回のOS起動する前にやっておかないとapt upgradeした後に起動しなくなった。本当に焦った。
で、ちょっとうろ覚えだが、起動したときに編集するファイル(/boot/firmware/config.txt
)が見つからなくて、結局DD for windowsでSDカードに書き込んだ後にsublime textで編集した記憶がある。
DD for windows使ったっけなぁ…うまくいかなかったからから違うソフト使った気がするなぁ。
以上思い出したことでした。