admin管理员组文章数量:1570799
使用wpa_supplicant工具配置和连接WIFI
实验版本及下载地址
wpa_supplicant:wpa_supplicant-2.7
链接: [http://w1.fi/wpa_supplicant/]
安装依赖库openssl
配置编译选项./config shared no-asm --prefix=$PWD/tmp
./config表示根据后面的编译选项生成一Makefile文件,“shared”表示生成共享库;“no-asm”表示去掉汇编部分;“–prefix=”后面跟着生成的项目所存放的路径。
其他配置选项可以输入./Configure --help查看
修改Makefile
减号表示原来的代码,加号表示修改后的代码
- CROSS_COMPILE=
+ CROSS_COMPILE=arm-linux-
- CNF_CFLAGS=-pthread -m64
- CNF_CXXFLAGS=-std=c++11 -pthread -m64
+ CNF_CFLAGS=-pthread
+ CNF_CXXFLAGS=-std=c++11 -pthread
编译安装
执行make编译和make install安装指令
最后在当前目录的tmp目录下会生成项目文件
复制库文件到跟文件系统lib目录下cp *so* -rf -d ~/work/nfs/wifi/lib/
要根据自己的具体情况复制库文件到对应的目录下
编译安装wpa_supplicant
创建一个.config文件
解压后,cd wpa_supplicant-2.0/wpa_supplicant/进入wpa_supplicant根文件
复制默认配置为.configcp defconfig .config
修改.config文件
减号表示原来的代码,加号表示修改后的代码
# Additional directories for cross-compilation on Linux host for mingw target
- #CFLAGS += -I/opt/mingw/mingw32/include/ddk
- #LIBS += -L/opt/mingw/mingw32/lib
- #CC=mingw32-gcc
# Additional directories for cross-compilation on Linux host for mingw target
+ CFLAGS += -I/home/zyl/work/project/wifi/openssl-1.1.1b/tmp/include
+ LIBS += -L/home/zyl/work/project/wifi/openssl-1.1.1b/tmp/lib
+ CC=arm-linux-gcc
CFLAGS后面填上一步安装好的openssl的include目录
LIBS后面填上一步安装好的openssl的lib目录
CC表示编译工具
3.编译安装
编译make
安装make DESTDIR=$PWD/tmp install
在后面加上DESTDIR=$PWD/tmp编译项表示安装到当前文件夹下的tmp目录
然后我们可以在子目录下看到wpa_cli,wpa_passphrase和wpa_supplicant三个文件
wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系
wpa_cli用来搜索、设置、和连接网络。
wpa_passphrase网络配置可以使用wpa_passphrase工具自动生成并添加到配置文件中。
把这三个文件复制到开发板的根文件/bin目录下就可以使用了
使用wpa_supplicant工具连接WIFI
创建配置文件
wpa_supplicant连接WIFI的时候会从配置文件中读取账号和密码,以及加密方式等, 所以我们再运行wpa_supplicant工具的时候要提前写好配置文件。
配置文件名称自定,但是要以 .conf 为后缀,并保存在 /etc/ 目录下,这边给出一个配置文件的例子。
ctrl_interface=/var/run/wpa_supplicant # 一个目录,用于wpa_supplicant和wpa_cli的socket通信
network={
ssid="dswei"#WIFI名称
proto=WPA # proto: list of accepted protocols, 可取WPA,RSN
# 如果没有设置,默认为: WPA RSN
key_mgmt=WPA-PSK # 认证方式
# 如果没有设置,默认为: WPA-PSK WPA-EAP
pairwise=TKIP # 如果没有设置,默认为: CCMP TKIP
group=TKIP # 如果没有设置,默认为: CCMP TKIP WEP104 WEP40
psk="a123654" # WIFI密码
}
在一般使用中我们只要设置ssid和psk,其他全部使用默认的,就可以连接上WIFI。
创建一个socket通信的目录mkdir -p /var/run/wpa_supplicant
测试和连接WIFIwpa_supplicant -B -c/etc/plaintext.conf -iwlan0
-B为后台运行,-c为配置文件目录,plaintext.conf为配置文件的名称,根据实际情况填写。其他配置选项可以看wpa_supplicant-2.7/wpa_supplicant/README,然后我们就可以看到开发板和手机连接上了。
用wpa_cli -iwlan0 status可以查看网络连接状态
版权声明:本文标题:linux连接wpa wifi密码,Linux环境下使用WIFI模块:使用wpa_supplicant工具配置和连接WIFI-Go语言中文社区... 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727678616a1125221.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论