hostapd工具使用指南

hostapd自己常用,本次先写一篇源码交叉编译和基本使用方法的文档,待自己60大寿记忆退化的时候翻阅。
-----再牛逼的梦想,也抵不住傻逼般的坚持! ----20240105 16:42

1.源码下载
下载链接:https://w1.fi/releases/ 下载文件 hostapd-2.9.tar.gz
2.交叉编译:
ps:hostapd依赖libnl和openssl库,该两个库的交叉编译方法在另外一篇博文中获取 https://blog.csdn.net/Bgm_Nilbb/article/details/120724443

2.1.解压

tar -zxvf hostapd-2.9.tar.gz

2.2 交叉编译

cd hostapd;  make CC=arm-linux-gnueabihf-4.8.3-gcc

3.hostapd使用方法

hostapd test.conf &

4.常见问题:
问题1. 交叉编译时报错…/src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: No such file or directory
或报错…/src/crypto/tls_openssl.c:23:25:fatal error: openssl/ssl.h: No such file or directory
问题原因: 缺少libnl、openssl依赖,需要连接libnl,openssl编译产物及头文件
解决方法: 在hostapd/Makefile中添加头文件路径及库链接路径(路径需要根据自己实际情况修改

CFLAGS += -I/openssl-1.0.2r/_install/include
LIBS += -L/openssl-1.0.2r/_install/lib
CFLAGS += -I/libnl-3.5.0/_install/include/libnl3
LIBS += -L/libnl-3.5.0/_install/lib

问题2. 交叉编译报错

/opt/alpsx/alpsx-tools/v4.8.3/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lnl
collect2: error: ld returned 1 exit status

问题原因: 使用了高版本的libnl
解决方法: 在.config(隐藏文件)中增加CONFIG_LIBNL32=y选项

问题3. hostapd运行过程中提示缺少某些动态库
该问题日志丢失,大致讲解下处理方法,方法1,增加缺少的动态库,确实的动态库一般是libnl和openssl编译的产物,切记动态库复制到设备中时,若原本有软链接关系,需要将软链接关系一起复制过去。方法2,可在编译libnl、openssl库时增加静态编译规则如下(部分低版本hostapd不支持–enable-shared --enable-static选项)

./configure --host=$(GCC_HOST) --enable-shared --enable-static

或者将相关的动态库复制到工具链对应的目录中
问题4. 执行cd hostapd; make CC=arm-linux-gnueabihf-4.8.3-gcc出现如下报错

Building hostapd requires a confi
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸡蛋炒肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值