wpa_supplicant移植与使用

本文介绍了如何将wpa_supplicant-0.7.3和openssl-0.9.8e移植到嵌入式系统中。首先,对两个软件进行解压并应用patch,接着配置openssl的Makefile以适应交叉编译,然后编译并安装openssl。再编译wpa_supplicant,修改.config文件,并添加必要的编译选项。最后,详细展示了wpa_supplicant的配置文件示例及如何启动和使用wpa_supplicant连接Wi-Fi网络。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载wpa_supplicant最新版和openssl(编译wpa_supplicant需要openssl的库)

我这里使用的是wpa_supplicant-0.7.3.tar.gz和openssl-0.9.8e.tar.gz。

分别解压wpa_supplicant-0.7.3.tar.gz和openssl-0.9.8e.tar.gz,把wpa_supplicant-0.7.3里面的patches文件夹下的openssl-0.9.8e-tls-extensions.patch文件拷贝到openssl-0.9.8e目录下,运行:

pathc–p1<openssl-0.9.8e-tls-extensions.patch

然后建立openssl的安装目录,建议安装在openssl-0.9.8e目录下,因为生成的库等只在交叉编译wpa_supplicant时使用,这样可以保持系统干净。

进入openssl-0.9.8e目录修改Makefile,修改如下:

CC=arm-linux-uclibcgnueabi-gcc
AR=arm-linux-uclibcgnueabi-ar$(ARFLAGS) r

RANLIB=arm-linux-uclibcgnueabi-ranlib
INSTALLTOP=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错
OPENSSLDIR=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错

然后,执行make&&make install。

编译wpa_supplicant:

首先建立配置文件:

cp defconfig .config

然后修改.config,增加以下内容:

CC=arm-linux-uclibcgnueabi-gcc-L/home/gu/ssl/lib 

CFLAGS+=-I openssl安装目录/include

LIBS+=-Lopenssl安装目录/lib

make;

最后,生成所需要的可执行程序。


wpa_supplicant的使用主要是配置wpa_supplicant.conf,以下是一个配置文件的例子:

#可有可无,没有的话无法用wpa_cli terminate来关闭wpa_supplicant

ctrl_interface=/var/run/wpa_supplicant

# 确保只有root用户能读取WPA的配置,可有可无,尤其是在嵌入式设备上

ctrl_interface_group=0

# 使用wpa_supplicant来扫描和选择AP,也可以设置成0或2,但只有1才能正确工作

ap_scan=1

network={
#AP的名字
    ssid="my_network"
#AP的key
    psk="my_key"
}
配置文件弄好后就可以运行wpa_supplicant了:

 wpa_supplicant–B –iwlan0 –c /etc/tkip.conf 

后台运行wpa_supplicant(自动打开wifi模块wlan0,自动搜索AP并连接),参数-B为后台运行,-iwifi设备,-c指定wpa_supplicant配置文件

 wlan0自动获取IP:

udhcpc–i wlan0

 接下来就可以看下网络是否连通了:

iwconfig
udhcpc -i wlan0 -n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值