wpa_supplicant

wpa_supplicant 的简介:

wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicantwpa_cli两个程序。通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。

wpa_supplicant 的移植:

 

 

 

 

wpa_supplicant 的使用:

可执行程序wpa_supplicant、wpa_passphrase、wpa_cli拷贝到开发板文件系统 /usr/bin/ 目录下,使用chmod命令修改可执行权限

$ chmod 777 wpa_supplicant wpa_passphrase wpa_cli

 

输入 wpa_supplicant 回车可以看到说明

 

 

先生成配置文件:

$ wpa_passphrase MY_P30_PRO "12345678" >> /etc/wpa_supplicant.conf

testap为wifi热点,密码为12345,执行完上以命令后会在/etc/目录下生成wpa_supplicant.conf配置文件,内容如下:

network={
        ssid="MY_P30_PRO"
        #psk="12345678"
        psk=309ec71f7776232ae065527929cc760e659087771b25c87b05e5e3a2d9c964c1
}

 

修改为:

ctrl_interface=/var/run/wpa_supplicant
update_config
=1 network={ ssid="MY_P30_PRO" #psk="12345678" psk=309ec71f7776232ae065527929cc760e659087771b25c87b05e5e3a2d9c964c1 }

 

其中,update_config=1使能配置更改。

 

执行下面的命令,使用WEXT启动wpa_supplicant应用(配置文件有SSID和密码,会去自动连接)

$ wpa_supplicant -Dwext -ira0 -c/etc/wpa_supplicant.conf -B

 

 

启动wpa_cli应用

$ wpa_cli -i ra0 scan             // 搜索附近wifi网络
$ wpa_cli -i ra0 scan_result      // 打印搜索wifi网络结果
$ wpa_cli -i ra0 add_network      // 添加一个网络连接,返回的数字移除、配置的时候要用到,从0开始
$ wpa_cli -i ra0 remove_network 1 // 删除一个网络连接

如果要连接加密方式是[WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] (wpa加密),wifi名称是namewifi密码是:psk

$ wpa_cli -i ra0 set_network 0 ssid '"name"'
$ wpa_cli -i ra0 set_network 0 psk '"psk"'
$ wpa_cli -i ra0 enable_network 0                //执行完这句就会连接WIFI

如果要连接加密方式是[WEP][ESS] (wep加密),wifi名称是namewifi密码是psk

$ wpa_cli -i ra0 set_network 0 ssid '"name"'
$ wpa_cli -i ra0 set_network 0 key_mgmt NONE
$ wpa_cli -i ra0 set_network 0 wep_key0 '"psk"'
$ wpa_cli -i ra0 enable_network 0

如果要连接加密方式是[ESS] (无加密),wifi名称是name

$ wpa_cli -i ra0 set_network 0 ssid '"name"'
$ wpa_cli -i ra0 set_network 0 key_mgmt NONE
$ wpa_cli -i ra0 enable_network 0

分配ip/netmask/gateway/dns

$ udhcpc -i ra0 -s /etc/udhcpc.script -q

执行完毕,就可以连接网络了。

保存连接

$ wpa_cli -i ra0 save_config                 //会把配置的都保存在配置文件,不能指定保存哪个网络ID

断开连接

$ wpa_cli -i ra0 disable_network 0

连接已有的连接

$ wpa_cli -i ra0 list_network             列举所有配置的连接,不是配置文件的内容
$ wpa_cli -i ra0 select_network 0         连接第1个保存的连接
$ wpa_cli -i ra0 enable_network 0         使能第1个保存的连接

断开wifi

$ ifconfig wlan0 down
$ killall udhcpc
$ killall wpa_supplicant

wpa_wifi_tool使用方法

wpa_wifi_tool是基于wpa_supplicantwpa_cli的一个用于快速设置wifi的工具,方便调试时连接wifi使用。使用方法:1、运行wpa_wifi_tool;2、输入help进行命令查看;3、s进行SSID扫描;4、c[n]进行wifi连接,连接时若为新的SSID则需输入密码,若为已保存的SSID则可以使用保存过的密码或者重新输入密码;5、e退出工具。

 

posted @ 2020-09-17 19:30  流水灯  阅读(6)  评论(0)    收藏  举报