关于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. 001_推箱子-绘制图片
  2. Java 洛谷 P1151 子数整数
  3. [视频教程] docker端口映射与目录共享运行PHP
  4. 复杂链表的复制(递归的两种实现方式)
  5. 告别DNS劫持,一文读懂DoH
  6. jQuery length 和 size()区别
  7. 调用百度 Echarts 显示重庆市地图
  8. 《中国企业报》:SNS网站稳步发展进军海外
  9. 卢克沃顿对于湖人作用
  10. Windows 8 Directx 开发学习笔记(十三)利用模板实现木箱镜像
  11. 英语之形容词和副词规则
  12. runtime error错误
  13. ecli中@Data标签getset不起作用
  14. 第十八章 ESP32的WebSocket服务器
  15. arm体系结构总结笔5-总线接口
  16. mysql主从配置duxi_做Mysql主从时,注意使用replicate_wild_do_table和replicate-wild-ignore-table...
  17. 信捷plc的pid控制_基于信捷plc的pid参数自整定的温度控制
  18. HTTP协议——请求格式及方法
  19. Linux---systemctl命令
  20. python 图片打水印 透明图片合并

热门文章

  1. mezzanine timezone 的问题
  2. 学生成绩管理系统(C语言)(链表)
  3. 获取股票数据【使用JQData查询行情数据、财务指标、估值指标】
  4. 20行Python代码爬取网站美女图,哇太多了,我U盘装满了
  5. Revit二次开发——设备自动接管插件的开发思路(入门实例教程)
  6. 计算机和人脑在线阅读,人脑与电脑
  7. python-PIL生成棋盘纹理图片
  8. 微信小程序开发之——用户登录-搭建开发者服务器(2)
  9. 小数在计算机中的存储形式
  10. python动力学建模与仿真_发动机悬置python仿真计算