GW-450Dで無線化

GTX-580が3画面出力出来ればこんなことする必要もなかったのだが

3つ目のモニターへの出力機としてまったく使っていないRaspberry Pi2を活用。

まぁ、特定のURLをブラウザー表示させておくだけだしね。

ただ、LAN環境が無い部屋(無線のみ)なのでラズパイがインターネットに繋げない。

そこで、デスクトップの空きLANポートとラズパイをLANで繋ぎ、そこからWindows側でブリッジ設定より

インターネットに出してみたが、配線の関係でケーブルが邪魔って事でラズパイを無線化。

調べたら、バッファローかプラネックスの製品が一般的に使われてる模様。

GW-450Dでの情報が入手しやすかったのでこちらを購入しました。

正直、プラネックスは嫌いなんですけどね・・・

大体のサイトがKernel 3系のものだったのですが4系について記載してる方が居られたので

そちらの手順で対応しました。

(ちなみにOSはRaspbianではなくUbuntu MATE 16で行いました)

■必要なパッケージをインストール

$ sudo apt-get update

$ sudo apt-get install gcc make bc screen libncurses5-dev

※注意、'ncurses-dev' の代わりに 'libncurses5-dev'になってました。

$ sudo rpi-update

Kernel 4.1 → 4.4に変更

$ sudo reboot

■カーネルのソースを入手

$ uname -r

KernelのVersionを確認。-v7+がRaspberry Pi 2用って事らしいです。

$ cd /usr/src

$ sudo su

# git clone --depth 1 https://github.com/raspberrypi/linux.git -b rpi-4.4.y

ここでは、4.4.yにしてますが、https://github.com/raspberrypi/linux.gitのBranch:を見て

Kernelと合わせるようにしてください。

# git clone --depth 1 https://github.com/raspberrypi/firmware.git

# cd linux

# modprobe configs

# zcat /proc/config.gz > .config

# cp ../firmware/extra/Module7.symvers Module.symvers

■カーネルの再構築

make oldconfigでの、新しい設定項目確認はmで答えました。

ビルドは結構時間かかるので、実行して放置。

# make oldconfig

# make -j 4 zImage modules dtbs

# make modules_install

# cp arch/arm/boot/dts/*.dtb /boot/

# cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/

# cp arch/arm/boot/dts/overlays/README /boot/overlays/

# cp /boot/kernel7.img /boot/kernel7.img.old

# scripts/mkknlimg arch/arm/boot/zImage /boot/kernel7.img

# reboot

■ドライバの入手

http://www.planex.co.jp/support/download/gw-450d/driver_linux.shtml

より、gw-450d_driver_linux_v3002.zipをダウンロードし、/usr/srcにコピーしておく。

■ドライバーのコンパイル

$ cd /usr/src

$ sudo su

# unzip gw-450d_driver_linux_v3002.zip

# cd gw-450d_driver_linux_v3002

# tar xf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2

# cd mt7610u_wifi_sta_v3002_dpo_20130916

# wget https://raw.githubusercontent.com/neuralassembly/raspi/master/gw-450d/gw-450d-rpi-kernel41.patch

# patch -p0 < gw-450d-rpi-kernel41.patch

# make

# cp -p os/linux/mt7650u_sta.ko /lib/modules/4.4.xxx-v7+/kernel/drivers/net/wireless

※4.4.xxx-v7+は自分の環境に読み替えます。

# depmod -a

# mkdir -p /etc/Wireless/RT2870STA

# cp RT2870STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat

■interfacesへ追加

# leafpad /etc/network/interfaces

(末尾に以下を記述)

allow-hotplug ra0

auto ra0

iface ra0 inet dhcp

wpa-ssid "your-ssid"

wpa-psk "your-passwd"

固定IPが不要なのでDHCPを使用。

この辺はDebianと同じなので固定方法は割愛。

■GW-450Dを接続

ラズパイの電源を切ってからGW-450Dを接続し

電源を投入するとデバイスのLEDが点滅しますのでこれでOK。

注意

LinuxでGW-450Dを使用する場合、ルータでステルスモードにしてると接続できない模様。

ここではまって悩んだ・・・

我が家は、AtermStation WR9500なのでセカンダリーSSIDが利用できるため

5GHzプライマリー:ステルス+MACフィルタ

5GHzセカンダリー:ステルス解除+MACフィルタ+ネットワーク分離(同一ネットワーク内の端末へ接続禁止)

って感じになんとなく設定しておいた。

参考:Neuralassemblyのメモ