嵌入式Linux移植WIFI调试工具wpa_supplicant ,wpa_cli,wpa_passphrase解决方法 NUC972 ARM9

2023-05-16

前言:

        作者在调试ARM9板上WIFI驱动时,发现提供的wireless tools工具下的iwconfig,iwlist等等无法胜任,无法连接到WPA/WPA2等加密网络,这怎么办?后来了解到有wpa_supplicant强大的工具,可以连接iwconfig不能连接的网络,但是网上一大堆教程,有的不适用,版本不同编译方法也不同,编译不通过,下面列出具体的版本,按照流程即可编译成功。

  

一、从官网下载源码

       下载wpa_supplicant-0.7.3.tar.gz (记得从下载旧版本里面找到0.7.3版本,其他版本不确定方法是否相同)

       下载openssl-0.9.8e.tar.gz

       下载完这两个压缩包后移动到虚拟机Ubuntu下面,然后解压:tar zxvf   .......tar.gz

二、安装openssl库

  首先要将wpa_supplicant中的补丁复制到openssl-0.9.8e/文件夹中

       # cp wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/

       #cd openssl-0.9.8e/

       #mkdir /home/work/ssl   (临时安装库的位置,目录位置可以自己定义,后面待会会用到这个文件夹)

注:作者用的是arm-linux-gcc交叉编译器,如果有不同替换下面CC,或者可以用编辑器编辑makefile方便搜索,原文件下找到非注释部分修改

       #vim Makefile

               CC= arm-linux-gcc

               AR= arm-linux-ar $(ARFLAGS) r

               RANLIB= arm-linux-ranlib

               INSTALLTOP=/home/work/ssl       (之前创建的目录,括号不要复制进去!!!)

               OPENSSLDIR=/home/work/ssl     (之前创建的目录,括号不要复制进去!!!)

       #make

       #make install

        编译安装完成后就能在我们建立的文件夹下找到我们编译好的库

三、编译wpa_supplicant工具

  进入到wpa_supplicant-0.7.3.tar.gz解压生成的wpa_supplicant-0.7.3/wpa_supplicant目录中:

       #cp defconfig        .config

       #vi  .config

               CC= arm-linux-gcc -L/home/work/ssl/lib/

               CFLAGS += -I/home/work/ssl/include/  (之前创建的目录,注意include/和lib/,括号不要复制进去!!!)

               LIBS += -L/home/work/ssl/lib/

       #make

       编译完成后,wpa_supplicant的源程序文件夹下可以看到三个主要的可执行WIFI调试工具:wpa_supplicant,wpa_passphrase和wpa_cli。wpa_supplicant是核心的程序,wpa_supplicant和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。

到这里结束了?等等,看下我们三个工具的大小,NND竟然超过2M了,这在资源有限的嵌入式板子上可不小,相当于一个庞然大物,别急,有办法收拾它们。

arm-linux-strip wpa_suppiant

arm-linux-strip wpa_cli

arm-linux-strip wpa_passphrase

arm-linux-是自己电脑上的交叉编译器前缀,根据自己情况修改,arm-linux-strip主要是去掉工具中的调试信息输出,现在再看下是不是小多了?

接下来将这三个文件复制到开发板的/bin/文件夹下

然后进入/etc/目录:

接着

#wpa_passphrase TPLINK qq272726379 >> wpa_supplicant.conf

此时将在wpa_supplicant.conf文件中生成:

network={

     ssid="www.forwhat.cn"

     #psk="1234567890"

psk=4b2bc7cbb3710e9ea43f09e8d57e8bdb3b2a2127af44960d73216c3612f6baba

}

执行:wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &

然后连接成功,udhcpc -i wlan0   

