pepowlan

最初に

pepowlanとはPepoLinux-0.57以降に収録されている無線LANアダプタをWEPで簡易的に動作させるちょっとしたプログラムです。

PepoLinuxに収録されているプログラムを必要とするので単独では動作しませんが、無線LANアダプタを試験的に利用するプログラムに応用出来ると思います。

更新履歴

2012.3.20:ファーストリリース

  1. #!/bin/sh
  2. # licence GPLv2 ; this scripts was designed by IZAMUKARERA 2012.3.19 update 2012.3.20
  3. # pepowlan for daemon contorl Wireless Lan.
  4. # configure file /etc/wlan/wlan.conf
  5. PATH=$PATH:/usr/local/bin:/usr/local/sbin
  6. CONF=/etc/wlan/wlan.conf
  7. WORK=/var/tmp/pepowlan
  8. prog=pepowlan
  9. pidfile=/var/run/$prog.pid
  10. echo -en $$ >$pidfile
  11. WAIT=3000
  12. error () {
  13. [ -e $WORK ] && rm -f $WORK
  14. [ ! -z $WLAN_YES ] && ifconfig wlan0 down 2>&1
  15. exit 0
  16. }
  17. trap error SIGKILL SIGTERM SIGHUP SIGINT
  18. while true ;do
  19. iwconfig >$WORK 2>&1
  20. WLAN=`cat $WORK |grep wlan|wc -l`
  21. [ $WLAN != "0" ] && WLAN_YES="yes" || WLAN_YES="no"
  22. while [ $WLAN_YES = "yes" ];do
  23. iwconfig >$WORK 2>&1
  24. WLAN=`cat $WORK |grep wlan|grep off|wc -l`
  25. WLAN_BITRATE=`cat $WORK |grep "Bit Rate"|wc -l`
  26. if [ $WLAN != "0" ] || [ $WLAN_BITRATE = "0" ];then
  27. WLAN="down"
  28. else
  29. WLAN="up"
  30. if [ ! -z $GATEWAY ];then
  31. DEFAULT=`ip route |grep default|wc -l`
  32. [ $DEFAULT != "0" ] && ip route del default
  33. msleep $WAIT
  34. ip route add default via $GATEWAY >/dev/null 2>&1 || break
  35. fi
  36. fi
  37. if [ $WLAN = "down" ];then
  38. if [ ! -e $CONF ];then
  39. break
  40. else
  41. . $CONF
  42. msleep $WAIT
  43. [ ! -z $ESSID ] && iwconfig wlan0 essid $ESSID >/dev/null 2>&1 || break
  44. [ ! -z $ENCKEY ] && iwconfig wlan0 enc $ENCKEY >/dev/null 2>&1 || break
  45. msleep $WAIT
  46. if [ ! -z $IP ] && [ $IP = "dhcp" ];then
  47. killall dhclient >/dev/null 2>&1
  48. msleep $WAIT
  49. dhclient wlan0 >/dev/null 2>&1
  50. fi
  51. if [ ! -z $IP ] && [ $IP != "dhcp" ];then
  52. [ ! -z $IP ] && ifconfig wlan0 $IP up >/dev/null 2>&1 || break
  53. msleep $WAIT
  54. if [ ! -z $NAMESERVER ];then
  55. cat>/etc/resolv.conf<<END
  56. ; generated by /usr/local/bin/pepowlan script
  57. search localdomain
  58. nameserver $NAMESERVER
  59. END
  60. fi
  61. fi
  62. fi
  63. fi
  64. [ -e $WORK ] && rm -f $WORK
  65. msleep 10000
  66. done
  67. [ -e $WORK ] && rm -f $WORK
  68. msleep 10000
  69. done

設定ファイル

[root@ ]# cat /etc/wlan/wlan.conf 
# Wireless Lan configure file was designed by IZAMUKARERA pepolinux 2012.3.20
# set essid
ESSID="pepochan"
# wepkey set
ENCKEY="0123456"
# ip address set or dhcp
#IP="192.168.1.2/24"
IP="dhcp"
# set gateway
GATEWAY="192.168.1.1"
# set nameserver
NAMESERVER="192.168.1.1"