WPA-Supplicant 极简交叉编译

问题一:
Could not connect to wpa_supplicant - re-trying
答:
1、wpa_supplicant 需要首先启动 (不需要关注是否能够连上设备)
举例:wpa_supplicant -Dnl8021 -iwlan0 -c /etc/wpa_supplicant.conf
2、确认 /var/run/wpa_supplicant/wlan0 权限是不是 root:root
3、这时候就可以进行测试了
问题二:
WPA: 4-Way Handshake failed - pre-shared key may be incorrect
可以通过以下几点逐一排查
1、密码是否正确
2、确认芯片底层是否支持对应协议,(一些老芯片仅能支持 WPA/WPA2 但不支持 WPA2-PSK 等协议)
3、对接路由器的协议以及信号类型,(老芯片不支持 5G 信号仅能支持 2.4G 信号)
4、最后根据 wpa_supplicant 自带的 example 尝试调整各个参数(下载后直接看)

注意: 交叉编译内容应该与交叉编译器时间相近
下载以下内容:
expat-2.4.8
dbus-1.14.0
libnl-3.7.0
openssl-1.1.1
wpa_supplicant 

逐一编译以下内容:

## expat-2.4.8
# 编译脚本, 放到文件夹内
echo "xorg_cv_malloc0_returns_null=yes" > arm-linux.cache
./configure --cache-file=arm-linux.cache --prefix=/home/worker/workspace/wifilib \
--host=arm-linux-gnueabihf

rm arm-linux.cache
make 
make install

## dbus-1.14.0
make distclean

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/worker/workspace/wifilib
export PKG_CONFIG_PATH=/home/worker/workspace/wifilib/lib/pkgconfig

./configure --prefix=/home/worker/workspace/wifilib --host=arm-linux-gnueabihf --without-x \
CFLAGS=-I/home/worker/workspace/wifilib/include LDFLAGS=-L/home/worker/workspace/wifilib/lib
① 运行脚本
配置完成之后输出,要点请检查和确认
② 执行 make & make install 
## libnl-3.7.0
./configure --prefix=/home/worker/workspace/wifilib --host=arm-linux-gnueabihf

make
make install
## openssl-1.1.1q 
注意——32位 arm 芯片
setarch i386 ./config --prefix=/home/worker/workspace/wifilib --cross-compile-prefix=arm-linux-gnueabihf- \
no-asm shared
注意——64位 arm 芯片
./config --prefix=/home/worker/workspace/wifilib --cross-compile-prefix=arm-linux-gnueabihf- \
no-asm shared
① 运行脚本
② 移除 64bit / 32bit 出现的 -m64/-m32 
③ make & make install
## wpa_supplicant
① 解压后,进入 -> wpa_supplicant-2.10 -> wpa_supplicant
② 运行(我是 linux 平台) {cp    defconfig     .config}
③ 修改 Makefile
添加以下内容:

CFLAGS += -I/home/worker/workspace/wifilib/include
LIBS += -L/home/worker/workspace/wifilib/lib
CC=arm-linux-gnueabihf-gcc
④ 调整以下 wifilib 库中文件
1)把 wifilib/lib/dbus-1.0/include/dbus 下的文件复制到 wifilib/include/dbus-1.0 里
⑤ wpa_supplicant-2.10 -> wpa_supplicant 启动终端 然后运行以下指令
  1.   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/worker/workspace/wifilib
  2.  export PKG_CONFIG_PATH=/home/worker/workspace/wifilib/lib/pkgconfig
  3.  make -j32
当前目录底下就会生成 wpa_cli & wpa_supplicant & wpa_passphrase 三个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值