3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi3(kernel 4.14.70) で PlanexのGW-450Dを使うまで

Last updated at Posted at 2018-11-01

経緯

RasPi3の内蔵Wi-Fiでは802.11acが使えないということで、PlanexのGW-450Dを使ってルーターにpingが通るようしました。ルーターの設定も相まって、かなり苦労したため備忘録および被害者を減らすためにここに書き残します。
大変お世話になったサイトです。この場を借りて、感謝を致します。
[ラズパイ Zero WやRasPi 3B 用に5GHz対応のUSB Wi-Fiアダプタ(GW-450D2)のドライバを作る方法。]
(https://iot-plus.net/make/raspi/build-driver-5ghz-usb-wifi-gw450d2-on-raspbian-stretch/)

[Raspberry Pi 2 で Planex GW-450D を使う(セルフコンパイル)]
(http://labs.beatcraft.com/ja/index.php?Raspberry%20Pi%202%20%A4%C7%20Planex%20GW-450D%20%A4%F2%BB%C8%A4%A6%A1%CA%A5%BB%A5%EB%A5%D5%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB%A1%CB)

RaspberryPiのファームウェアをダウングレードする

環境

RaspberryPi3
kernel : 4.14.70-v7+
OS : stretch

手順

まずはいつものやつをやってから再起動です。

$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo reboot

ここでカーネルのバージョン確認をします。

$ uname -r
4.14.70-v7+

ビルドツールとカーネルヘッダーをインストールしましょう。

$ sudo apt-get install build-essential raspberrypi-kernel-headers git

ちゃんと現在のカーネルのバージョンと同じものがインストールされているか確認しましょう。

$ cd /lib/modules
$ ls
4.14.70+    4.14.70-v7+

もしuname -rと違うバージョンが入っている場合、私はカーネルをダウングレードすることで無理やりあわせました

$ sudo rpi-update [ハッシュ値]

ハッシュ値は下のサイトから目的のバージョンを探し、右側の左矢印が書いているアイコンをクリックすればハッシュ値がコピーされるのでそれを使います。
https://github.com/Hexxeh/rpi-firmware/commits/master

次にgcc-4.8をいれて優先順位を上げます。gcc-4.9だと出来ないということらしいです。

$ sudo apt-get -y install gcc-4.8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60

では確認しましょう。

$ gcc --vesion | head -1
gcc (Raspbian 4.8.5-4) 4.8.5

うまくいってますね。
ここでやっとドライバーのダウンロードです。
まず、パソコンで下のサイトからLinux用をダウンロードします。ラズパイでやるとファイルの中身が空になっており、途中の作業からエラーをはいて動きません。
GW-450Dのダウンロードサイト
ダウンロードしたものを解凍したら、mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2をUSBなどを使ってラズパイにそのファイルを移します。
ホームディレクトリーで展開していきます。

$ tar xf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2

今度は、パッチをあてていきます。ホーム戻ってこちらをクローンして下さい。

$ cd
$ git clone https://gist.github.com/moutend/cb35a37297910c99d3e2 gist

カーネルのバージョンが4.14の場合、gist/rt_linux.c.patchを開き11行目を編集します。

修正前

+return __vfs_read(osfd, pDataPtr, readLen, &osfd->f_pos)

修正後

+return kernel_read(osfd, pDataPtr, readLen, &osfd->f_pos)

いよいよパッチをあてていきます。

$./gist/patch.sh
patching file /home/pi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/rt_linux.c
patching file /home/pi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/config.mk
patching file /home/pi/mt7610u_wifi_sta_v3002_dpo_20130916/include/os/rt_linux.h
patching file /home/pi/mt7610u_wifi_sta_v3002_dpo_20130916/conf/RT2870STA.dat
patching file /home/pi/mt7610u_wifi_sta_v3002_dpo_20130916/common/rtusb_dev_id.c
Successfully done.

成功しました。
makeしてインストールから再起動します。

$ cd ~/mt7610u_wifi_sta_v3002_dpo_20130916/
$ make
$ sudo make install
$ sudo reboot

無線LANアダプタを接続

ここで無線LANアダプタを接続します。

$ ip a
$ sudo iwlist ra0 scan

「ra0」が認識され、5GHzも取得できていることを確認してください。
パッチを当てたらデフォルトとして暗号方式がWPA2PSK、暗号化がAESのルーターであれば下のようにコマンドを打ってあげればネットワークに繋がると思います。最近のルーターはデフォルトでこのような設定になってると思います。なっていなかったら、ルーターの設定を変更してからコマンドを打ってください。

$ sudo iwconfig ra0 essid ${SSID} key s:${PASS}

しかし不幸なことに、私はオーパーツ級のルーターを使わなければならず、そのルーターの設定は暗号方式は無しで暗号化はWEP64となっていました。それでは、ルーターの設定に合わせていきましょう。
/etc/Wireless/RT2870STA/RT2870STA.dat を開きAuthModeとEncrypTypeを変更します。

AuthMode=OPEN
EncryptType=WEP

他の設定はmt7610u_wifi_sta_v3002_dpo_20130916/doc/README_STA_usb をみて適宜変更しましょう。
次にwpa_supplicant.conf に認証方式や暗号化方式の設定をします。

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

開いたら次の通りに設定してみましょう。

network={
        identity="str"
        key_mgmt=NONE         
        ssid="your-ssid"
        wep_key0=your-passwd
}

strは適当に決めて構いません。wep_key0はダブルクォーテーション無しでパスワードを入力して下さい。

IPアドレスを固定

ここからIPアドレス設定をします。

$ sudo vi /etc/dhcpcd.conf

開いたらファイルの一番下に自分のしたいIPアドレスなどを入力してみましょう。私の環境の場合、下のようになりました。

interface ra0
static routers=192.168.12.254
static domain_name_servers=192.168.12.254
static ip_address=192.168.12.102/24
noipv6
static domain_search=

routers : ルーターのIPアドレス
domain_name_servers : ルーターのIPアドレス
ip_address : 自分の設定したいIPアドレス
noipv6 : IPv6の設定したくない時に入力
domain_search : 空欄

ここまで出来たら再起動しましょう。
これで無事に自動接続ができていることでしょうが、そうは問屋が卸さないようです。
ラズパイはブート時のあれこれが苦手らしいです。そういった時は

$ sudo vi /var/log/syslog

の中身を見てwpa_supplicant や dhcpcd の状況を確認しながら修正をかけましょう。出来たら必ずバックアップを取っておきましょう。(自分に対する戒め)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?