読者です 読者をやめる 読者になる 読者になる

個人的なまとめ。

てきとーに何か書きます。

BuffaloのWI-U3-866Dを使って、Noise Levelを取りたかった...。

結論を最初に書くと、WI-U3-866Dを用いてもNoise Levelを取得出来なかった。
考えられる理由としては、この後に行った事を説明するが、自分自身でインストールしたドライバー自体に、Noise Levelを取得するコードが書き込まれていない可能性がある。
その為、もしNoise Levelを取得したいのであれば、最初からUbuntuにインストール済みのドライバーを搭載した無線LANドングルを使用する必要がある。
しかし、全てのドライバーが必ずしもNoise Levelを取得できる訳では無いので、その点に関しては注意が必要である。

※普通に動いてるぞ!!って人は、ぜひ教えて下さい…。
とりあえず、ここからやった事をちまちま書いて行く。


Raspberry Pi3に普段、BuffaloのWLI-UC-GNMEを使用している。
これだと、iwのstation dumpで情報を得る事が出来るが、survey dump実行時に、Noise Levelを取得する事ができない。
survey dumpのコマンド自体は実行できるし、Noise Level以外のデータは取得できる。


そこで、高い子機を使ったらNoise Levelまで取れるんじゃない??っていう安直な考えで、同じくBuffaloのWI-U3-866Dを購入してみた。


そして、これをRaspberry Pi3に挿してみた所、うんともすんとも言わない...。
デフォルトでは、WI-U3-866Dのチップセットのrtl8812auが対応していない為、別途自分でドライバーをインストールする必要があるらしい。
インストール自体は、
qiita.com

Compiling Raspberry Pi kernel modules

この2つを参考に、Raspberry Pi3上で実行を行った。
本来であれば、Raspberry Pi3のスペックが低い為、デスクトップPCなどでコンパイルをしてRaspberry Pi3上に移す、クロスコンパイルを行う事が普通らしいが、なんか面倒くさいので、Raspberry Pi3上で全部行った。
カーネルのビルドで、jオプションを使用しても、恐らく4時間ぐらい掛かっていると思う。
これが、デスクトップで行うと、10分も掛からずに終わるらしい。


とりあえず、Raspberry Pi3になんとかドライバーをインストールしてみた。
しかし、何故かWI-U3-866Dのランプが点滅してくれない。
更に調べてみると、他にも設定が必要な事が分かった。

3415-adversaria.blogspot.jp

このサイトを参考に、.cファイルを変更し、再びmake、make installを行う。

すると、無事点滅してくれるようになった!

ようやくホッとして再起動をしてみると、なんとRaspberry Pi3が起動してくれない。
いや、一応起動はしてくれるがデスクトップ画面が表示された所でカーソルが動かないし、キーボードからの操作も全く受け付けない状況になってしまった。


WI-U3-866Dの仕様書を見てみると、http://manual.buffalo.jp/buf-doc/35020342-03.pdf

USB 3.0動作時:最大900 mA
USB 2.0動作時:最大500 mA

と書いてある。

akkagi.info

このサイトに書いてある事を信じるとするならば、Raspberry Pi3の全ポートの電流合計が1200mAだとしたら、能力的には問題ない事になる。
しかし、WI-U3-866Dを接続すると、動きが完全に止まってしまうという事は、

  • 仕様よりも多くの電流が流れてしまっている
  • そもそもWI-U3-866Dを挿した事で、CPUの処理が追いついていない

などが考えられる。
ちなみに、WI-U3-866Dを抜いて再起動すると、問題なくスムーズに動作を行う事が出来るため、WI-U3-866D接続時にのみ、問題が発生している事は確実である。

電源の電圧不足も考えたが、大元のコンセントに接続をしても状況は改善出来なかった為、その線は無いと考えられる。
ディスプレイ接続の負荷も大きいと考えた為、HDMIケーブルを抜き、他の端末からSSHでログインしようとしても、処理に時間が掛かるようで、全くログイン出来なかった。



結果として、WI-U3-866DをRaspberry Pi3で使う事自体が無理だった。


それだと納得がいかないので、WI-U3-866D自体はそもそもNoise Levelが取れるのか調べてみた。
今度はUbuntu 14.04 LTSのノートPCに接続を試みた。
ノートPCの場合も同様にrtl8812auのドライバーをインストールする必要がある。

k9q.hateblo.jp

ノートPCの場合には、Raspberry Piの場合と違って、インストールが速攻で終了した。
時間にして恐らく10分も掛かって無いと思う。非常に楽だ。

そして、肝心のNoise Levelを取得したいと思い、ターミナル上で

sudo iw dev wlan1 survey dump

を実行してみた。
すると、うんともすんとも言わない。

iwconfig

を実行してみると、
Noise Levelが画面上に出力されてるが、

Noise Level 0/100

と表示されていて、何かおかしい。


色々考えるに、自分でインストールしたドライバー自体に問題があるようだ。
最初からLinuxにインストールされているドライバーであれば、恐らくNoise Levelを取得する事ができると考えられる。


今回は、このドライバーを使用したが、
github.com
このドライバーも同じようなので、
github.com
もしかしたら、こっちをインストールするとNoise Levelを取得する事が可能になるのかも知れない。
希望は薄いが。

この点に関しては今後、別記事で更新していくつもり。