半地下備忘録

たつさんの日記的ななにか。

Raspberry Piに無線LANでアクセスできるようにする

f:id:tatsu-n:20160228142529j:plain
この前書いたところまででとりあえずのセットアップは終わり。
Raspberry Piをキーボードとディスプレイも使わずにセットアップする方法 - 半地下備忘録


せっかくのRaspberry Piなので、できるだけケーブルを取っ払うべく、無線LANでの接続を目指すよ。ちなみに今回はCUIで設定したけど、Raspberry Piを画面に繋いでるなら、GUIで設定したほうが簡単っぽい*1

無線LANアダプタ

Raspberry Piで使う無線LANアダプタは、USB接続のものであれば基本的にはどこのメーカーでも使えるみたい。ただし、機種によって消費電力に違いがあって、電源の貧弱なRaspberry Piとしては、できるだけ省電力のものが良いらしい。
Amazonとかを見るとBUFFALOあたりの無線LANのUSBアダプタは安いけど、消費電力が大きくて、発熱もすごいらしい。

ELECOM 無線LAN子機 コンパクトモデル 11n/g/b 150Mbps USB2.0 WDC-150SU2MBK

ELECOM 無線LAN子機 コンパクトモデル 11n/g/b 150Mbps USB2.0 WDC-150SU2MBK

そんなわけで、ELECOMのアダプタを購入。若干お高いけど、発熱で壊れても困るしね。

無線LANの設定

無線LANアダプタをRaspberry Piに挿して、lsusbコマンドでちゃんと認識されているか確認する。ちなみにアダプタはUSBなので電源を入れたまま接続しても問題なく認識した。

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 056e:4008 Elecom Co., Ltd 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Device 004にElecomとあるので、ちゃんと無線LANアダプタが認識された。


無線LANで接続するためのSSIDとパスワードを設定する。

sudo wpa_passphrase <接続するSSID> <パスワード> | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf


接続の設定ファイルをちょっと修正する。

sudo vi /etc/network/interfaces

wlan0(無線LANのアダプタ)をDHCPに。wlan1が何なのか分からないけど、ifconfig見た感じwlan1は表示されなかったのででとりあえず放置。(この設定した後に、ここはいじらなくていいという記事も見かけたので、実は変更しなくても良いかも)

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
#iface wlan0 inet manual
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp


Raspberry Piを再起動して設定を反映させる。

sudo reboot


ifconfigでwlan0にIPが振られているか確認する。

ifconfig

これでLANケーブルを抜いてもアクセスできるようになった!

パワーマネジメント機能

無線LANアダプタのパワーマネジメントがオンになっていると、しばらくコマンドなどの入力がない場合に省電力モードになって反応が遅くなるらしくて、いろんなサイトにパワーマネジメントの切り方が書かれた。確認してみると今回買った無線LANアダプタは最初からオフになってるっぽかった。

アダプタの設定のiwconfigで確認できる。

iwconfig wlan0

設定が表示されるので、Power Management:offってなっていれば良さそう。