Raspberry Pi でWebカメラ (3) 無線LANアダプタGW-US54GXSの接続と設定

投稿者: | 2015年9月24日

前の記事で、無事にWebカメラとRaspberry Piを接続することができたので、次は無線LANにつなぐ作業をします。有線LANで接続すれば話は簡単なのですが、設置場所の都合でLANケーブルを引き回せないため使っていない無線LANアダプタを探し出して繋いでみることにしました。

本日の主役 GW-US54GXS について

さて、今回引っ張り出してきた無線LANアダプタ「GW-US54GXS」は、私がモンスターハンターポータブル3G(略して MHP3G)で、狩友(=インターネット経由で国内の(不特定多数の)お友達)と遊ぶために導入したものでしたが、仕事や育児や地域での活動(お祭りとかPTAとか・・)に忙しくなってしまったためお蔵入りしたものでした。

IMG_9414

さて、そんな感傷にひたる暇もないので、このアダプタに新たなミッションを任命することにします。事務所には無線LAN環境(アクセスポイント)は設定済みなので、手順としては

  1. Raspberry Pi (厳密にはUSB  ハブ)に無線LANアダプタを接続する。
  2. Raspberry Pi のOSに無線LANアダプタを認識させる。今時のものなら自動認識ですが、2006年物ということでどうなるか?
  3. 無線LANアダプタにIPアドレスなどネットワーク設定を行う。

という段取りです。というわけで、1.からサクサクと進めていきましょう!今回は無線LANアダプターにグローバルIPアドレスを割り当てるので、ブロードバンドルーター側の設定はありません。

ドライバが必要だよ、GW-US54GXS!

さて、上の写真とおり、USB  ハブにサクッと差し込んで、 /var/log/message を眺めます・・。

なんかエラーが出てました。”zd1211 のドライバーがありません”、的なメッセージです。製品仕様のページでも、ZYDAS ZD1211Bというコントローラーを使っていると書かれているので、ZD1211用のドライバーをインストールすれば良さげというところまでわかりました。

Google 先生に相談したところ、以下の記事が参考になりました。

http://ganchi.doorblog.jp/archives/7655019.html

手順としてはSTEP1~4までとなります。

STEP1 アダプタ自身が認識されているのを確認します (以下は全てのデバイスが正常に認識された状態での結果です)。7行目にPLANEX GW-US64GXSという表示が出ていますので、一応USB デバイスとしては認識されているようです。

$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 006: ID 2019:5303 PLANEX GW-US54GXS 802.11bg
Bus 001 Device 007: ID 0ac8:0332 Z-Star Microelectronics Corp.
$

STEP2  zd1211 デバイスドライバーのパッケージがあるか検索します。

$ apt-cache search zd1211
zd1211-firmware - Firmware images for the zd1211rw wireless driver
$

STEP3 無事に zd1211-firmwareが見つかるので該当ドライバーをインストール

$ sudo apt-get install zd1211-firmware

STEP4 以下のコマンドでzd1211関連のモジュールが正しくインストールされたのを確認します。ここでは、6行目に「zd1211rw 63158 0」と表示されています。

$ lsmod
Module                  Size  Used by
snd_bcm2835            22339  0
arc4                    1972  2
evdev                  11370  2
zd1211rw               63158  0
mac80211              623160  1 zd1211rw
cfg80211              501663  2 mac80211,zd1211rw
rfkill                 22491  2 cfg80211
snd_usb_audio         138972  0
snd_usbmidi_lib        22308  1 snd_usb_audio
snd_hwdep               6343  1 snd_usb_audio
snd_seq_midi            5114  0
snd_seq_midi_event      7847  1 snd_seq_midi
uio_pdrv_genirq         3690  0
uio                    10009  1 uio_pdrv_genirq
snd_rawmidi            23746  2 snd_usbmidi_lib,snd_seq_midi
snd_pcm                92573  2 snd_bcm2835,snd_usb_audio
snd_seq                62040  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device          5130  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              23456  2 snd_pcm,snd_seq
uvcvideo               78206  1
videobuf2_vmalloc       5840  1 uvcvideo
videobuf2_memops        2373  1 videobuf2_vmalloc
videobuf2_core         42654  1 uvcvideo
v4l2_common             6103  1 videobuf2_core
videodev              157685  4 uvcvideo,v4l2_common,videobuf2_core
snd                    68161  9 snd_bcm2835,snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_seq_device
media                  16168  2 uvcvideo,videodev
$

 

無線LANの設定

無線LANアクセスポイントへの接続

無事、OSレベルで無線LANアダプターを認識できたので、あとは普通に無線LAN設定を行います。

GUI環境で、デスクトップにある「Wifi Config」のアイコンをダブルクリックして、アプリケーションを起動します。アプリケーションを起動すると、設定を行う無線LANアダプタを選択するウィンドウが開くので “wlan0” を選びます。

