Raspberry Piで11ac無線LAN子機『GW-450D/GW-450D2』を使うための設定方法

ますます人気の手のひらサイズのPC『Raspberry Pi』。今回はこの『Raspberry Pi』で、11ac無線LAN子機『GW-450D』を使うための設定方法を解説いたします。『GW-450D2』でも同様の手順となります。
弊社プラネックスコミュニケーションズではLinux用のドライバーを公開していますが、Linux用ドライバーについての保証、サポートはいっさい受け付けておりません。ここに記載した設定方法についても保証、サポートはできかねますので、自己責任でご利用いただけますようお願いいたします。
なお、この解説は、『Raspberry Pi』のOSのひとつ『Raspbian』のGUI上で設定することを想定しています。ほかの環境で設定する方は、適宜読み替えて本解説をご利用ください。

1.『GW-450D』のLinuxドライバーを入手します

『GW-450D』のLinuxドライバーは下記弊社Webサイトで公開されています。
http://www.planex.co.jp/support/download/gw-450d/driver_linux.shtml
ダウンロードしたファイル「gw-450d_driver_linux_v3002.zip」を解凍し、その中に含まれるファイル「mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2」を、フォルダー「/usr/local/src」にコピーしてください。GUIの「ファイルマネージャ」は「ツール→rootユーザとして現在のフォルダを開く」を選択することで、フォルダー「/usr/local/src」にアクセスできます。

2.『GW-450D』用ドライバーをビルドします

2-1.ビルド準備

カーネルバージョンをチェックします。「アクセサリ」から「システムターミナル・スーパーユーザーモード」を開き、コマンド「uname -r」を実行してください。なおコマンドに大なり記号「>」は含まれません。
>uname -r
3.12.28+ 
以降の解説に「3.12」または「3.12.28」が含まれているコマンドがあります。「uname -r」コマンドで表示されたカーネルバージョンが「3.12.28」と異なっていた場合は、以降の解説に登場するコマンドの数字部分を、ここで表示された数字に置き換えて実行してください。

2-2.カーネルを取得

下記のコマンドを1行ずつコピーアンドペーストして、「システムターミナル・スーパーユーザーモード」で実行してください。カーネルバージョンを置き換えるのを忘れないようにご注意ください。
>apt-get update
>apt-get -y dist-upgrade
>apt-get -y install gcc make bc screen ncurses-dev

>cd /usr/src
>wget https://github.com/raspberrypi/linux/archive/rpi-3.12.y.tar.gz
>tar xvfz rpi-3.12.y.tar.gz
>ln -s /usr/src/linux-rpi-3.12.y/ /lib/modules/`uname -r`/build
>cd /lib/modules/`uname -r`/build
>make mrproper
>gzip -dc /proc/config.gz > .config
>make modules_prepare
>wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers
最後から2行目の「make modules_prepare」コマンド実行時に「[N/m/?]」という選択肢で停止した場合は「m」を選んでください。

2-3.ビルドを開始

