Help us understand the problem. What is going on with this article?

Raspberry Pi B+ モデルで無線LANアダプタ(Elecom WDC-150SU2M)を利用する

More than 5 years have passed since last update.

大事なこと

ドングル型無線LANアダプタだと給電性能が足らずに安定稼働しないため、現在は使っていません。

ではどうぞ

hubotをRaspberry Piに乗っけてプロジェクトのアレやコレをつぶやかせてやろうとワクワクしてRaspberry Piを買った。Raspberry Piを初めて触っているので、こじ研さんのページを参考にセットアップしていた。こじ研さんのページには無線LANのドングルを適当に買って来ればつながるんじゃないか?と書かれていたので、Elecom WDC-150SU2Mを買ってみて楽しみに挿してみたらウンともスンとも言わない。1000円の買い物なのでそれほど高い買い物ではないけど、なんか悔しい。いろいろ調べたら動作させられたのでまとめておく。

やったこと

  1. Raspbianの更新
  2. kernel headerのビルド
  3. 無線LANアダプタドライバのソースコード入手&ビルド

実際にやったのはこの逆順なのだけど(^_^;) では見ていこう。

Raspbianの更新

僕はRaspberry PiにOSを準備するのにNOOBSを利用し、Raspbianをインストールした。NOOBSを使うとRaspbian以外のOSも選択できる。けど、カメラモジュールが使いたいので、たぶん他のOSは使わないと思う。
さて、Raspbianを更新するには下記のコマンドを実行する。

sudo rpi-update

Raspbianは結構な頻度で更新されているらしく、公開されている2014/6/20以降にも更新があったようで、上記のコマンドを実行すると更新された。Raspberry Piのファームウェアもアップデートできた。

kernel headerのビルド

ドライバをソースコードからビルドするにはヘッダーファイルが必要になる。だが、Raspberry Piのフォーラムによると、Raspbianは容量を抑えるため、パッケージリポジトリにもkernel headerのパッケージを用意しておらず、ソースコードからヘッダーを作成しなければならないとのこと。手順をまとめる。まずRaspberry Piのソースコードを取得し、展開する。

sudo bash
cd /usr/src
wget https://github.com/raspberrypi/linux/tarball/rpi-3.12.y
tar xzf rpi-3.12.y

rpi-3.12.y というのは、GitHubに公開されているブランチ名。ダウンロード時に必要があれば変更する。続いてモジュールのビルドを行う準備を行う。

cd raspberrypi-linux-*
zcat /proc/config.gz > .config
make oldconfig
make modules_prepare
wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers

最後にダウンロードしてきたのは、新しいカーネルをビルドするときに必要なものらしく、誰かがビルドしたものがfirmwareのリポジトリにあるので、持ってきておくといいらしい。ここまでできれば後はシンボリックリンクを貼る。

KSRC=`pwd`
pushd /lib/modules/`uname -r`
ln -s ${KSRC} source
ln -s ${KSRC} build
popd

pushd /usr/src
ln -s ${KSRC} linux-`uname -r`
ln -s ${KSRC} linux
popd

uname -r は動作中のlinux kernelのバージョン。pushdをする時にうまくいかないことがあるので、その時は予めこのコマンドでバージョンを調べておき、実行時に置換する。これでkernel headerを利用できる準備が整った。

無線LANアダプタドライバのソースコード入手&ビルド

Elecom WDC-150SU2Mは、Realteckの8188euというチップを使っているらしい。Raspberry Pi用にドライバを作成されている方がいるので、その方のリポジトリをcloneし、ビルドする。gitは標準でRaspbianに含まれている。

git clone https://github.com/lwfinger/rtl8188eu
cd rtl8188eu
make all
sudo make install

さっきElecom WDC-150SU2Mに対応するpull requestを投げてみたけど、マージされていないようならkompiroのリポジトリからcloneしたほうが確実かもしれない。(ただし、カーネルのバージョンが上がるとヘッダーの内容が変わることがあるようで、動作しないことがあるかも。早くマージされると助かる。)

freee
スモールビジネスのバックオフィス業務をテクノロジーで自動化し、日本のスモールビジネスを元気にする
http://www.freee.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away