2014年01月28日

Wifi とLANで同じIPアドレスに

Raspberry Pi にWifi ドングルをつけたら、DHCPでIPアドレスがつくようになったが、LANの方はスタティックIPアドレスをつけていて、結局2つのIPアドレスを持つことになってしまう。WifiでもスタティックなIPアドレスをつけることも考えたが、ボンディングをつかって2つのネットワークインターフェイスに同じIPアドレスをつけてどちらかが使えるようにすることにする。
これにはbonding の mode 0 (balance-rr) の設定をする。このmode 0 では ラウンドロビンで最初の有効なネットワークインターフェイスから始まって、次に有効なものにパケットが転送されるので、LAN, Wifi の順で有効なものが先に使われるようになる。
で、設定だが、 Raspberry Pi の Rabedian の /etc/network/interfaces を以下のように設定。
auto lo

iface lo inet loopback

iface eth0 inet manual
bond-master bond0

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0
bond-give-a-chance 10

auto bond0
iface bond0 inet static
address 192.168.0.6
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 192.168.0.1
bond-mode 0
bond-miimon 100

---
この設定で、ターミナルから
$ ls -lR /
などで ls の結果を垂れ流しながら、 LAN のケーブルを抜くと表示が止まり、数秒で Wifi に切り替わって表示が継続される。また、さらに LANケーブルを差すとまた数秒で Wifi から LAN に切り替わるのが分かる(これは Wifi ドングルのLEDが消えるのでわかる)


posted by tshibata at 22:17| Comment(0) | TrackBack(0) | Raspberry Pi

2014年01月25日

Wifi ドングル GW-USEoo300 を Raspberry Pi で使う

Raspberry Pi に Wifi ドングルをつなげることにしたが、手持ちの Planex の GW-USEoo300 がデフォルトでは使えなかったので以下にメモ。
このUSBドングルを別のLinux マシンに指して調べてみたらカーネルモジュールは 8192cu をロードすればよいことがわかっている。

まずRaspberry Pi の認識状況をチェック

pi@raspberrypi ~ $ 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 2019:ab2b PLANEX

Bus1 のデバイス4として認識されている。

pi@raspberrypi ~ $ lsmod
Module                  Size  Used by
snd_bcm2835            16165  0
snd_soc_bcm2708_i2s     5474  0
regmap_mmio             2806  1 snd_soc_bcm2708_i2s
snd_soc_core          131268  1 snd_soc_bcm2708_i2s
regmap_spi              1897  1 snd_soc_core
snd_pcm                81593  2 snd_bcm2835,snd_soc_core
snd_page_alloc          5156  1 snd_pcm
regmap_i2c              1645  1 snd_soc_core
snd_compress            8076  1 snd_soc_core
8192cu                550816  0

8192cu がロードされているのを確認。
ちなみにこのOSは wheezy 2014-01-07 を使っている

iwconfig でも一応認識。 /etc/network/interface はデフォルト

pi@raspberrypi ~ $ iwconfig
wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.427 GHz  Access Point: Not-Associated  
          Sensitivity:0/0 
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          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.

wlan0 はこれだと自動的に立ち上がるはずだが.. といろいろ調べたみたら、
パワーマネージメントについて調整すると動いたとのことで
8192cu のパラメータを追加する。ドライバのコンフィグレーションに
2つのパラメータを追加する。

pi@raspberrypi /etc/modprobe.d $ cat 8192cu.conf
#disable power solving
options 8192cu rtw_power_mgmt=0 rtw_ips_mode=1

あとは sudo reboot で確認する。

再起動後に

dmesg で確認すると、
[    3.229623] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    3.361895] usb 1-1.3: New USB device found, idVendor=2019, idProduct=ab2b
[    3.370667] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.379682] usb 1-1.3: Product: GW-USEco300
[    3.385446] usb 1-1.3: Manufacturer: Planex Communications Inc.
[    3.393007] usb 1-1.3: SerialNumber: .....

となった。
また ifconfig で IPアドレスが確認できる。

実際には、 USEoo300 の LEDも点滅して動作していることも分かる。

これで LAN と wifi の両方がつながるようになった。




posted by tshibata at 08:26| Comment(332) | TrackBack(0) | Linux