Raspberry pi Model BでGW-900Dを使うのこと
RaspbianにはPlanexの無線Lan子機 GW-900Dのドライバは用意されていない。
幸いドライバはrtl8812auのオープンソースドライバが利用でき、
ビルドさえすればLinuxでも動作する。
Web上にはこの手の手順がかなりあるものの、
持っているRaspberry piが初期型のためか、
導入にかなり手こずったので自分なりの手順を書いておく。
以下の手順では有線Lanでインターネットに接続している事が前提となる。
rtl8812auドライバのインストール
Raspbianをインストールする
手っ取り早くNOOBSでインストールした。(JESSIE)
OSの最新化
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
rootパスワードの設定
$ sudo passwd root
ドライバのビルドに必要なもののインストール
rpi-sourceのインストール
Raspbianのソースを取得するためにこのツールをインストールする
$ sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source
rpi-sourceの実行で必要なもののインストール
sudo apt-get install bc
sudo apt-get install libncurses5-dev
rtl8812auドライバのダウンロード
保存場所へ適時移動してからダウンロードを実行
git clone https://github.com/gnab/rtl8812au.git
ドライバのビルド
ダウンロードしたドライバのディレクトリに移動
Makefileの編集。
ターゲットプラットフォームをPCからARM RPIに変更する。
...
CONFIG_PLATFORM_I386_PC = n
...
CONFIG_PLATFORM_ARM_RPI = y
...
ビルド
変更後、ビルド。
make
ドライバファイルの設置&カーネルモジュールの依存情報の更新
cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless
depmod
再起動
sudo reboot
まだまだこれから
dmesg でドライバがロードされているか確認。
ネットワークインターフェイス名の固定化
なんだか知らないがネットワークインターフェイス名(eth0とかのアレ)が、
再起動するたびにコロコロ変更されるので、これを固定化する。
MACアドレスとNICのドライバ名の調査。
MACアドレスはifconfigで表示される、etherの値。
NICのドライバ名はethtoolで調べることができる。
ethtool -i ネットワークインターフェイス名
ネットワークインターフェイス名の設定
/etc/udev/rule.d/70-persistent-net.rules を作成
ファイルに以下の要領で定義を追加する。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="(ドライバ名)", ATTR{address}=="AA:BB:CC:DD:EE:FF(MACアドレス)", NAME="eth0(インターフェイス名)"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="(ドライバ名)", ATTR{address}=="AA:BB:CC:DD:EE:FF(MACアドレス)", NAME="wlan0(インターフェイス名)"
再起動
sudo reboot
ifconfigで確認
ネットワークンターフェイス名が指定通りならOK。
wifiの有効化
アクセスポイントのscan
sudo iwlist wlan0 scan
wpa_supplicant.confの設定
sudo wpa_passphrase (SSID) (パスワード(平文)) >> /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicantの起動
sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
接続の確認
ifconfigでIPアドレスが割り当てられていることを確認
wifi自動起動化
システム起動時にwlan0が有効になるようにsystemdに設定する。
# systemctl enable wpa_supplicant@wlan0(インターフェイス名)
Created symlink /etc/systemd/system/multi-user.target.wants/wpa_supplicant@wlan0.service → /lib/systemd/system/wpa_supplicant@.service.
wlan0用のwpa_supplicant.confを作成する。
sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
再起動
ifconfigでwifiが自動接続されていることを確認する。
IPアドレス固定設定
検索すると/etc/network/interfacesを編集するってのがよく見つかるけれど、
その方法はもう古い。
JESSIEでは/etc/dhcpcd.confに設定を記述する方式に変わっている。
ちなみにUbuntu 16.04だったらnmtuiを使って設定する。
/etc/dhcpcd.confを編集する。
interface eth0
static ip_address=192.168.10.32/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1
interface wlan0
static ip_address=192.168.10.33/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1
再起動
ifconfigでIPが固定化されていることを確認する。
以上
疲れた。
参考文献:
http://www.ckenko25.jp/wordpress/2016/06/raspberry-pi-rtl8812au-driver
http://my-web-site.iobb.net/~yuki/2017-03/raspberry-pi/kernel-modules/
https://github.com/notro/rpi-source/wiki
http://itpro.nikkeibp.co.jp/article/COLUMN/20130909/503314/
http://blog.livedoor.jp/noanoa07/archives/2062436.html
https://www.xmisao.com/2014/01/16/how-to-connect-wpa2-wireless-lan-using-wpa-supplicant.html
http://kreisel.fam.cx/webmaster/clog/2011-01-20-1.html
http://thatsdone-j.blogspot.jp/2012/12/linuxnic.html
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=NIC%A4%CE%A5%C7%A5%D0%A5%A4%A5%B9%CC%BE%A4%F2%B8%C7%C4%EA%A4%B9%A4%EB
http://caad1229.hatenablog.com/entry/2015/04/23/180925
http://qiita.com/ykog/items/a6dbba1c09e870f8f702
https://wiki.archlinuxjp.org/index.php/WPA_supplicant