特に Raspberry PI 2 に限った話ではないのでしょうが、せっかく小型な機械なので WiFi のみで使えるようにしたいなと思ってしまったのが運の尽きでした。これが意外と面倒な感じでした。
問題点その1 アダプタが高発熱
手持ちの USB-WiFi アダプタを接続したところ正常に認識してうまくつながったので OK だと思ってました。しかしながら、 USB ドングルがとてつもなく熱くなり、これはやばい!と思えるレベルになってました。USB端子部なんかUSBのカイロレベル以上でした。
そんなアダプタは Logitec の LAN-W300N/U2S というシロモノでした。
この手の熱い!という話は他にもあるようで意外と定番のもののようでした。
他の定番に熱いものとしては、WLI-UC-GNM だそうです。
解決
比較的発熱が少ないものとして定番のようだったのが プラネックスのアダプタで、 GW-USNANO2A という型番のものです。割と安価だったのもポイントで、自分は Amazon で購入しました。
同時間使ってみても発熱具合はかなりマシになりました。使ってみてUSBを抜いて端子部分を触っての確認をしてみましたが暖かさは感じますがずいぶんとマシになりました
[amazonjs asin=”B00ESA34GA” locale=”JP” title=”PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)”]
問題点その2 PCから接続できない
Raspberry PI でネットワークを使用していたり、 PCから ssh で接続したままの状態のときには問題に気づきませんでした。しかし未接続のまま放置して、再度接続を試みると接続できない状態になっていました。 ping を打ってみても反応せず、しかし Raspberry PIでの状態を見ると IP はちゃんと降られているままですし、謎でした。
これには2つの問題点が絡んでいたと思います。
1つは有線と無線のローミング設定、もう1つがパワーセーブモードの存在です。
ローミング設定を切る
有線設定を優先するようになっていたようで、普段は WiFi を使用する前提で、設定ファイルを方を書き換えることにしました。自分の環境では以下のように /etc/network/interfaces ファイルを書き換えています。
auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
WiFiのパワーマネージメントをオフにする
今使用している GW-USNANO2A がどのドライバを使っているか確認してみると、 8192cu というものでした。これを元に現在の状態を以下のパラメータを参照してどうなっているか確認してみます。
$ cat /sys/module/8192cu/parameters/rtw_power_mgnt 1
上記のように1が表示されました。この値の意味は、次のようになっているとのことです。
0: 省電力管理無効
1: 最小限の電力管理
2: 最大限の電力管理
というわけで電力管理が有効なようで、これを 0 となるようにしたいと思います。
/etc/modprobe.d/8192cu.conf を作成し、この中に以下の記述を入れておきます。
# Disable power management options 8192cu rtw_power_mgnt=0
再起動して、再度 rtw_power_mgnt の値を表示させてみて 0 となっていれば設定完了です。
まとめ
以上の手順でとりあえず今のところは無事に WiFi で使用できるようになりました。
Raspberry PI は情報が豊富なので、丁寧に調べれば解決にたどり着けるのがよいですね
参考
Raspberry Pi: Wi-Fi USB アダプタ(Wi-Fi ドングル)の選択
Raspbian で Wi-Fi がスリープするのを防ぐ
おまけ
スループットは以下のような感じでした。おおむね満足ですね。
RPI ← PC : 38 Mbps
RPI → PC : 88 Mbps
[amazonjs asin=”B00TBKFAI2″ locale=”JP” title=”Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)-Physical Computing Lab”]
コメント