Lines Matching +full:device +full:- +full:id

1 wpa_supplicant and Wi-Fi P2P
4 This document describes how the Wi-Fi P2P implementation in
10 Introduction to Wi-Fi P2P
11 -------------------------
15 More information about Wi-Fi P2P is available from Wi-Fi Alliance:
16 http://www.wi-fi.org/Wi-Fi_Direct.php
20 -----------------------------
26 ----------------------------
28 Wi-Fi P2P is an optional component that needs to be enabled in the
30 configuration that includes Wi-Fi P2P support and Linux nl80211
31 -based driver interface:
40 In run-time configuration file (wpa_supplicant.conf), some parameters
46 device_name=My P2P Device
47 device_type=1-0050F204-1
51 -------
53 Actual Wi-Fi P2P operations are requested during runtime. These can be
55 like wpa_gui-qt4.
62 by adding -i argument on the command line (e.g., 'wpa_cli -i wlan1').
72 Device Discovery
75 [dev_id=<addr>] [dev_type=<device type>] \
93 The optional dev_type option can be used to specify a single device type
95 "p2p_find dev_type=1-0050F204-1".
103 Timeout - Optional ASCII base-10-encoded u16. If missing, request will not
105 dev_id - Optional to request responses from a single known remote device
106 Service Name - Mandatory UTF-8 string for ASP seeks
117 Start Listen-only state (become discoverable without searching for
121 testing. It can also be used to keep the device discoverable without
126 Stop ongoing P2P device discovery or other operation (connect, listen
135 p2p_prov_disc <peer device address> <display|keypad|pbc> [join|auto]
138 parameters for this command are the P2P device address of the peer and
148 out whether the peer device is operating as a GO and if so, use
149 join-a-group style PD instead of GO Negotiation style PD.
151 p2p_connect <peer device address> <pbc|pin|PIN#|p2ps> [display|keypad|p2ps]
152 [persistent|persistent=<network id>] [join|auth]
163 the command return code), PIN# means that a pre-selected PIN can be
168 "persistent=<network id>" alternative can be used to pre-populate
170 group where this device was the GO. The previously used parameters will
180 device without actually starting GO Negotiation (i.e., the peer is
196 out whether the peer device is operating as a GO and if so, use
197 join-a-group operation rather than GO Negotiation.
202 P2P Device or Interface address have been used in multiple groups
218 p2p_asp_provision <peer MAC address> <adv_id=peer adv id>
219 <adv_mac=peer MAC address> [role=2|4|1] <session=session id>
223 This command starts provision discovery with the P2PS enabled peer device.
229 MAC address - Mandatory
230 adv_id - Mandatory remote Advertising ID of service connection is being
232 adv_mac - Mandatory MAC address that owns/registered the service
233 role - Optional
236 session - Mandatory Session ID of the first session to be established
237 session_mac - Mandatory MAC address that owns/initiated the session
238 method - Optional method to request for provisioning (1000 - P2PS Default,
239 100 - Keypad(PIN), 8 - Display(PIN))
240 info - Optional UTF-8 string. Hint for service to indicate possible usage
241 parameters - Escape single quote & backslash:
244 p2p_asp_provision_resp <peer mac address> <adv_id= local adv id>
246 <session=session id> <session_mac=peer MAC address>
254 MAC address - Mandatory
255 adv_id - Mandatory local Advertising ID of service connection is being
257 adv_mac - Mandatory MAC address that owns/registered the service
258 role - Optional 2 (group client only) or 4 (group owner only)
260 status - Mandatory Acceptance/Rejection code of Provisioning
261 session - Mandatory Session ID of the first session to be established
262 session_mac - Mandatory MAC address that owns/initiated the session
264 p2p_group_add [persistent|persistent=<network id>] [freq=<freq in MHz>]
269 GO. Optional persistent=<network id> can be used to specify restart of
275 p2p_reject <peer device address>
277 Reject connection attempt from a peer (specified with a device
290 Cancel an ongoing P2P group formation and joining-a-group related
291 operation. This operation unauthorizes the specific peer device (if any
293 progress), stops pending operations for join-a-group, and removes the
298 p2p_remove_client <peer's P2P Device Address|iface=<interface address>>
301 (operating and persistent) from the local GO. Note that the peer device
308 p2p_service_add asp <auto accept> <adv id> <status 0/1> <Config Methods>
314 advertisement id which uniquely identifies the service requests, state
323 asp - Mandatory for ASP service registration
324 auto accept - Mandatory ASCII hex-encoded boolean (0 == no auto-accept,
325 1 == auto-accept ANY role, 2 == auto-accept CLIENT role,
326 4 == auto-accept GO role)
327 Advertisement ID - Mandatory non-zero ASCII hex-encoded u32
329 State - Mandatory ASCII hex-encoded u8 (0 -- Svc not available,
330 1 -- Svc available, 2-0xff Application defined)
331 Config Methods - Mandatory ASCII hex-encoded u16 (bitmask of WSC config
333 Service Name - Mandatory UTF-8 string
334 Service Information - Optional UTF-8 string
337 Session response information - Optional (used only if auto accept is TRUE)
338 UTF-8 string
342 p2p_service_rep asp <auto accept> <adv id> <status 0/1> <Config Methods>
347 the advertisement id issued in the command matches with any one entry in
348 the list of existing SD queries. If advertisement id doesn't match the
355 asp - Mandatory for ASP service registration
356 auto accept - Mandatory ASCII hex-encoded boolean (1 == true, 0 == false)
357 Advertisement ID - Mandatory non-zero ASCII hex-encoded u32
359 State - Mandatory ASCII hex-encoded u8 (can be used to indicate svc
361 Config Methods - Mandatory ASCII hex-encoded u16 (bitmask of WSC config
363 Service Name - Mandatory UTF-8 string (Must match existing string in svc db)
364 Service Information - Optional UTF-8 string
367 Session response information - Optional (used only if auto accept is TRUE)
368 UTF-8 string
375 command are the device address of the peer device (or 00:00:00:00:00:00
385 requests are sent during device discovery (see p2p_find).
387 There can be multiple pending peer device specific queries (each will be
396 Length (2 octets, little endian) - length of following data
397 Service Protocol Type (1 octet) - see the table below
398 Service Transaction ID (1 octet) - nonzero identifier for the TLV
399 Query Data (Length - 2 octets of data) - service protocol specific data
405 3 = WS-Discovery
406 4 = Wi-Fi Display
412 p2p_serv_disc_req 00:00:00:00:00:00 upnp <version hex> <ST: from M-SEARCH>
416 p2p_serv_disc_req 00:00:00:00:00:00 upnp 10 urn:schemas-upnp-org:device:InternetGatewayDevice:1
426 # list of all WS-Discovery services
441 p2p_serv_disc_req 00:00:00:00:00:00 upnp 10 urn:schemas-upnp-org:service:ContentDirectory:2
442 p2p_serv_disc_req 00:00:00:00:00:00 upnp 10 uuid:6859dede-8574-59ab-9332-123456789012
443 p2p_serv_disc_req 00:00:00:00:00:00 upnp 10 urn:schemas-upnp-org:device:InternetGatewayDevice:1
445 # Wi-Fi Display examples
446 # format: wifi-display <list of roles> <list of subelements>
447 p2p_serv_disc_req 00:00:00:00:00:00 wifi-display [source] 2,3,4,5
448 p2p_serv_disc_req 02:01:02:03:04:05 wifi-display [pri-sink] 3
449 p2p_serv_disc_req 00:00:00:00:00:00 wifi-display [sec-source] 2
450 p2p_serv_disc_req 00:00:00:00:00:00 wifi-display [source+sink] 2,3,4,5
451 p2p_serv_disc_req 00:00:00:00:00:00 wifi-display [source][pri-sink] 2,3,4,5
453 p2p_serv_disc_req <Unicast|Broadcast mac address> asp <Transaction ID>
461 MAC address - Mandatory Existing
462 asp - Mandatory for ASP queries
463 Transaction ID - Mandatory non-zero ASCII hex-encoded u8 for GAS
464 Service Name Prefix - Mandatory UTF-8 string.
466 Service Information Substring - Optional UTF-8 string
495 pre-configure services for internal processing will increment the
502 each request based on pre-configured services), 1 = external
526 p2p_service_add bonjour 000000 <32-byte bitfield as hexdump>
539 p2p_service_add upnp 10 uuid:6859dede-8574-59ab-9332-123456789012::upnp:rootdevice
540 p2p_service_add upnp 10 uuid:5566d33e-9774-09ab-4822-333456785632::upnp:rootdevice
541 p2p_service_add upnp 10 uuid:1122de4e-8574-59ab-9322-333456789044::urn:schemas-upnp-org:service:Con…
542 p2p_service_add upnp 10 uuid:5566d33e-9774-09ab-4822-333456785632::urn:schemas-upnp-org:service:Con…
543 p2p_service_add upnp 10 uuid:6859dede-8574-59ab-9332-123456789012::urn:schemas-upnp-org:device:Inte…
549 p2p_service_del asp <adv id>
560 p2p_invite [persistent=<network id>|group=<group ifname>] [peer=address]
565 persistent group (e.g., persistent=4). If the peer device is the GO of
567 used to specify which device to invite. go_dev_addr parameter can be
568 used to override the GO device address for Invitation Request should
570 cases). When reinvoking a persistent group, the GO device can specify
572 persistent group, the P2P client device can use freq parameter to force
587 the PIN for one-time-use). PIN is the Enrollee PIN read either from a
609 P2P-PRESENCE-RESPONSE event message.
618 have acceptable range of 1-65535 (with interval obviously having to be
636 of device discoverability.
640 Disable/enable managed P2P Device operations. This is disabled by
657 (DIRECT-<two random characters>). For example, postfix of "-testing"
658 could result in the SSID becoming DIRECT-ab-testing.
662 Disabled(default)/enables use of per-client PSK in the P2P groups. This
667 the old PSK. When per-client PSK is not used, the client can still be
668 disconnected, but it will be able to re-join the group since the PSK it
686 set device_name <device name>
688 Set WPS Device Name (also included in some P2P messages).
706 set device_type <device type>
708 Set WPS Device Type.
718 set sec_device_type <device type>
720 Add a new Secondary Device Type.
753 List P2P Device Addresses of all the P2P peers we know. The optional
758 p2p_peer <P2P Device Address>
788 remove_network <network id>
795 P2PS-PROV-START: This events gets triggered when provisioning is issued for
799 P2PS-PROV-START 00:55:44:33:22:11 adv_id=111 adv_mac=00:55:44:33:22:11 conncap=1 session=1234567 se…
802 MAC address - always
803 adv_id - always ASCII hex-encoded u32
804 adv_mac - always MAC address that owns/registered the service
805 conncap - always mask of 0x01 (new), 0x02 (group client), 0x04 (group owner)
807 session - always Session ID of the first session to be established
808 session_mac - always MAC address that owns/initiated the session
809 info - if available, UTF-8 string
813 P2PS-PROV-DONE: When provisioning is completed then this event gets triggered.
816-PROV-DONE 00:11:22:33:44:55 status=0 adv_id=111 adv_mac=00:55:44:33:22:11 conncap=1 session=12345…
819 MAC address - always main device address of peer. May be different from MAC
821 status - always ascii hex-encoded u8 (0 == success, 12 == deferred success)
822 adv_id - always ascii hex-encoded u32
823 adv_mac - always MAC address that owns/registered the service
824 conncap - always One of: 1 (new), 2 (group client), 4 (group owner) bits
825 session - always Session ID of the first session to be established
826 session_mac - always MAC address that owns/initiated the session
827 dev_passwd_id - only if conncap value == 1 (New GO negotiation)
828 8 - "p2ps" password must be passed in p2p_connect command
829 1 - "display" password must be passed in p2p_connect command
830 5 - "keypad" password must be passed in p2p_connect command
831 join only - if conncap value == 2 (Client Only). Display password and "join"
833 go only - if conncap value == 4 (GO Only). Interface name must be set with a
835 persist - only if previous persistent group existed between peers and shall
836 be re-used. Group is restarted by sending "p2p_group_add persistent=0"
837 where value is taken from P2P-PROV-DONE
841 P2P-DEVICE-FOUND 00:11:22:33:44:55 p2p_dev_addr=00:11:22:33:44:55 pri_dev_type=0-00000000-0 name=''…
844 adv_id - if ASP ASCII hex-encoded u32. If it is reporting the
846 asp_svc - if ASP this is the service string. If it is reporting the
847 "wildcard service", this value will be org.wi-fi.wfds
851 ---------------------
853 See examples/p2p-action.sh
856 TODO: cross-connection