关于hostapd 2.7版本的移植问题

  • libnl库
  • openssl库
  • hostapd 编译

事情起因,客户奇葩要求wifi热点只能连一个用户,hostap.conf添加参数max_num_sta=1可以达到要求,但是有新的问题:ios系统本限制之后连接会提示密码错误,wifi模块供应商说的hostapd的bug。hostapd2.7版本没问题。国科8602原厂公版的hostapd版本是2.5,没办法升版本呗!
以下记录本次移植遇到的问题
hostapd 关联libnl 和 openssl 库
注意几个问题:
1 关联库需要和hostapd版本对应,版本低了会导致各种问题,徒增自己的麻烦
2 一般建议用动态库,静态库所占空间太大
3 如果可以找到官网的话,一般会有介绍怎么编译

libnl库

下载好之后,解压,进入文件夹
configure默认编译出来的是静态库,所以要加参数如下
./configure --prefix=KaTeX parse error: Expected group after '_' at position 7: (pwd)/_̲_install --enab…(pwd)/__install --enable-shared --enable-static LD=arm-goke-linux-gnueabi-ld --host=arm-goke-linux-gnueabi
make make install ok了

libnl 一开始用的是3.0版本,编译hostapd的时候,用libnl的静态库没问题,用动态库时会提示

提示找不到lnl lnl-3 lnl-genl-3 即是少libnl,libnl-3,libnl-genl-3库。
一开始以为是交叉编译器的问题,吭哧吭哧更新编译器之后libnl不提示了,后面两个还是不行。蛋疼之后转眼一想是不是libnl库太低的原因。更新到libnl-3.4.0的时候解决。

openssl库

版本openssl-1.1.1

下载解压之后,三部走
默认是静态库,要加参数如下
./config shared --prefix=/home/share/libnl/openssl-1.1.1/__install --openssldir=/home/share/libnl/openssl-1.1.1/__install/ssl
prefix 是安装目录,openssldir 是配置文件目录,shared 作用是生成动态连接库
配置好之后,make,make install没什么问题

hostapd 编译

cp defconfig .config 负责默认的配置
修改makefile 在前面把编译器,需要的头文件和库路径加上
CC=arm-goke-linux-gnueabi-gcc
CFLAGS += -I …/…/libnl-3.4.0/__install/include
LIBS += -L …/…/libnl-3.4.0/__install/lib -lnl
CFLAGS += -I …/…/openssl-1.1.1/out/include
LIBS += -L …/…/openssl-1.1.1/out/lib -lcrypto -lssl
BINDIR := ./out/bin

make 生成hostapd之后,再用strip压缩一下 arm-goke-linux-gnueabi-strip hostapd

结果没屌用,苹果系统的问题 ~~

关于hostapd 2.7版本的移植问题相关推荐

  1. 基于MT6752/32平台 Android L版本驱动移植步骤

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...

  2. cocos2d-x入门学习(五)跨版本代码移植实例之【梦幻连连看】

    <梦幻连连看>源代码来自原作者kuloveyouwei,他的版本是cocos2d-x 2.1.2, 他在博客中详细解读了源代码,其博客地址http://  blog.csdn.net/ku ...

  3. 最新版本mplayer移植pxa270成功

    最新版本mplayer移植pxa270成功 1.下载新版本的mplayer,方法可以参见其他版本的README cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/c ...

  4. 最新版本mplayer移植pxa270成功!

    最新版本mplayer移植pxa270成功 1.下载新版本的mplayer,方法可以参见其他版本的README svn checkout svn://svn.mplayerhq.hu/mplayer/ ...

  5. 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...

  6. MT6752/32平台 Android L版本驱动移植

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...

  7. 基于MT6572/32平台 Android 版本驱动移植日志

    根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构将会全面转向Turnkey AOSP架构.本博文将会大致描述下如 ...

  8. 从h264码流中获取图像的宽高---版本1 (移植于ffmpeg)

    在工程中,我们常常需要知道视频流的宽高,虽然可以借助一些开源库,但是仅为了获取宽高,却需要调用几十或是几百K的开源库,不太划算.因此,本文从开源库中移植了解析264码流宽高的代码,具体如下: ##1 ...

  9. MQTT协议版本Mosquitto移植到嵌入式arm平台

    文章目录 前言 一.mosquitto是什么? 二.交叉编译 1.交叉编译openssl源码 2.交叉编译e2fsprogs源码 3.交叉编译c-ares源码 4.交叉编译uuid源码 5.交叉编译m ...

最新文章

  1. Java8新特性系列(Lambda)
  2. ListT 排序学习
  3. yaml数组解析_yaml格式详解
  4. ubuntu系统靠谱的清理内存的方法(can not allocate memory 问题)
  5. python全栈开发_day52_html模板继承和静态配置
  6. 猎户星空否认停发高管薪资:无论遭遇怎样困难 都不会苛扣员工薪酬
  7. Spring框架----基于子类的动态代理
  8. 玩玩Linux云主机-安装MySQL ,The server quit without updating PID file,Linux chown 权限管理
  9. 14-Shiro-单点登录原理
  10. Linux技术简历项目经验示例(二)
  11. 蚂蚁金服前端实习生二面面经
  12. linux模拟系统宕机,Linux系统宕机的处理方法
  13. 个人博客和微信公众号
  14. 【c++】cout.setf(left)、cout.setf(right)详解
  15. 蚂蚁区块链BaaS平台架构与实践
  16. Office 2016 Excel实现下拉栏
  17. PyTorch实现AlexNet模型及参数详解
  18. 常见html的MIME类型
  19. ξσ Dicky's GuestBook σξ
  20. 如何理解BRD、MRD、PRD这些名词

热门文章

  1. eNSP不同网段主机互联-static
  2. hibernate-validate如何校验controller+service+分组校验+自定义注解实现校验规则等
  3. 框架 - SpringMVC框架
  4. 干货 | 区块链项目估值的逻辑和误区
  5. c语言密码锁程序,简易密码锁(C语言程序).doc
  6. 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
  7. 超详细的Mysql安装教程
  8. 在大厂,我和同事搞对象(别人的故事总是这么香)
  9. iVMS-4200 Vs区别_68790红单足球预测 法甲 21:00 安格斯 VS 梅斯
  10. 亚马逊云机器人平台RoboMaker新功能WorldForge使用测试