This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/WL1835MOD:Android 和 BeagleBone 之间的 Wi-Fi 直接连接有时会获得 GONNegotiationFailure

Guru**** 2559860 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/641934/linux-wl1835mod-wi-fi-direct-connection-between-android-and-beaglebone-sometimes-get-gonegotiationfailure

器件型号:WL1835MOD

工具/软件:Linux

我尝试在运行 Debian 9.2 2017-10-10 4GB SD IoT 映像的 Android 和 Beagle Bone Black 无线之间建立 Wi-Fi 直接连接。
有时它可以工作、但有时我会得到 P2P-GO-NEG-FAILURE STATUS=1。 下面我介绍重现问题的步骤。

首先、当我仍然使用 Internet 时、我升级系统并安装以后需要的其他依赖项
sudo apt 更新&& sudo apt 升级
sudo apt install python3-pip
pip3安装--user pydbus
我使用 scp 脚本 wifi_direct.py 从 gist.github.com/.../691cdb76c68ad699b48e131490b5119d 复制 到 BeagleBone。

默认情况下、BeagleBone debian 配置与 Wi-Fi Direct 冲突的 SoftAP。 我通过在   /etc/default/bb-wl18xx.中设置 tetel_enable=no 来禁用此功能

请注意、DHCP 服务器将停止在 USB 以太网接口 github.com/.../32上运行后 、因此在主机上、我们需要手动为我们的 USB 以太网接口分配 IP 地址
ifconfig eth1 192.168.6.1;ifconfig eth0 192.168.7.1
然后、我们可以使用 ssh debian@192.168 6.2 或 ssh debian@192.168 7.2将 ssh 到 BeagleBone。

我添加 了 包含内容的/etc/wpa_supplicant/wpa_supplicant.conf 配置文件

DEVICE_NAME=BeagleBone
DEVICE_TYPE=1-0050F204-5
CONFIG_Methods=PBC

并在   /lib/systemd/system/wpa_supplicant.service 中编辑 ExecStart 行 、使其看起来像

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf

因此、将拾取该配置文件。

现在、为了缩小问题的范围、我尝试在全新启动时仅使用 wpa_supplicant 来重现问题。
因此、我引导系统并确保在引导后没有 wpa_supplicant 正在运行。

$ ps aux|grep wpa_supplicant

然后我停止 connman 和 lanuch wpa_supplicant

# systemctl stop connman
# systemctl start wpa_supplicant

之后、我运行附加的{{wio_direct.py}}脚本

python3 wifi_direct.py

它根据以下简单算法工作
1.运行 P2P 查找。
2.接受任何 P2P 连接。
3.当另一侧断开连接时,删除 P2P 组。
4.转至步骤1。

从我的 Android 手机扫描 P2P 设备、尝试连接到 BeagleBone、然后断开连接、然后重复此步骤。

由于某些原因、在重试5-15次后、我会在  BeagleBone 侧获得 p2p-g-ne-failure status=-1。 日志已附加。 请您推荐我可能做错的事吗?

请查找日志 gist.github.com/.../5740d17b211d5991a33b53ad35c22d3c 和我的脚本 gist.github.com/.../edd68fe87435576a6d8eca633b4822b9的打印件

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!



    我还建议您在启动 P2P 之前、确保没有在后台运行的 hostap/wpa_supplicant。

    通常、如果 WiFi 环境拥挤、可能会发生 P2P 连接故障。 如果您重试、它最终会连接吗?
    从您的日志中、您会看到设备刚刚停止:

    P2P-DEVICE-Lost P2P_DEV_addr=A2:8c:FD:8b:A1:CD

    您是否曾尝试使用我们的标准示例脚本进行 WiFi Direct?

    processors.wiki.ti.com/.../WiLink8_WLAN_Demo:_Linux

    示例脚本可从以下位置下载:
    git.ti.com/.../
    p2p 目录下。

    BR、
    Eyal