博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wpa_supplicant控制脚本
阅读量:4058 次
发布时间:2019-05-25

本文共 1779 字,大约阅读时间需要 5 分钟。

#!/bin/bash
#this script is used to control wpa_supplicant daemon server.
#for EAVCapture iMX6 project.
#by zhangshaoyan at May 26,2015.
WPABIN=wpa_supplicant
WIRELESSNAME=wlp5s0 #wlan0
CONFILE=zwpa.conf
PIDFILE=/var/run/zwpa.pid
DHCLIENT=dhclient
#usage:
#zwpactl.sh initial:install driver.
#zwpactl.sh start: start wpa_supplicant.
#zwpactl.sh stop: stop wpa_supplicant.
function usage()
{
        echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
        echo "Usage:$0 <commands>."
        echo "supported commands:"
        echo "initial: install WiFi driver module."
        echo "start: start wpa_supplicant daemon server."
        echo "stop: stop wpa_supplicant."
        echo "by 13522296239"
        echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
}
#generate .conf file.
#here is bug exist,do not keep space or Tab before EOF.
function generateConfFile()
{
cat<<EOF >zwpa.conf
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="$1"
        psk="$2"
}
EOF
}
#at least need 1 parameter.
if [ $# -lt 1 ];then
        usage
        exit -1
fi
if [ $1 = "initial" ];then
        #insmod wifi driver.
        #this should be done at the OS starts before GUI starts.
        insmod rtl8188.ko
elif [ $1 = "start" ];then
        if [ $# -lt 3 ];then
                echo "ZSY:need ssid and psk"
                exit -1
        fi
        #dump out a config file.
        generateConfFile $2 $3
        #start the daemon server.
        ${WPABIN} -i${WIRELESSNAME} -c${CONFILE} -P${PIDFILE} -B
        if [ $? -eq 0 ];then
                echo "ZSY:start success"
                #start dhcp client.
                ${DHCLIENT} -v ${WIRELESSNAME}
                if [ $? -ne 0 ];then
                        echo "ZSY:dhclient fails"
                        exit -1
                fi
        else
                echo "ZSY:start failed!"
                exit -1
        fi
elif [ $1 = "stop" ];then
        if [ -x $PIDFILE ];then
                kill `cat $PIDFILE`
                rm -rf $PIDFILE
        fi
        rm -rf ${CONFILE}
else
        echo "ZSY:Unknown command"
        exit -1
fi
#success here.
echo "ZSY:wpa ctrl ends with success"
exit 0
#the end of file by zhangshaoyan.
beijing:/home/shell.albert/imx6/EAVCaptureX86/bin #

转载地址:http://pczji.baihongyu.com/

你可能感兴趣的文章
标记一下
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>