我尝试在 Ubuntu 14.04(内核 3.13)和 Android 4.4 Kitkat(三星 Galaxy Note 2)之间建立 wifi p2p 连接
在 Ubuntu 中
我使用内置于 Ubuntu 14.04( /sbin/wpa_supplicant
) 和 Netis WF2120 wifi 加密狗 (rtl8192cu 芯片组) 的 wpa_supplicant v2.1。Ubuntu 是群组所有者。
以下是我在 Ubuntu 中的执行顺序。
Ubuntu 启动后,我
192.168.22.1
为 wlan2 接口分配一个 IP 地址()以使用 p2p(Netis wifi 加密狗)。跑步dhcpd wlan2命令
跑步wpa_cli命令连接wpa_supplicant,它在启动时运行(这意味着我没有运行wpa_supplicant我)
跑步p2p_group_add命令wpa_cli迅速的
使用以下方式生成新的 WPS PIN 码wps_pin 任意命令
然后等待Android对等连接
在 Android 中
运行内置的 wifi 直连应用程序并找到对等点,然后毫无问题地找到 Ubuntu 对等点。
使用由以下程序生成的 PIN 码连接到 Ubuntu 对等体:wps_pin 任意命令
然后连接到 Ubuntu 没有任何问题。我确认 Android192.168.22.100
已从 Ubuntu 的 dhcpd 收到 IP 地址 ( ),因此 ping 测试也正常。
问题是 Ubuntu 和 Android 相互连接,但是几秒钟后(10 秒内),Android 的 wifi 自动关闭并且 wifi p2p 断开连接。
我认为问题出在 Ubuntu 上。
所以我被跑了wpa_supplicant直接使用我的配置文件。
ctrl_interface=/var/run/wpa_supplicant
device_name=testest
device_type=1-0050F204-1
p2p_go_intent=15
然后我运行了下一个命令
wpa_supplicant -Dnl80211 -c <config file path> -i wlan2 -dt
但结果是一样的。
我的配置有问题吗?或者有其他问题?
答案1
需要将群组创建为持久群组,这样您的连接就不会断开。您应该能够在自主 GO 场景中使用 来做到这一点
p2p_group_add persistent
。
在协商的 GO 场景中尝试:
p2p_connect <peer device address> <pbc|pin|PIN#|p2ps> [display|keypad|p2ps] persistent go_intent=15
有关更多详细信息,请参阅 wpa_supplicant README-P2P: https://w1.fi/cgit/hostap/plain/wpa_supplicant/README-P2P。