Pocket

Raspberry Pi を無線LANに接続する方法

  • add this entry to hatena bookmark

Raspberry Pi に Wi-Fi設定(無線LAN設定)を行ったので、その内容を記載しています。

OSは raspbian(wheezy)です。

Raspberry Pi は電源が多く取れないので、省エネ機能を搭載したWi-Fiモジュールを利用しています。

利用したのは、Raspberry Pi 用としても評価が高い、PLANEX の Wi-Fi USBアダプタ「GW-USNANO2A」です。値段は1,000円ちょいで、消費電力は省エネ効果で最大約1.3Wらしいです。

gw-usnano2a_02

なお、作業時は、有線LANでも接続しています。

また、何か問題があった時に対応できるように、手元にHDMIモニターとUSBキーボードも用意して作業したほうが良いと思います。(私は本作業内でも一度使いました。)

 

1.USBアダプタを Raspberry Pi のUSBポートに差し込む

Wi-Fi USBアダプタを、Raspberry Pi のUSBポートに差し込むと、自動認識されます。

認識状況は、lsusbコマンドで確認できます。(最終行のPLANEXがWiFi USBアダプタです。)

$ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
$

認識が出来ていたら、次にWiFi用のネットワーク設定を行います。

2.wpa_passphrase コマンドで、設定する値を生成

まず PreShared-Key のハッシュ値を生成します。

接続する無線LAN環境の「SSID」と「PreShared-Key」を wpa_passphraseコマンドの引数に与えて実行します。

例えば、SSIDが「mySSID」、PreShared-Keyが「myPASSPHRASE」の場合、以下のようにコマンドを実行します。

$ which wpa_passphrase
/usr/bin/wpa_passphrase
$ wpa_passphrase mySSID myPASSPHRASE
network={
        ssid="mySSID"
        #psk="myPASSPHRASE"
        psk=b04b5f9f0f161db17816f6c29029662630c22450ec0fcedacd070a19c684cbf3
}
$

コマンドの出力結果として、ハッシュ化された「psk」の値が表示されます。
この出力値を用いて、/etc/wpa_supplicant/wpa_supplicant.conf ファイルの設定を行います。

3./etc/wpa_supplicant/wpa_supplicant.conf を設定

既存の /etc/wpa_supplicant/wpa_supplicant.conf ファイルを vi などで開いて、下記のように設定します。各設定値は、ご利用のWiFi環境に合わせてください。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="mySSID"
        psk=b04b5f9f0f161db17816f6c29029662630c22450ec0fcedacd070a19c684cbf3
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        priority=2
}

上の設定は、WPA2-PSK 環境です。
ちなみに「CCMP」は AES暗号の事らしいです。(AES in Counter mode with CBC-MAC)

4./etc/network/interfaces を設定

次は、/etc/network/interfaces ファイルを設定します。

Wi-Fiに関する箇所は「wlan0」が該当します。

固定IPで設定する場合は、下記のように設定します。IPアドレス情報は環境に合わせてください。

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

以上で、設定は完了です。

5.再起動

念のため、HDMIモニターやUSBキーボードを手元に用意した上で、Raspberry Pi を「reboot」コマンドか「shutdown -r now」で再起動してください。

起動後にWi-Fi用に割り当てたIPアドレスにPingが通り、SSHでもログイン出来れば、一旦設定は完了になります。

 

6.パワーマネジメント機能をOFFにする

このままの設定では、SSH接続しにくい状態などになる事例が存在するようです。

原因は、PLANEX の Wi-Fi USBアダプタ「GW-USNANO2A」で、パワーマネジメント機能が働き、Wi-Fi接続できなくなるようです。

ちなみに、iwconfig コマンドで、パワーマネジメントに関する設定が確認できますが、「GW-USNANO2A」の場合、パワーマネジメントをOFFにしていない時も「off」と表示されるようです。

$ iwconfig
wlan0     IEEE 802.11bgn  ESSID:"mySSID"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:22:CF:16:xx:xx
          Bit Rate:72.2 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=100/100  Signal level=72/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

lo        no wireless extensions.

eth0      no wireless extensions.

$

対策としては、/etc/modprobe.d/8192cu.conf ファイルを作成し、パワーマネジメント機能を無効にする事が良いらしいです。

$ sudo vi /etc/modprobe.d/8192cu.conf
$ cat /etc/modprobe.d/8192cu.conf
options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1
$

なお、rtw_power_mgnt が「0」の場合、パワーマネジメント機能が無効になるようです。その代り、USBアダプタ自体が熱を持ちやすくなりますので、トレードオフかもしれません。

以下、再起動後の確認です。

$ cat /sys/module/8192cu/parameters/rtw_power_mgnt
0
$ cat /sys/module/8192cu/parameters/rtw_enusbss
1
$ cat /sys/module/8192cu/parameters/rtw_ips_mode
1
$

 

備考

/sbin/iwlist コマンドは、無線LAN環境を調べるコマンドとして使えます。

Wi-Fi環境で接続しているChannelは、先ほどのiwconfig コマンドでも確認できましたが、以下のコマンドでも確認できます。

$ iwlist wlan0 channel
wlan0     13 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Channel 12 : 2.467 GHz
          Channel 13 : 2.472 GHz
          Current Frequency:2.462 GHz (Channel 11)

$

以下のコマンドで、Wi-Fiネットワークをスキャンする事もできます。先ほど「/etc/wpa_supplicant/wpa_supplicant.conf」で設定した「pairwise」や「group」の値も確認できます。(出力は省略します。)

$ iwlist wlan0 scanning

 

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。