OK!自动获取ip和dns成功,ping www.baidu.com成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式Linux移植WIFI调试工具wpa_supplicant ,wpa_cli,wpa_passphrase解决方法 NUC972 ARM9 的相关文章

  • Windows10 WSL2磁盘迁移

    一 使用 WSL 命令行工具 在 Windows 10 版本 1903 xff08 2019 年 4 月更新 xff09 或更高版本中 xff0c 您可以使用wsl exe命令行工具 1 导出分布 使用要移动的分发创建一个 tar文件wsl
  • linux下搭建confluence

    一 Java环境 java环境 二 mysql 2 1 安装前的检查和准备工作 2 1 1检查 1 是否安装过mysql xff1a rpm qa grep mysql 2 如果有的话 xff0c 就删除 xff08 XXXX是自己的mys
  • 译:SOME/IP 技术细节

    译 xff1a SOME IP 技术细节 原文 SOME IP technical details SOME IP Scalable service Oriented MiddlewarE over IP 基于 IP 可扩展面向服务中间件
  • Python requests_toolbelt的使用

    multipart form data Encoder The main attraction is a streaming multipart form data object MultipartEncoder Its API looks
  • ArchLinux中文安装教程

    以自己的电脑安装为参考 xff0c 已安装win10系统 最后效果为win10和arch双系统 xff01 xff01 xff01 一 准备工作 1 按照实际需要划分出一部分空闲磁盘空间 xff0c 右击想要安装arch的分区点击删除卷 x
  • C++20 范围库:关键优势——算法的组合

    从概念上讲 xff0c 范围 xff08 Range xff09 是一个简单的概念 xff1a 它只是一对迭代器 指向序列的开始和结束 xff08 在某些情况下是一个哨兵 xff09 然而 xff0c 这样的抽象却可以从根本上改变编写算法的
  • Drupal菜鸟笔记之使用Focal Point 模块实现图片压缩与裁剪

    在项目开发中总是有地方需要上传图片 xff0c 因此也常常需要对图片进行压缩与裁剪来达到我们想要的效果 最近项目中刚好要用到 xff0c 我就去搜索了 解了下图片的压缩与裁剪模块 xff0c 最后选择了 Focal Point Focal
  • Linux系统学习——ubuntu16.04开机蓝屏问题

    1 蓝屏原因 由于频繁地强制关机等原因造成 xserver xorg包出现损坏 xff0c 故在开机时屏幕显示出现问题 1 1 顺便提一下 xorg xorg 我们知道 xff0c Linux内核本身是没有图形化界面的 xff0c 其本身是
  • 最小生成树 Kruskal算法 Prim算法 洛谷P3366

    最小生成树 Kruskal算法 Prim算法 洛谷P3366 相较于Prim算法 xff0c 我觉得Kruskal算法更优 xff08 因为一般情况 xff0c 题目给你的边数都是正常的 xff0c Kruskal算法的时间复杂度为O El
  • 13. 罗马数字转整数

    题目 罗马数字包含以下七种字符 xff1a I xff0c V xff0c X xff0c L xff
  • 【转载】重新安装Anaconda卡在Loading applications无法进入

    我出现这个问题的原因是 xff1a 之前安装Anaconda没在系统添加路径 xff0c 虽然可以正常使用Pycharm xff0c 但Visual Studio Code 不能调用python 因此在胡老师帮助下 xff0c 决定卸载原来
  • C++语法(三)string字符串的输入、拼接、删除、查找、截取、比较、遍历

    1 字符串的输入 1 输入不含空格的字符串 string str cin gt gt str 2 输入包含空格的字符串 string str 如果前面有了cin输入 xff0c 则还需添加如下一句 getchar getline cin s
  • Python的坑(4) -- 【if x:】的含义

    原文链接 xff1a http www liaoxuefeng com wiki 0014316089557264a6b348958f449949df42a6d3a2e542c000 001431675624710bb20e9734ef34
  • 交叉编译 acl

    交叉编译 acl 概述 访问控制列表 xff08 Access Control Lists xff0c ACL xff09 是应用在路由器接口的指令列表 在 Linux 系统中 xff0c ACL 用于设定用户针对文件的权限 xff0c 而
  • 使用xrdp实现windows 远程桌面连接linux

    之前一直用mstsc连接windows主机 xff0c 今天想用此来连接linux主机时 xff0c 发现 连接不了 xff01 xff01 与度娘亲热好久之后 xff0c 分享一篇博客给大家 xff1a 传送门 一般情况下我们用ssh客户
  • 【51单片机】定时器的简单应用——计时器

    一 定时器 stc89c52 具有三个定时器 xff08 T0 T1 T2 xff09 xff08 1 xff09 T0 T1均有四种模式 最常用模式1 xff08 2 xff09 定时器模式1工作框图 SYSclk xff08 系统时钟
  • 【51单片机】直流电机的驱动和PWM调速

    51单片机驱动直流电机与 PWM 调速是通过使用 51 单片机来控制直流电机的转速和方向 51 单片机通过控制电机的电流来实现驱动 xff0c 并通过生成 PWM 信号来调节电机的转速 使用 PWM 调速可以使得直流电机的转速精确可控 xf
  • vscode中安装 gotests gomodifytags impl goplay dlv staticcheck gopls时一直失败问题记录

    在VScode中配置golang环境时 xff0c 在我电脑设置了代理的情况下 xff0c 安装上面几个go的工具时 xff0c 一直提示失败 xff1a Installing golang org x tools gopls 64 lat
  • 计算机应用投稿经验

    计算机应用 正刊录用 xff0c 1月13日到3月14日共历时2个月 收稿 编辑部 2022 01 13 2022 01 13 2022 01 13 收审读费 编辑部 2022 01 13 2022 02 12 2022 01 18 初审
  • ajax调用产生Access-Control-Allow-Origin错误

    刚到新公司在现有界面增加功能时遇到的坑 xff1a ajax调用接口返回了405 xff0c 发现入参串的json格式数据有问题 xff0c 后台发生错误 xff0c 修改入参后继续调用 发现还是调用不通 xff0c 直接在浏览器输入后发现

随机推荐