目前开发的产品中需要集成WIFI,由于iwconfig工具功能有限,准备移植wpa_supplicant到海思+linux平台
历史原因
iwconfig工具只支持WEP加密,现在大部分路由器都使用wpa加密,所以使用iwconfig工具是无法连接到路由器AP上。
一、源码下载
https://w1.fi/releases/ 本次选择wpa_supplicant-2.0.tar.gz版本。
网上大多是配置openssl的方式来编译wpa_supplicant,经测试,编译出来的可执行文件大小超过了2M,
由于本次移植的平台容量仅仅16MB,2M+相当于一个庞然大物,显然依赖openssl方式编译不合适。所以选择了不依赖openssl方式来编译wpa_supplicant。
二、移植流程
1.解压镜像并进入到wpa_supplicant目录中。
tar -xzvf wpa_supplicant-2.0.tar.gz
2.修改.config文件
cp defconfig .config
vim .config
CC=arm-hisiv300-linux-gcc
找到以下选项将以下注释的语句改为不注释
CONFIG_TLS=internal
CONFIG_INTERNAL_LIBTOMMATH=y
ifndef CONFIG_INTERNAL_LIBTOMMATH
LTM_PAHT=/usr/src/libtommath-0.39
CFLAGS += -I$(LTM_PATH)
LIBS += -L$(LTM_)
LIBS_p +=-L$(LTM_PATH)
endif
make
3.生成的wpa_supplicant大小依然超过1M,NND别急,有如下手段来收拾它:
arm-hisiv300-linux-strip wpa_suppiant
arm-hisiv300-linux-strip wpa_cli
arm-hisiv300-linux-strip wpa_passphrase
处理过之后的大小
4.运行查看版本
关于连接,wpa_supplicant相当于后台服务,wpa_cli相当于客户端。网上这类文章很多,这里就不详细解答了。