RasPi_wificonfig01-20150924

次に、”Manage Networks” のタブを開き、”Scan”ボタンを押します。すると、無線LANアダプタが受信するアクセスポイントの一覧(SSID)が表示されるので、接続したいアクセスポイントを選んでダブルクリックします。

RasPi_wificonfig02-20150924

認証設定画面が表示されるので、認証方法やパスワードを設定して、”Add” ボタンを押します。

RasPi_wificonfig03-20150924

無線LANアクセスポイントでDHCPの設定がされていれば(基本的にDHCPでNW設定していると思います)、IPアドレスやDefault Gateway、DNSサーバーの設定などがされます。

無線LANアクセスポイントに接続できているか確認します。

$ iwconfig
wlan0 IEEE 802.11bg ESSID:"15BXXXXXXXXXXXXXXXXXXXXXXXXX"
 Mode:Managed Frequency:2.462 GHz Access Point: 00:XX:XX:XX:XX:XX
 Bit Rate=54 Mb/s Tx-Power=20 dBm
 Retry short limit:7 RTS thr:off Fragment thr:off
 Power Management:off
 Link Quality=38/100 Signal level=38/100
 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
 Tx excessive retries:3211 Invalid misc:20933 Missed beacon:0

lo no wireless extensions.
(後略)
$

ESSID が15Bで始まるアクセスポイントに接続できていることがわかりました。次にIPアドレスが設定されているかどうかを確認します。

$ ifconfig
eth0 Link encap:イーサネット ハードウェアアドレス b8:XX:XX:XX:XX:XX
 UP BROADCAST MULTICAST MTU:1500 メトリック:1
 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
 衝突(Collisions):0 TXキュー長:1000
 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)

lo Link encap:ローカルループバック
 inetアドレス:127.0.0.1 マスク:255.0.0.0
 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)

wlan0 Link encap:イーサネット ハードウェアアドレス 00:XX:XX:XX:XX:XX
 inetアドレス:192.168.XXX.XXX ブロードキャスト:192.168.XXX.XXX マスク:255.255.255.XXX
 UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
 RXパケット:1320927 エラー:0 損失:949 オーバラン:0 フレーム:0
 TXパケット:2773159 エラー:0 損失:0 オーバラン:0 キャリア:0
 衝突(Collisions):0 TXキュー長:1000
 RXバイト:81943032 (78.1 MiB) TXバイト:4094025019 (3.8 GiB)

$ ping www.google.com
PING www.google.com (173.194.126.208) 56(84) bytes of data.
64 bytes from nrt04s07-in-f16.1e100.net (173.194.126.208): icmp_req=2 ttl=56 time=5.29 ms
64 bytes from nrt04s07-in-f16.1e100.net (173.194.126.208): icmp_req=3 ttl=56 time=9.33 ms
$

ifconfig コマンドで、wlan0 で、IPアドレスが設定されていることがわかりました。ping コマンドで google.com につながるかも確認できました。というわけで、アダプタへのIPアドレスの設定にすすみます。

無線LANアダプタへの固定IPアドレスの設定

クライアント用途なら、上記までの設定で完了なのですがストリーミングサーバーがゴールなので、無線LANアダプタへの固定IPを割り振る必要があります。今回は、このサーバーにグローバルIPアドレスを割り当てて、インターネットから直接アクセスできるようにします。

手順 /etc/network/interfaces のファイルを編集します。


$ sudo vi /etc/network/interfaces

interfaces では、lo と eth0 (有線LAN)とwlan0(無線LAN)の設定を記述します。初期設定時は有線LANもDHCPだったのですが、 inet static と固定IPアドレス(プライベート)を割り当てています。これを参考に wlan0 も固定IPアドレス(グローバル)を割り当てます。address、 network、 netmask、broadcast、gateway、dns-servers を適切に設定してファイルを保存します。(dns-servers についてはGoogleのものをサンプルで記載していますが、それぞれのプロバイダーに合わせて変更してください)


auto lo

iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.XX.XX
network 192.168.XX.0
netmask 255.255.255.0
broadcast 192.168.XX.255
gateway 192.168.XX.1
dns-nameservers 192.168.XX.1

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
iface wlan0 inet static
address A.B.C.D
network XX.XX.XX.XX
netmask 255.255.255.XXX
broadcast XX.XX.XX.XX
gateway XX.XX.XX.XX
dns-nameservers 8.8.8.8

さて、これでためしにサーバーを再起動して、外部サーバーから A.B.C.D にpingが飛ぶか検証しましょう。

うまくいけば、ネットワーク設定の完了です。

Raspberry Pi でWebカメラ (3) 無線LANアダプタGW-US54GXSの接続と設定」への1件のフィードバック

  1. ピンバック: Raspberry Pi でWebカメラ (1) はじめに | ラット渡辺ブログ

コメントを残す