GuruPlugPlus」タグアーカイブ

GuruPlugPlusのwlan0モード設定をifupdownに集約してみた

プラグPCのひとつ、GuruPlugPlusのwlan0モード設定元の設定は、rc.localから/root/init_setup.shを呼んで一旦apモードにして、同じくrc.localの次の行に/root/wlan.shを呼んでwlanモードにするようになっている。
設定がいろいろなところに飛んでいるのは分かりにくいと感じたので、今回、/etc/network/interfacesに集中させてみました。

(環境、ネットワーク構成)

カーネルの版数等は

  • Linux guru 2.6.33.2-00003-g4b82fc0 #1 PREEMPT Thu Apr 22 03:29:35 PDT 2010 armv5tel GNU/Linux
  • Debian Lenny

GuruPlugPlus周りのネットワーク構成は、

  • BBルータのIPアドレス:192.168.1.1
  • GuruPlugPlusのeth0経由でつながるsubnet:192.168.0.0/24
  • GuruPlugPlusのeth1経由につながるsubnet:192.168.10.0/24
  • GuruPlugPlusのwlan経由につながるsubnet:192.168.1.0/24。BBルータを介してWANへ

のようになっています

(手順等)

[/etc/network/interfaces]

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 1000 duplex full
# pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 100 duplex full
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
dns-nameservers 192.168.1.1
auto eth1
iface eth1 inet static
# pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 1000 duplex full
pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 100 duplex full
address 192.168.10.1
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
dns-nameservers 192.168.1.1
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
pre-up /root/wlan.sh
pre-up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
address 192.168.1.17
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-driver wext
wpa-ssid your_ssid
wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
dns-nameservers 192.168.1.1

[注意] MASQUERADE設定は不要かも知れない(BBルータの方でやっているから?)
と思っていろいろやってみました。これがないとインタネットにpingが通らなくなります
[注意] wpaに関する設定はこれだけ。wpa_supplicantも陽には起動していないようです。
ifupdownが「wpa」のキーワードを認識してwpa_supplicantを適当な引数で
起動してくれるようですね

[/root/wlan.sh]

#!/bin/sh
# The firmware files are -> sd8688.bin & sd8688_helper.bin
# The firmware files need to be present in /lib/firmware/
rmmod libertas_sdio libertas
cp /root/firmware/sd8688* /lib/firmware/
#/etc/init.d/udhcpd stop
#/etc/init.d/dnsmasq stop
echo 2 > /proc/uap/uap0/hwstatus
ifconfig uap0 down
rmmod uap8xxx
modprobe libertas_sdio
# This will be deleted on bootup.
# Bootup by-default is always AP mode.
touch /etc/wlanclient.mode
# Delete the firmware immediately so that next bootup is in AP mode.
rm -f /lib/firmware/sd8688*
# The newly created interface will be wlan(n)
# The following command lists all the available wireless networks
# iwlist scanning
# To connect to a particular SSID
# iwconfig
#Set leds for client mode
echo 0 > `eval ls /sys/class/leds/guruplug\:green\:wmode/brightness`
echo 1 > `eval ls /sys/class/leds/guruplug\:red\:wmode/brightness`

なんか不要な設定がいっぱいありそう。

[/etc/sysctl.conf]

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
net.ipv4.ip_forward=1

init_setup.shはLEDの設定だけになっています。

これで普通(WPA2で暗号化して)に無線LANモードが動くようになりました。

関連記事

GuruPlugPlusのwlan0モード設定をifupdownに集約してみた
SheevaPlug, GuruPlugPlusの電源回路を取り寄せてみた
GuruPlugの熱暴走対策と無線アクセスポイントの暗号化

お世話になったリンク

WPAで無線LAN on Debian sid-unstable – Let’s start something new!
お試しネットワーク環境を作る – いますぐ実践! Linuxシステム管理 – Vol.065
HP2133日記 wpa_supplicantの設定
iptables tutorial 1.2.2 – ステート機構

以上です