君正T31编译wpa_supplicant-2.9

JZ_hacker 2020-04-23 20:06:57 4041

wpa_supplicant-2.9

下载地址:
https://w1.fi/wpa_supplicant/

wpa_supplicant-2.9 支持的新特性 802.11i
支持的WPA / IEEE 802.11i功能:
-WPA-PSK(“ WPA-个人”)
-使用EAP的WPA(例如,使用RADIUS身份验证服务器)(“ WPA-Enterprise”)
  集成的IEEE 802.1X支持以下身份验证方法
  请求者:
   EAP-TLS
  
EAP-PEAP / MSCHAPv2(PEAPv0和PEAPv1)
   EAP-PEAP / TLS(PEAPv0和PEAPv1)
  
EAP-PEAP / GTC(PEAPv0和PEAPv1)
   EAP-PEAP / OTP(PEAPv0和PEAPv1)
  
EAP-PEAP / MD5-挑战(PEAPv0和PEAPv1)
   EAP-TTLS / EAP-MD5-挑战
  
EAP-TTLS / EAP-GTC
   EAP-TTLS / EAP-OTP
  
EAP-TTLS / EAP-MSCHAPv2
   EAP-TTLS / EAP-TLS
  
EAP-TTLS / MSCHAPv2
   EAP-TTLS / MSCHAP
  
EAP-TTLS / PAP
   EAP-TTLS / CHAP
  
EAP卡
   EAP-AKA
  
EAP-AKA'
   EAP-PSK
  
EAP-PAX
   EAP-清酒
  
EAP-IKEv2
   EAP-GPSK
  
EAP-密码
   LEAP(注意:需要驱动程序对IEEE 802.11的特殊支持
          验证)
  (支持以下方法,但由于它们不会生成键控
   材料,它们不能与WPA或IEEE 802.1X WEP密钥一起使用)
  
EAP-MD5-挑战
   EAP-MSCHAPv2
  
EAP-GTC
   EAP-OTP
-CCMP,TKIP,WEP104,WEP40的密钥管理
-RSN / WPA2(IEEE 802.11i)
  
预认证
  * PMKSA缓存

支持的TLS /密码库:
-OpenSSL(默认)
-GnuTLS

内部TLS /加密实施(可选):
-可以代替外部TLS /密码库使用
-TLSv1
-X.509证书处理
-PKCS#1
-ASN.1
-RSA
-bignum
-最小尺寸(大约50 kB二进制文件,WPA已经需要其中的一部分;
  TLSv1 / X.509 / ASN.1 / RSA / bignum部件在x86上约为25 kB)

什么是802.11i
  • 802白皮书的链接,有兴趣的同学可以翻翻
    http://ieee802.org/16/liaison/docs/80211-05_0123r1.pdf

    IEEE 802.11i-2004或简称802.11i是对原始IEEE 802.11的修正,实现为Wi-Fi保护访问II(WPA2)。 该标准草案于2004年6月24日获得批准。该标准规定了无线网络的安全性机制,并用“安全性”条款代替了原始标准的“身份验证”简短条款。 修正了WEP的不安全性。

wpa_supplicant-2.9
最低要求linux环境:
Linux kernel 2.4.x or 2.6.x with Linux Wireless Extensions v15 or newer

其中wpa_supplicant 对 openssl 和 libnl 有版本要求。

未完待续!

下载openssl
step1:
./config --prefix=/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.9/openssl.install os/compiler:/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/toolchain/mips-gcc472-glibc216-64bit/bin/mips-linux-gnu-gcc

step2:
make

setp3:
make install

注意:这样编译不会生成动态库,所以编译wpa_supplicant的时候就要采用静态编译,或者在./config的时候添加shared 字段

编译
libnl:https://www.infradead.org/~tgr/libnl/files/libnl-1.1.4.tar.gz

./configure --prefix=/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.9/libnl.install --host= mips-linux-gnu

打开Makefile.opts
vi Makefile.opts

CC               := /home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/toolchain/mips-gcc472-glibc216-64bit/bin/mips-linux-gnu-gcc
CFLAGS           := -g -O2
LDFLAGS          :=
CPPFLAGS         :=
PACKAGE_NAME     := libnl
PACKAGE_VERSION  := 1.1.4

LIBNL_LIB        := -lm -lpthread

prefix           := /home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.9/libnl.install
exec_prefix      := ${prefix}
libdir           := ${exec_prefix}/lib
includedir       := ${prefix}/include
mandir           := ${prefix}/share/man
sysconfdir       := ${prefix}/etc

AR               := ar
RM               := rm
LN               := ln

DEPFLAGS         += -M -I../include/ -I. $(CPPFLAGS)
CFLAGS           += -g -I./include -I../include -I. $(CPPFLAGS) -D_GNU_SOURCE
MAKEFLAGS        += --no-print-directory

ifeq ($(CC),gcc)
CFLAGS           += -Wall -ggdb
endif

修改成上面路径

step2:
make
make install

在配置wpa_supplicant时注意的几点:

注意点一:
将动态连接库放进rootfs:

readelf -d wpa_supplicant

Dynamic section at offset 0x19c contains 32 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libnl.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x40224c
 0x0000000d (FINI)                       0x612530
 0x00000004 (HASH)                       0x4002c4
 0x00000005 (STRTAB)                     0x4013c4
 0x00000006 (SYMTAB)                     0x4007d4
 0x0000000a (STRSZ)                      1824 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x70000016 (MIPS_RLD_MAP)               0x68d020
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x68d030
 0x00000011 (REL)                        0x401cd4
 0x00000012 (RELSZ)                      40 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x70000001 (MIPS_RLD_VERSION)           1
 0x70000005 (MIPS_FLAGS)                 NOTPOT
 0x70000006 (MIPS_BASE_ADDRESS)          0x400000
 0x7000000a (MIPS_LOCAL_GOTNO)           6
 0x70000011 (MIPS_SYMTABNO)              191
 0x70000012 (MIPS_UNREFEXTNO)            41
 0x70000013 (MIPS_GOTSYM)                0xbd
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x401cfc
 0x00000002 (PLTRELSZ)                   1360 (bytes)
 0x70000032 (MIPS_PLTGOT)                0x684014
 0x6ffffffe (VERNEED)                    0x401c64
 0x6fffffff (VERNEEDNUM)                 2
 0x6ffffff0 (VERSYM)                     0x401ae4

可以看到需要的动态连接库名称。
如果自己文件系统中没有以上库,ln -s 创建软连接即可。

注意点二:
cp defconfig .config
打开.config 配置一下几个路径,指定openssl和libnl

# Uncomment following two lines and fix the paths if you have installed OpenSSL
# or GnuTLS in non-default location

CFLAGS += -I/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/openssl.install/include
CFLAGS += -I/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/libnl.install/include
LIBS += -L/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/libnl.install/lib
LIBS += -L/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/libnl-1.1.4/lib
LIBS += -L/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/openssl.install/lib

LIBS_p += -L/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/res/wpa_supplicant-2.6/openssl.install/lib
CC=/home/lwx/workspace/sdk/t31/Ingenic-SDK-T31-1.1.0-20200115/toolchain/mips-gcc472-glibc216-64bit/bin/mips-linux-gnu-gcc  -L$(LIBS)

把里面的路径换成自己的交叉编译工具路径。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
JZ_hacker
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区