Raspberry Pi 2 を購入した
Raspberry pi 2 を購入した & 基本設定の記録。
- raspberry pi 2 Model B
- Greenhouse Bluetooth USBアダプタ GH-BHDA42
- Elecom 無線LANアダプタ WDC-433SU2M
という構成。
rasbianとBluetoothのアダプタは問題なく認識したが、無線LANのアダプタが動作しなかったので動作させる手順をまとめておく。
OSのインストール
rasbian を適当にインストール。
起動後に、sudo rasp-config
でSDカード全体を使うように変更しておく。
rasbian の更新
とりあえず
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update
を実施して最新にしておく。
さらに、/etc/apt/source.list
を編集して、wheezy
からjessie
に更新する。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
WDC-433SU2Mを利用可能にする
よくある話だが、Linuxカーネルが無線LANのアダプタを認識しない。
MT7650U_STA
というチップが載っているようで、同じチップが載っているPlanex GW-450D
のドライバが利用できるようだ。
こちらの記事がとても参考になった。
記事のように以下の作業が必要となる
- カーネルコンパイル用のGCCの用意
- カーネルのコンパイル
- ドライバのコンパイル
カーネルコンパイル用のGCC(4.8.x)の設定
/proc/version
を見ると、カーネルのコンパイルに必要なgccのバージョンがわかる。
今回は、4.8.3を利用しているようだ。
$cat /proc/version
Linux version 3.18.11-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015
というわけで、カーネルをコンパイルする前にgcc-4.8をインストールして、標準のコンパイラとして利用する設定を行う。
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --display gcc
カーネルのコンパイル
カーネルのコンパイルは以下の手順でOK
$ cd /usr/src
$ wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz
$ tar xvfz rpi-3.18.y.tar.gz
$ ln -s /usr/src/linux-rpi-3.18.y/ /lib/modules/`uname -r`/build
$ cd /lib/modules/`uname -r`/build
$ make mrproper
$ zcat /proc/config.gz > .config
$ make modules_prepare
$ wget https://github.com/raspberrypi/firmware/raw/master/extra/Module7.symvers -O Module.symvers
$ sudo apt-get -y install ncurses-dev
$ sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update
$ rpi-source
ドライバの修正 & インストール
参考記事のように修正する。
インストールは
$sudo cp os/linux/mt7650u_sta.ko /lib/modules/3.16.0-30-generic/kernel/drivers/net/wireless/
$sudo mkdir -p /etc/Wireless/RT2870STA
$sudo cp RT2870STA.dat /etc/Wireless/RT2870STA
としてモジュールのインストール後に/etc/modprobe.d/wdc-433su2m.conf
に以下の内容を記述しておく。
alias ra0 mt7650u_sta
そして、モジュールを認識させる。ra0が無線のモジュールとして認識されるようになるはず。
$sudo depmod -a
$sudo modprobe mt7650u_sta