Raspberry Pi ZEROでGW-450D2(無線LANドングル)を使う
ZERO買っちゃった
Pimoroniで入荷しているのを見たのでRaspberry Pi ZEROを買ってしまいました。
5ドルで買えるコンピューターという触れ込みでしたが、単品は品切れで小物とのセットで24ユーロでした。
めちゃくちゃ小さいです。フリスクの箱にギリギリ入るとか入らないとか
ネットに繋ぐ
LANが内蔵されていないのでUSBのWifiドングルでネットに接続します。
どうせやるなら11acで接続したいということでPLANEXのGW-450D2を購入。
しかしUSBポートが1個しかない&有線LANが内蔵されていないのでハブとコネクタも購入。
まずは有線LANのみで設定を行います。
Raspbian Jessieをインストールする
セットでついてきたSDカードに入っているOSが古くて動かなかったので再インストール。
WindowsマシンでOSイメージをSDカードへ書き込みました。詳しくは参考サイトへ
ドライバのインストール
無線LANドングルのドライバをソースからコンパイルします。
準備
/etc/apt/sources.list を下記に書き換え
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
/etc/apt/preferences を新規作成
Package: * Pin: release n=wheezy Pin-Priority: 900 Package: * Pin: release n=jessie Pin-Priority: 300 Package: * Pin: release o=Raspbian Pin-Priority: -10
apt更新
sudo apt-get update sudo apt-get upgrade
必要そうなビルドツールをインストール
sudo apt-get install autoconf libtool automake build-essential git bc -y
ドライバのコンパイル
基本的には参考サイトのコピペでOK。
カーネルのダウンロード辺りが上手くいかなかったので後述。
ncurses-devとgcc-4.8のインストール。
sudo apt-get install ncurses-dev -yq -t jessie sudo apt-get install gcc-4.8 -yq -t jessie
gcc-4.8の優先度を変更。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60
gccのバージョンを確認。
gcc --version | head -n 1 gcc (Raspbian 4.8.4-1) 4.8.4
MT7610U USB – MediaTekのソースをダウンロードし展開。
wget http://cdn-cw.mediatek.com/Downloads/linux/mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2 tar jxf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2
修正パッチが用意されているので借用。
git clone https://gist.github.com/moutend/cb35a37297910c99d3e2 gist ./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.
カーネルのダウンロード
参考サイトのやり方では上手く行かなかったので、rpi-sourceを使用。
sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update rpi-source
ドライバのビルド
ようやくビルド。
かなり時間がかかるので待ちます。
cd ./mt7610u_wifi_sta_v3002_dpo_20130916/ sudo make sudo make install
ビルドが完了したらドライバの読み込み。
4.1.13+の部分はカーネルのバージョンによります。
sudo insmod /lib/modules/4.1.13+/kernel/drivers/net/wireless/mt7650u_sta.ko
読み込みが終わったらチャンネルをスキャンして動作確認
sudo iwlist ra0 scan | grep GHz | sed 's/^ *//' Frequency:2.412 GHz (Channel 1) Frequency:2.442 GHz (Channel 7) Frequency:2.462 GHz (Channel 11) Frequency:5.18 GHz (Channel 36) Frequency:5.58 GHz (Channel 116)
Wi-fi設定
無線の接続とIPアドレスを固定する
Jessieからお作法が変わっているらしく、少し戸惑った。
/etc/network/interfaces を修正
auto lo iface lo inet loopback iface eth0 inet dhcp auto ra0 allow-hotplug ra0 iface ra0 inet manual pre-up sh -c "sleep 5" wpa-roam /etc/wpa_supplicant/ra0.conf iface default inet dhcp
/etc/dhcpcd.conf に追記
静的アドレスの設定もここに書くらしい。
interface ra0 static ip_address=192.168.1.90/24 #自分のIPアドレス static routers=192.168.1.1 #デフォルトゲートウェイ static domain_name_servers=192.168.1.1 #DNS
Wi-fiの接続設定
/etc/wpa_supplicant/ra0.conf を新規作成する
wpa_passphrase SSID PATHPHRASE | grep -v '#.*$' | sudo tee -a /etc/wpa_supplicant/ra0.conf
作成できたか確認
sudo cat /etc/wpa_supplicant/ra0.conf network={ ssid="SSID" psk=5d88239ed5d1203ddf3a6b30243ee1c95244392d50f62e0b26265628c4bd42ff }
再起動
sudo reboot
再起動が終わったら有線を外してip確認
ifconfig lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:65536 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) ra0 Link encap:イーサネット ハードウェアアドレス 00:22:cf:f6:2c:f2 inetアドレス:192.168.1.90 ブロードキャスト:192.168.1.255 マスク:255.255.255.0 inet6アドレス: fe80::222:cfff:fef6:2cf2/64 範囲:リンク inet6アドレス: 2001:a43d:2133:0:67d0:5c02:4b0:3788/64 範囲:グローバル UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:54661 エラー:0 損失:7 オーバラン:0 フレーム:0 TXパケット:5074 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:26052075 (24.8 MiB) TXバイト:488880 (477.4 KiB)
無線の接続状況を確認
iwconfig ra0 ra0 Ralink STA ESSID:"SSID" Nickname:"MT7610U_STA" Mode:Managed Frequency=5.18 GHz Access Point: A4:12:42:68:67:33 Bit Rate=135 Mb/s RTS thr:off Fragment thr:off Link Quality=100/100 Signal level:-56 dBm Noise level:-84 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
何とか無線でインターネットに接続できるようになりました。
疲れた・・・
関連記事
-
Sangoのメッセージ数について聞いてみた
メッセージ数が足りない! 金魚水槽のページやトップページからライトを点灯するのに …
-
Raspberry Pi2で室温、水温を計測してグラフ表示する その2
前回でRaspberry PiからさくらVPSへ計測したデータを飛ばして登録でき …
-
Raspberry Pi ZERO + L-03D + IIJmioを使ってネットに接続する
野外のソーラーパネル&ラズパイからネットに繋ぎたい ソーラーパネルで給 …
-
Raspberry Pi2に2台のカメラを繋いで同時配信する
水槽増えたんだけどまたパイ買うの? 先日新しく45cm水槽を買いまして買ったなら …
-
Raspberry Pi2でリモコンを使って水槽の照明をつける
リモコン操作で照明をつける Web上からRaspberry Pi2で水槽の照明を …
-
Raspberry Pi2でPlanexのGW-450Dが動かなくなった
Raspberry Pi2上で何も考えずソフト類をアップグレードしたらカーネルの …
-
Raspberry Pi2でプラ船のカメラを動かす
カメラの首振り プラ舟内に設置しているカメラにサーボを取り付けて遠隔からカメラの …
-
エサやりボタン復活しました
遠隔エサやりボタン 春になってきたので冬の間ストップしていたエサやりボタンを復活 …
-
RaspberryPi2で動画配信しながら写真も撮りたい
金魚デカくなった? 金魚にエサやってると4月の初頭から飼い始めた琉金が1周り大き …
-
Raspberry Pi2で水槽のLEDを自動点灯/消灯する
先日Raspberry Pi2を購入し、自宅からのストリーミング配信する為あれこ …
- PREV
- エサやりボタンを撤去しました
- NEXT
- 穂竜水槽を引っ越しました
Comment
[…] ・Raspberry Pi ZEROでGW-450D2(無線LANドングル)を使う ・Automatically connect a Raspberry Pi to a Wifi […]