- 追加された行はこの色です。
- 削除された行はこの色です。
[[Raspberry Pi]]~
[[Raspbian]]~
#contents
*Raspberry Pi 2 で Planex GW-450D を使う(セルフコンパイル) [#n2c8e69a]
Raspberry Pi 2 に~
カッ飛び! 11ac Planex GW-450D~
http://www.planex.co.jp/products/gw-450d/~
を接続し、Raspbian で使用できるようにする手順です。~
~
[[Raspberry Pi 2 kernel セルフコンパイル]] に従って kernel compile と新しい kernel での起動が完了したら、~
GW-450D のドライバーをビルドします。
**source 入手 [#wb717ff6]
planex のサイトからドライバーのソースコードを入手します。~
http://www.planex.co.jp/support/download/gw-450d/driver_linux.shtml~
使用許諾の同意確認があり直接ダウンロードするリンクがないので、wget などで Raspbian 上に直接ダウンロードできません。~
PC のブラウザでダウンロードしておいて scp などで Raspberry Pi 2 上にコピーします。
**展開 [#h7c2ff61]
ソースコードアーカイブを展開します。~
zip の中に tar で固められたドライバーのソースコード本体があります。
pi@raspberrypi ~ $ cd src/
pi@raspberrypi ~/src $ unzip gw-450d_driver_linux_v3002.zip
pi@raspberrypi ~/src $ mv gw-450d_driver_linux_v3002/mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2 .
pi@raspberrypi ~/src $ tar xvf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2
pi@raspberrypi ~/src $ cd mt7610u_wifi_sta_v3002_dpo_20130916/
**patch [#i95e0b35]
Raspberry Pi 2 + kernel 4.1.6 で5GHz対応WifiドングルGW-450Dを動かした~
http://neuralassembly.blogspot.jp/2015/09/raspberry-pi-2-kernel-416-5ghzwifigw.html~
で公開して下っている patch を当てます。
pi@raspberrypi ~/src/mt7610u_wifi_sta_v3002_dpo_20130916 $ wget https://raw.githubusercontent.com/neuralassembly/raspi/master/gw-450d/gw-450d-rpi-kernel41.patch
pi@raspberrypi ~/src/mt7610u_wifi_sta_v3002_dpo_20130916 $ patch -p0 < gw-450d-rpi-kernel41.patch
patching file common/rtusb_dev_id.c
patching file include/os/rt_linux.h
patching file os/linux/config.mk
patching file os/linux/rt_linux.c
patching file sta/sta_cfg.c
patching file common/cmm_info.c
**ビルド [#xc3d90de]
ビルドします。~
正常に完了すると mt7650u_sta.ko ができます。
pi@raspberrypi ~/src/mt7610u_wifi_sta_v3002_dpo_20130916 $ sudo -s
root@raspberrypi:/home/beat/src/mt7610u_wifi_sta_v3002_dpo_20130916# make
〜〜 中略 〜〜
Building modules, stage 2.
MODPOST 1 modules
CC /home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/mt7650u_sta.mod.o
LD [M] /home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/mt7650u_sta.ko
make[1]: Leaving directory '/usr/src/linux'
cp -f /home/beat/src/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/mt7650u_sta.ko /tftpboot 2>/dev/null || :
**インストール [#pe712014]
make install はせずコピーして depmod します。
root@raspberrypi:/home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916# cp -p os/linux/mt7650u_sta.ko /lib/modules/4.1.10-v7+/kernel/drivers/net/wireless/
root@raspberrypi:/home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916# depmod -a
**設定ファイルの配置 [#y452055c]
ドライバーの設定ファイルを置くディレクトリを作成し設定ファイルを配置します。
root@raspberrypi:/home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916# mkdir -p /etc/Wireless/RT2870STA
root@raspberrypi:/home/pi/src/mt7610u_wifi_sta_v3002_dpo_20130916# cp RT2870STA.dat /etc/Wireless/RT2870STA/
**load 確認 [#c40c8b7a]
kernel module のインストールが済んだ状態で GW-450D を Raspberry Pi 2 に挿すと~
mt7650u_sta.ko が load され、ra* というネットワークインタフェースができます。
root@raspberrypi:~# lsmod
Module Size Used by
cfg80211 410393 0
rfkill 15913 1 cfg80211
mt7650u_sta 906627 1
bcm2835_gpiomem 2860 0
uio_pdrv_genirq 2924 0
uio 7784 1 uio_pdrv_genirq
i2c_dev 5610 0
snd_bcm2835 19808 3
snd_pcm 73405 1 snd_bcm2835
snd_timer 17657 1 snd_pcm
snd 50337 9 snd_bcm2835,snd_timer,snd_pcm
fuse 79934 3
ipv6 336324 34
root@raspberrypi:~# iwconfig
ra0 Ralink STA ESSID:"" Nickname:"MT7610U_STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
**ネットワーク設定 [#x43319fe]
/etc/network/interfaces の wlan0 の下に ra0 の設定項目を作成します。~
接続したいアクセスポイントの SSID とパスフレーズを設定します。
# vi /etc/network/interfaces
(以下を記述)
allow-hotplug ra0
auto ra0
iface ra0 inet manual
wpa-ssid "your-ssid"
wpa-psk "your-passwd"
**設定ファイルの編集 [#ifa05280]
認証方式や暗号化方式は wpa_supplicant が自動で設定し上記の設定で接続できるはずですが、~
アクセスポイントの設定によっては接続できないことがあるかもしれません~
その場合は認証方式や暗号化方式を明示的に設定ファイルに設定します。
SSID=
AuthMode=WPA2PSK
EncrypType=TKIP
SSID はネットワーク設定で設定しているので空にします。~
AuthMode に設定可能な値は WEPAUTO、OPEN、SHARED、WPAPSK、WPA2PSK、WPANONE~
EncrypType に設定可能な値は NONE、WEP、TKIP、AES~
です。~
~
そのほかの /etc/Wireless/RT2870STA/RT2870STA.dat の各設定項目に設定できる値の詳細は、~
ドライバーソースのアーカイブの中の~
mt7610u_wifi_sta_v3002_dpo_20130916/doc/README_STA_usb~
に書かれています。
**再起動 [#m7367bb4]
設定を完了して再起動すると、以下のように IP アドレスが取得できています。
root@raspberrypi:~# ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:c2:87:00
inet addr:192.168.0.145 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::ba27:ebff:fec2:8700/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:70510 errors:0 dropped:10715 overruns:0 frame:0
TX packets:5921 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12997010 (12.3 MiB) TX bytes:927393 (905.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1104 (1.0 KiB) TX bytes:1104 (1.0 KiB)
ra0 Link encap:Ethernet HWaddr 00:22:cf:ed:11:cd
inet addr:192.168.0.152 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::1fef:b53:2e47:12de/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:237874 errors:0 dropped:8164 overruns:0 frame:0
TX packets:1756 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:46173923 (44.0 MiB) TX bytes:117107 (114.3 KiB)
root@raspberrypi:~# iwconfig
ra0 Ralink STA ESSID:"Beatcraft2" Nickname:"MT7610U_STA"
Mode:Managed Frequency=2.442 GHz Access Point: 00:3A:9D:91:93:BE
Bit Rate=54 Mb/s
RTS thr:off Fragment thr:off
Encryption key:00D4-3E01-8CE2-6AE9-69D8-32D7-92E1-7C02 [3] Security mode:open
Link Quality=98/100 Signal level:-46 dBm Noise level:-49 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
**トラブルシュート [#ce0dcb84]
接続がうまくいかない場合は、/var/log/syslog の中の~
wpa_supplicant や dhcpcd のログで状況を確認します。~
接続成功時には以下のようなログが出力されています。
Oct 16 19:15:08 raspberrypi kernel: [ 14.122857] cfg80211: Calling CRDA to update world regulatory domain
Oct 16 19:15:08 raspberrypi wpa_supplicant[480]: ra0: WPA: Key negotiation completed with 00:3a:9d:91:93:be [PTK=TKIP GTK=TKIP]
Oct 16 19:15:08 raspberrypi wpa_supplicant[480]: ra0: CTRL-EVENT-CONNECTED - Connection to 00:3a:9d:91:93:be completed [id=0 id_str=]
Oct 16 19:15:08 raspberrypi dhcpcd[591]: ra0: carrier acquired
Oct 16 19:15:08 raspberrypi dhcpcd[551]: dhcpcd[591]: ra0: carrier acquired
Oct 16 19:15:08 raspberrypi dhcpcd[591]: ra0: IAID cf:ed:11:cd
Oct 16 19:15:08 raspberrypi dhcpcd[551]: dhcpcd[591]: ra0: IAID cf:ed:11:cd
Oct 16 19:15:08 raspberrypi dhcpcd[591]: ra0: rebinding lease of 192.168.0.152
Oct 16 19:15:08 raspberrypi dhcpcd[551]: dhcpcd[591]: ra0: rebinding lease of 192.168.0.152
Oct 29 19:15:08 raspberrypi dhcpcd[591]: ra0: soliciting an IPv6 router
Oct 29 19:15:08 raspberrypi dhcpcd[551]: dhcpcd[591]: ra0: soliciting an IPv6 router
切り分けのためまず /etc/network/interfaces の中の ra0 の項目を一旦消して再起動し、手動で ra0 に設定をしていきます。~
~
wpa_supplicant での認証に失敗している場合は、まず以下のようにしてテスト用の wpa_supplicant.conf を作成します。
root@raspberrypi:~# wpa_passphrase your-ssid your-passwd > wpa_supplicant.conf
出力された wpa_supplicant.conf に認証方式や暗号化方式の設定を追加します。
network={
proto=RSN
key_mgmt=WPA-PSK
pairwise=TKIP
ssid="your-ssid"
#psk="your-passwd"
psk=bfc743cad6d376b47075c9f336e03c7e852e11ba22230edfc3deb6de9f414bf0
}
作成できたらこの設定ファイルを指定して wpa_supplicant をフォアグラウンドで実行し、認証状況を確認します。
root@raspberrypi:~# wpa_supplicant -D nl80211,wext -i ra0 -c wpa_supplicant.conf -dd
〜〜中略〜〜
ra0: State: COMPLETED -> GROUP_HANDSHAKE
WPA: Group Key - hexdump(len=32): [REMOVED]
ra0: WPA: Installing GTK to the driver (keyidx=1 tx=0 len=32)
WPA: RSC - hexdump(len=6): 0f 11 00 00 00 00
wpa_driver_wext_set_key: alg=2 key_idx=1 set_tx=0 seq_len=6 key_len=32
ra0: WPA: Sending EAPOL-Key 2/2
WPA: KCK - hexdump(len=16): [REMOVED]
WPA: Derived Key MIC - hexdump(len=16): a0 9a 5f e1 4b cb 62 f9 11 fc d1 95 bd 9c ed c0
ra0: WPA: Group rekeying completed with 00:3a:9d:91:93:be [GTK=TKIP]
ra0: Cancelling authentication timeout
ra0: State: GROUP_HANDSHAKE -> COMPLETED
EAPOL: startWhen --> 0
EAPOL: disable timer tick
上記のように認証成功になるまで設定を調整します。~
成功したら wpa_supplicant を以下のようにバックグラウンドで動作させてます。
root@raspberrypi:~# wpa_supplicant -D nl80211,wext -i ra0 -c wpa_supplicant.conf -B
dhcpcd が動いている場合はここですでに IP アドレスが取得できているかもしれません。~
以下のようにして状況を確認します。
root@raspberrypi:~# /etc/init.d/dhcpcd status
● dhcpcd.service - LSB: IPv4 DHCP client with IPv4LL support
Loaded: loaded (/etc/init.d/dhcpcd)
Active: active (running) since Thu 2015-10-16 20:48:57 JST; 36s ago
Process: 2896 ExecStop=/etc/init.d/dhcpcd stop (code=exited, status=0/SUCCESS)
Process: 3000 ExecStart=/etc/init.d/dhcpcd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/dhcpcd.service
mq3024 /sbin/dhcpcd
Oct 16 20:48:57 raspberrypi dhcpcd[3000]: dhcpcd[3005]: forked to background...4
Oct 16 20:48:57 raspberrypi dhcpcd[3005]: forked to background, child pid 3024
Oct 16 20:48:57 raspberrypi systemd[1]: Started LSB: IPv4 DHCP client with I....
Oct 16 20:48:57 raspberrypi dhcpcd[3024]: ra0: rebinding lease of 192.168.0.152
Oct 16 20:48:57 raspberrypi dhcpcd[3024]: ra0: soliciting an IPv6 router
Oct 16 20:49:02 raspberrypi dhcpcd[3024]: ra0: leased 192.168.0.152 for 4320...s
Oct 16 20:49:02 raspberrypi dhcpcd[3024]: ra0: adding route to 192.168.0.0/24
Oct 16 20:49:02 raspberrypi dhcpcd[3024]: ra0: adding default route via 192....4
Oct 16 20:49:09 raspberrypi dhcpcd[3024]: eth0: no IPv6 Routers available
Oct 16 20:49:09 raspberrypi dhcpcd[3024]: ra0: no IPv6 Routers available
Hint: Some lines were ellipsized, use -l to show in full.
取得できていない場合は、以下のように dhclient をフォアグラウンド実行して状況を確認します。
root@raspberrypi:~# dhclient -d ra0
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/ra0/00:22:cf:ed:11:cd
Sending on LPF/ra0/00:22:cf:ed:11:cd
Sending on Socket/fallback
DHCPREQUEST on ra0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.254
bound to 192.168.0.158 -- renewal in 18949 seconds.
IP アドレスの取得に成功すれば上記のようなログが出ます。
**参考先行例 [#dff929f6]
Raspberry Pi 2 + kernel 4.1.6 で5GHz対応WifiドングルGW-450Dを動かした~
http://neuralassembly.blogspot.jp/2015/09/raspberry-pi-2-kernel-416-5ghzwifigw.html~
を参考に Raspbian で動かしている Raspberry Pi 2 で GW-450D を使えるようにします。
Raspberry Pi2のカーネルの再構築とGW-450Dを使えるようにする。~
http://blog.mamemomonga.com/2015/02/raspberry-pi2gw-450d.html~
Raspberry Pi 2+NOOBSでPlanexのGW-450D(802.11ac対応無線LANドングル)を使う~
http://qiita.com/tsukaman/items/44abe042d2184c021b4b~
Raspberry Pi 2でブートと同時にPLANEXのGW-450Dを自動的に起動させる~
http://qiita.com/moutend/items/1fe67d1917ff25df198c~