hostapd的功能就是作为AP的认证服务器,其将无线网卡切换为master模式,模拟AP的功能,负责控制管理stations的接入和认证;
通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个不加密的WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,如果响应探针请求等等。
编译hostapd-2.7需要许多静态库和动态库(如下图),这就是为什么要编译libnl-3.2.25和openssl的原因。
1、交叉编译llibnl-3.2.25
-
./configure --host=arm-buildroot-linux-uclibcgnueabihf --enable-shared LIBS=-lpthread --prefix=$(pwd)/__install
-
make
-
make instal
2、交叉编译openssl库
1、makefile中修改改成CC=arm-buildroot-linux-uclibcgnueabihf-gcc
2、makefile中去掉-m64
3、必须要有-fPIC否则报错
./config --prefix=$PWD/__install no-asm shared -fPIC
make
3、hostapd-2.7编译
1、把上面编译的库放在lib文件
2、hostapd-2.7/hostapd目录下修改Makefile
3、export PKG_CONFIG_PATH=~/work/AP/libnl-3.2.25/tmp/lib/pkgconfig/libnl-3.0.pc/:$PKG_CONFIG_PATH
4、make all