ソースコードを解凍します。
>cd /usr/local/src
>tar xvjf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2
>cd mt7610u_wifi_sta_v3002_dpo_20130916
ソースコードをテキストエディターで修正して、『GW-450D』用のデバイスIDを追加します。下記の例では『Raspbian』に標準で含まれているテキストエディター『nano』を使用しています。
>nano common/rtusb_dev_id.c
エディターで紫色のマーカーが引かれている行を追加してください。
/* module table */
USB_DEVICE_ID rtusb_dev_id[] = {
#ifdef MT76x0
	{USB_DEVICE(0x2019,0xab31)}, /* GW-450D */
	{USB_DEVICE(0x148F,0x7610)}, /* MT7610U */
	{USB_DEVICE(0x0E8D,0x7610)}, /* MT7610U */
コンフィグを変更します。
>nano os/linux/config.mk
エディターで紫色のマーカーが引かれている箇所を変更してください。
  HAS_WPA_SUPPLICANT=y
  HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
makeを開始します。なおこの工程には20〜30分ほど時間がかかります。
>make

>make install
>rm -r /etc/Wireless/RT2860STA
>mkdir -p /etc/Wireless/RT2870STA
>cp RT2870STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat
>insmod /lib/modules/3.12.28+/kernel/drivers/net/wireless/mt7650u_sta.ko
最後のコマンド「insmod」でエラー「Invalid module format」が出た場合には、補足1の手順をお試しください。

3.無線LAN環境を設定します

3-1.モジュールを追加します

>nano /etc/modules
エディターで紫色のマーカーが引かれている行「mt7650u_sta」を追加してください。
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
mt7650u_sta

3-2.無線LAN設定を変更します

>nano /etc/Wireless/RT2870STA/RT2870STA.dat
エディターで紫色のマーカーが引かれている「SSID」、「AuthMode」、「EncrypType」の3ヵ所を変更してください。「SSID」の行は空白(設定なし)に修正します。
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=
ChannelGeography=1
NetworkType=Infra
SSID=
WirelessMode=5
EfuseBufferMode=0
Channel=0
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=WPA2PSK
EncrypType=AES

4.ネットワーク環境を設定します

4-1.インターフェースを設定します

>nano /etc/network/interfaces
エディターで紫色のマーカーが引かれている最初の3行には「#」を行頭に入れて無効にし、最後の5行はそのまま追加したうえで、つなぎたい無線LANルーターのSSIDとパスフレーズを記入してください。
auto lo

iface lo inet loopback
iface eth0 inet dhcp

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

allow-hotplug ra0
auto ra0
iface ra0 inet dhcp
wpa-ssid "SSID入れる"
wpa-psk "パスフレーズ入れる"

5.『GW-450D』を挿してから再起動

これですべての設定は終了です。『Raspberry Pi』に『GW-450D』を挿してから再起動してください。
>reboot
『Raspberry Pi』に『GW-450D』が正常に認識されていれば緑色のLEDが点灯します。有線LANケーブルを抜いて、ブラウザーなどでネット閲覧を確かめるか、「iwconfig ra0」や「ifconfig ra0」コマンドで「ra0」にIPアドレスが割り振られているか確認できれば、『GW-450D』の設定は成功です。お疲れ様でした!

補足1.コマンド「insmod」でエラー「Invalid module format」が出た場合の対処法

モジュールをインストールするコマンドで……
>insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/mt7650u_sta.ko
……下記のようなメッセージが表示されエラーになる場合があります。
Error: could not insert module mt7650u_sta.ko: Invalid module format
この場合はモジュールのバージョンとカーネルのバージョンが合っていない可能性があります。下記の紫色のマーカーのバージョンをご確認ください。

補足1-1.カーネルバージョンをチェックします

>uname -r
3.12.30+

補足1-2.モジュールバージョンをチェックします

>modinfo /lib/modules/`uname -r`/kernel/drivers/net/wireless/mt7650u_sta.ko
filename:       /lib/modules/3.12.30+/kernel/drivers/net/wireless/mt7650u_sta.ko
version:        3.0.0.2
description:    RT2870 Wireless Lan Linux Driver
author:         Paul Lin <paul_lin@ralinktech.com>
license:        GPL
srcversion:     2F72C14F7708AE4F0A65981
alias:          usb:v0E8Dp7650d*dc*dsc*dp*icFFisc02ipFFin*
alias:          usb:v0E8Dp7630d*dc*dsc*dp*icFFisc02ipFFin*
alias:          usb:v0E8Dp7610d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v148Fp7610d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2019pAB31d*dc*dsc*dp*ic*isc*ip*in*
depends:
vermagic:       3.12.30+ preempt mod_unload modversions ARMv6
parm:           mac:rt28xx: wireless mac addr (charp)
バージョンが合っていない場合の対処方法はいくつかありますが、今回はカーネルバージョンを最新にアップデートして、ビルドし直す方法をご案内いたします。

補足1-3.もう一度アップデートを実行します

>apt-get update
>apt-get -y dist-upgrade
>apt-get -y install gcc make bc screen ncurses-dev
>rpi-update
>reboot

補足1-4.カーネルをビルドします

システムが再起動したら、「システムターミナル」で下記のコマンドを入力します。
>cd /usr/src
>ln -s /usr/src/linux-rpi-3.12.y/ /lib/modules/`uname -r`/build
>cd /lib/modules/`uname -r`/build
>make mrproper
>gzip -dc /proc/config.gz > .config
>make modules_prepare
>wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers

補足1-5.カーネルバージョンを再確認します

ここでコマンド「uname –r」の値と異なっていると再びエラーとなります。
>cat /usr/src/linux-rpi-3.12.y/include/generated/utsrelease.h
#define UTS_RELEASE "3.12.30+"

補足1-6.『GW-450D』用ドライバーのビルドを再開します

以降は、本解説の「2−3.ビルドを開始」に戻り、『GW-450D』用ドライバーのビルドを再開します。

関連製品