创建 wpa_supplicant UI

Posted

技术标签:

【中文标题】创建 wpa_supplicant UI【英文标题】:Create a wpa_supplicant UI 【发布时间】:2016-11-08 13:46:07 【问题描述】:

我需要创建一个在小卡和机器人之间通过直接 wifi 进行通信的程序。我做了一个“iw list”,我得到了: 支持的接口模式: * IBS * 管理 * 美联社 * 监视器 * P2P-客户端 * P2P-GO 所以,通常情况下,应该这样做。 我找到了这个网站:https://w1.fi/wpa_supplicant/devel/index.html 在 c 代码中使用 wpa_applicant。 所以,我像他们说的那样使用 wpa_ctrl.c 代码:

#include <stdio.h>
#include "direct.h"
#include "wpa_ctrl.h"
#include <string.h>

void    function_test_call(char *msg, size_t len)

printf("message callback %s\n", msg);
printf("len callback %d\n", len);



int main()

struct  wpa_ctrl *wpa_path;

const char *path = "/var/run/wpa_supplicant/wlan0";

wpa_path = (void*)0;
wpa_path = wpa_ctrl_open(path);
if (wpa_path)

    printf("youpi\n");

else

    printf("pas youpi\n");
    return (1);

char response[1024];
size_t size_buf = 0;
int ret = wpa_ctrl_request(wpa_path, "PING",
4, response, &size_buf, function_test_call);
printf("ret value %d\n", ret);
printf("response size %d\n", size_buf);
printf("reponse : %s\n", response);
return (0);

这是我运行时附加的内容: 优皮 ret 值 0 响应大小 0 回复:

所以连接没问题,但请求 ping 应该是 PONG,否则我什么也得不到。 请帮帮我:)

【问题讨论】:

wpa_path = (void*)0; 而不是wpa_path = NULL;?只是好奇你为什么要投 0... 我知道这很愚蠢。 :),这只是我做事的方式......也许不是最好的方式.. @Aodren BARY 是否能够为 P2P GO 提供 pin,当 P2P 客户端提供要在其他设备上输入的 pin 时。 【参考方案1】:

我发现,这是我的错误 我换了 size_t size_buf = 0; size_t size_buf = 1023; 我的坏-_-

【讨论】:

以上是关于创建 wpa_supplicant UI的主要内容,如果未能解决你的问题,请参考以下文章

wpa_supplicant 的配置说明文件 wpa_supplicant.conf

ANDROID_JAVA文件操作修改/data/misc/wifi/wpa_supplicant.conf

wpa_supplicant软件架构分析

wpa_supplicant 检测错误密码

wpa_supplicant 没有接口(pydbus)

wpa_supplicant drivers 查看跟踪