Linux
RaspberryPi
WiFi

PLANEX GW-450D KATANAをRaspberry Pi 2/3で使う

More than 1 year has passed since last update.

Cross Compile MT7610U Driver for RPi2/3

PLANEX製のGW-450DはMT7610Uというチップを使っていますが、Linuxドライバは公開されているため、RaspberryPiでも使うことが出来ます。

ネイティブビルドの情報はたくさんありましたが、クロスコンパイルの情報がなかったので作りました。ネイティブビルドだと下手すると数時間かかってしまいますので、こちらの方法の方が楽だと思います。

RaspberryPi3とカーネルバージョン4.4の環境でテストしています。

まず作業用のディレクトリを作っておきます。

$ mkdir bcm-staging
$ export WORK=`pwd`/bcm-staging

RPi2/3 Kernel

まずカーネルをクロスコンパイルします。基本的に公式で公開されている手順と一緒です。

Setup toolchain

公式のツールチェインを落としてきてPATHを設定します。

$ cd ${WORK}
$ git clone https://github.com/raspberrypi/tools
$ export PATH=${PATH}:`pwd`/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

Build

こちらのビルド方法は公式で公開されている手順と一緒です。

$ cd ${WORK}
$ git clone -b rpi-4.4.y https://github.com/raspberrypi/linux.git
$ cd linux
$ export KERNEL=kernel7
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabihf-
$ make bcm2709_defconfig
$ make -j 4 zImage modules dtbs

MT7610U Driver

Build

公式で公開されているドライバにRPi用にすこし手を加えたものを落としてきてビルドします。(ツールチェインのPATHが通っている必要があります。)

$ cd ${WORK}
$ git clone -b rpi https://github.com/FantomJAC/mt7610u_wifi_sta_v3002_dpo_20130916.git
$ cd mt7610u_wifi_sta_v3002_dpo_20130916
$ export PI_SRC=${WORK}/linux
$ make

Install

ドライバファイルをRaspberryPiのrootfsにコピーします。(${RPI_ROOTFS}は適時設定して下さい。)

本来であれば上記手順でビルドしたカーネルを一緒に使用すべきですが、カーネルのバージョンが4.4まで一致していれば大体動きます。

$ cp ./os/linux/mt7650u_sta.ko ${RPI_ROOTFS}/modules/4.4.21-v7+
$ mkdir -p ${RPI_ROOTFS}/etc/Wireless/RT2870STA
$ cp RT2870STA.dat ${RPI_ROOTFS}/etc/Wireless/RT2870STA

/etc/network/interfacesに以下の行を追加します。

allow-hotplug ra0
iface ra0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

RaspberryPi上で以下のコマンドを実行します。

# depmod -a