我正在使用此配置在Raspberry PI 2 B +中进行wifi直接连接
ctrl_interface=DIR=/var/run/wpa_supplicant
driver_param=use_p2p_group_interface=1
update_config=1
device_name=Raspberry_pi
device_type=1-0050F204-1
p2p_go_intent=1
p2p_go_ht40=1
country=IN
然后使用
启动wpa请求者sudo wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/p2p.conf -B
,然后使用
添加新组sudo wpa_cli -iwlan0 p2p_group_add
然后使用
设置IPifconfig p2p-wlan0-0 192.168.1.20
,然后使用
设置图钉sudo wpa_cli -ip2p-wlan0-0 wps_pin any 0000
到目前为止,一切正常,我可以直接从Android设备通过wifi连接到Raspberry Pi。现在我面临两个问题,
编辑1:
当我重新启动wpa请求者并首次连接时,这就是我在日志中得到的信息
CTRL-EVENT-EAP-STARTED 2a:3f:69:1d:ed:c5
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
<3>WPS-REG-SUCCESS 2a:3f:69:1d:ed:c5 884efa75-0a98-52c6-85aa-07527f4a9c35
<3>WPS-SUCCESS
<3>CTRL-EVENT-EAP-FAILURE 2a:3f:69:1d:ed:c5
<3>AP-STA-CONNECTED 2a:3f:69:1d:ed:c5 p2p_dev_addr=2a:3f:69:1d:ed:c5
以及自动断开连接后
AP-STA-DISCONNECTED 2a:3f:69:1d:ed:c5 p2p_dev_addr=2a:3f:69:1d:ed:c5
如果我尝试不重新连接就重新连接,则会在控制台中显示
CTRL-EVENT-EAP-STARTED 2a:3f:69:1d:ed:c5
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
<3>WPS-PIN-NEEDED 884efa75-0a98-52c6-85aa-07527f4a9c35 2a:3f:69:1d:ed:c5 [Xperia XA |MediaTek Inc.|MTK Wireless Model|1.0|2.0|10-0050F204-5]
<3>CTRL-EVENT-EAP-FAILURE 2a:3f:69:1d:ed:c5
答案 0 :(得分:3)
您的Raspberry Pi可能是P2P组所有者(GO)角色,因为您是使用compute Quarter=trunc((month-1)/3)+1.
* this can also be done like this:
* recode month (1 2 3=1)(4 5 6=2)(7 8 9=3)(10 11 12=4) into Quarter.
dataset name byMonth.
dataset declare byQuarter.
aggregate /outfile=byQuarter /break=Year Quarter ...Other_grouping_variables ...
/var1 var2 ... your_scale_variables ....=mean(var1 var2 ...your_scale_variables...).
dataset activate byQuarter.
命令(自主GO)手动创建组,而不是让设备根据其GO意向值进行协商。在这种情况下,您配置中的p2p_group_add
可能无效。
具有GO角色的设备应该运行DHCP服务器,以便为连接的P2P客户端分配IP地址。相应地,每个客户端都应运行DHCP客户端才能接收IP地址。
Wi-Fi P2P技术规范第3.2.6.1节的摘录:
更高层的数据服务可能使用IP。 P2P组所有者应充当DHCP服务器,以向使用IP的已连接P2P客户端提供IP地址。 DHCP服务器至少应支持Internet协议版本4(IPv4)并分配IP地址,子网掩码...
...使用IP的P2P客户端应能够充当DHCP客户端。
注—尽管P2P设备可以为其作为P2P组所有者的每个P2P组选择不同的IP子网,但连接到多个P2P组的P2P设备可能最终会遇到冲突的子网。在IP子网的选择中使用随机成分可以减少(但不能消除)这种情况的发生
我想您会发现Android设备在进入连接状态之前正在等待通过DHCP接收IP配置,如果这种情况没有发生,则会超时。
要使连接持久,需要将组创建为持久组。您应该可以在p2p_go_intent=1
的自主GO场景中做到这一点。在协商的GO方案中,您应该可以执行类似p2p_group_add persistent
的操作。有关更多详细信息,请参见wpa_supplicant README-P2P:https://w1.fi/cgit/hostap/plain/wpa_supplicant/README-P2P。
最后,命令p2p_connect <peer device address> <pbc|pin|PIN#|p2ps> [display|keypad|p2ps] persistent go_intent=15
允许任何设备使用提供的PIN进行连接,但将PIN限制为一次性使用。使用wps_pin any <PIN>
表单或通过再次运行wps_pin <address> <PIN>
来设置新的PIN。
答案 1 :(得分:0)
此刻我正在运行几乎相同的场景,请按照第一部分进行操作
将Raspberry Pi设置为独立网络中的访问点 (NAT)
在此链接上以在Pi上安装/配置DHCP服务:
https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
顺便说一句,如果它对您有用,请您分享一下运行dhcp并启用wifi p2p的顺序,因为启用dhcp后我对p2p有点麻烦。