wpa_supplicant p2p测试指令

使用两台ubuntu电脑测试,测试指令已验证。

1. 配置文件

1.1. p2p.conf

ctrl_interface=/var/run/wpa_supplicant
update_config=1
device_name=GO_TEST_JS
device_type=10-0050F204-5 #如果没有这个信息部分手机pin方式不能连接 不弹出pin输入窗口
#config_methods=virtual_display keypad #pin方式
config_methods=virtual_display keypad virtual_push_button #pbc方式 实测对使用指令连接的case这个config可以兼容pin和pbc 只对手机有影响
p2p_listen_reg_class=81
p2p_listen_channel=1
p2p_oper_reg_class=81
p2p_oper_channel=1
p2p_go_ht40=1
p2p_no_group_iface=1 #启用之后使用p2p_add_group不会创建新的网卡接口

1.2. /etc/dhcp/dhcpd.conf

#添加以下内容
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.2 192.168.1.22;
  option domain-name-servers 192.168.1.1;
#  option domain-name "internal.example.org";
  option subnet-mask 255.255.255.0;
  option routers 192.168.1.1;
  option broadcast-address 198.168.1.255;
  default-lease-time 6000;
  max-lease-time 72000;
}
#如果启动出现问题,检查前面是否有其他subnet配置,如果有将其注释掉。

1.3. /etc/default/isc-dhcp-server

#修改以下内容
INTERFACESv4="wlan0" 

2.指令流程

启动supplicant
wpa_supplicant -i wlan0 -c p2p.conf

2.1. 协商

1.1 PIN码方式加入

Steps
设备1 (Client)
设备2(Go)
1
wpa_cli
wpa_cli
2
p2p_find
 
3
 
p2p_find
4
p2p_connect 82:ba:1c:59:35:ba pin auth go_intent=1
得到结果示例:10632994
p2p_connect 82:ba:1c:59:35:ba <pin> display auth go_intent=1
获取结果用于之后的连接
5
 
p2p_connect 52:7c:85:b2: de:34 10632994 go_intent=15
 

1.2 PBC方式加入

Steps
设备1 (Client)
设备2(Go)
1
wpa_cli
wpa_cli
2
p2p_find
 
3
 
p2p_find
4
p2p_connect 82:ba:1c:59:35:ba pbc go_intent=1
 
5
 
p2p_connect 52:7c:85:b2: de:34 pbc go_intent=14

2.2. p2p_group_add 方式提前创建Group 组

2.1 PBC方式加入

Steps
设备1 (GO)
设备2(Client)
1
wpa_cli -i wlan0 p2p_group_add
wpa_cli
2
 
p2p_find
3
 
p2p_connect 82:ba:1c:59:35:ba pbc join
4
wpa_cli -i wlan0 wps_pbc
 

2.2 PIN码方式加入(from GO)

Steps
设备1 (GO)
设备2(Client)
1
wpa_cli -i wlan0 p2p_group_add
wpa_cli
2
wpa_cli -i wlan0 wps_pin any
(shows ,如: 73077947)
wpa_cli -i wlan0 wps_pin any <pin>
 
3
 
p2p_find
4
 
p2p_connect 82:ba:1c:59:35:ba 73077947 join

2.3. dhcp

通过以上方法连接成功以后,可以通过以下方式分配ip。
Steps
设备1 (GO)
设备2(Client)
5
ifconfig wlan0 192.168.1.1
 
6
sudo systemctl restart isc-dhcp-server & sudo systemctl status isc-dhcp-server
 
7
 
busybox udhcpc -i wlan0
8
ping 192.168.1.2
ping 192.168.1.1
 
posted @ 2023-10-19 10:57  jsh2021  阅读(1003)  评论(0)    收藏  举报