wifi连接
2008-07-10 14:03
#!/bin/sh
echo "this is wifi_connect para number is $#" echo "the first para is $1" if [ $1 == "off" ];then killall -9 wpa_supplicant 2>/dev/null exit; fi if [ $# -lt 3 ];then echo "Usage:$0 interface essid enc" exit; fi interface=$1 ssid=$2; enc=$3 passwd=$4 echo "the ssid is $ssid,the passwd is $passwd,the enc is $enc" if [ ${enc} == "OPEN" ];then echo -e "network={ ssid=/"$ssid/" key_mgmt=NONE }" >/etc/wpa.conf sync; elif [ ${enc} == "WEP" ];then echo -e "network={ ssid=/"$ssid/" key_mgmt=NONE wep_key0=$passwd wep_key1=$passwd wep_key2=$passwd wep_key3=$passwd wep_tx_keyidx=0 1 2 3 }" >/etc/wpa.conf sync; elif [ ${enc} == "WEP_ASCII" ];then echo -e "network={ ssid=/"$ssid/" key_mgmt=NONE wep_key0=/"$passwd/" wep_key1=/"$passwd/" wep_key2=/"$passwd/" wep_key3=/"$passwd/" wep_tx_keyidx=0 1 2 3 }" >/etc/wpa.conf sync; elif [ ${enc} == "WEP_HEX" ];then echo -e "network={ ssid=/"$ssid/" key_mgmt=NONE wep_key0=$passwd wep_key1=$passwd wep_key2=$passwd wep_key3=$passwd wep_tx_keyidx=0 1 2 3 }" >/etc/wpa.conf sync; elif [ ${enc} == "WPA_PSK" ];then echo -e "network={ ssid=/"$ssid/" proto=WPA key_mgmt=WPA-PSK psk=/"$passwd/" }" >/etc/wpa.conf sync; elif [ ${enc} == "WPA2_PSK" ];then echo -e "network={ ssid=/"$ssid/" proto=WPA2 key_mgmt=WPA-PSK psk=/"$passwd/" }" >/etc/wpa.conf sync; elif [ ${enc} == "WPA_WPA2_PSK" ];then echo -e "network={ ssid=/"$ssid/" proto=WPA key_mgmt=WPA-PSK psk=/"$passwd/" }" >/etc/wpa.conf sync; elif [ ${enc} == "WPA_EAP" ];then echo "this is WPA_EAP case" fi ps >/tmp/wifi_connect.log nums=`cat /tmp/wifi_connect.log|grep -c "wpa_supplicant"` echo "the nums is $nums" if [ $nums -lt 1 ];then echo "below is to invoke wpa_supplicant" # wpa_supplicant -w -Dwext -c /etc/wpa.conf -i $interface -B wpa_supplicant -w -Dwext -c /etc/wpa.conf -i $interface & else echo "here send a signal to wpa_supplicant" killall -SIGHUP wpa_supplicant fi 这个脚本是用来实现wifi的自动连接的,根据不同的加密方式提供不同的脚本,并最后调用wpa_supplicant来实现自动连接,当然连上后还有一些工作要做,内容如下: #!/bin/sh echo "this is set_ip" if [ $# -lt 1 ];then echo "Usage $0 interface" exit fi ps -ef >/tmp/ps.log num=`cat /tmp/ps.log |grep -c hci_av2mp3_demo` if [ $num -lt 1 ];then if [ -e /wf/songlixin/test_case/hci_av2mp3_demo ];then /wf/songlixin/test_case/hci_av2mp3_demo & elif [ -e /songlixin/hci_av2mp3_demo ];then /songlixin/hci_av2mp3_demo & elif [ -e /usr/bin/hci_av2mp3_demo ];then /usr/bin/hci_av2mp3_demo & fi fi /sbin/udhcpc -q -i $1 #below is to start bluetooth iwpriv $1 reasso-on iwpriv $1 hssetpara 0x2 0xff 0xa0 iwpriv $1 tpccfg 0x01 0x00 0x05 0x0a 0x0d iwconfig $1 power unicast iwconfig $1 power on |