1/** 2\page dbus wpa_supplicant D-Bus API 3 4This section documents the wpa_supplicant D-Bus API. Every D-Bus 5interface implemented by wpa_supplicant is described here including 6their methods, signals, and properties with arguments, returned 7values, and possible errors. 8 9Interfaces: 10- \ref dbus_main 11- \ref dbus_interface 12- \ref dbus_wps 13- \ref dbus_p2pdevice 14- \ref dbus_bss 15- \ref dbus_network 16- \ref dbus_peer 17- \ref dbus_group 18- \ref dbus_persistent_group 19- \ref dbus_mesh 20 21 22\section dbus_main fi.w1.wpa_supplicant1 23 24Interface implemented by the main wpa_supplicant D-Bus object 25registered in the bus with fi.w1.wpa_supplicant1 name. 26 27\subsection dbus_main_methods Methods 28 29<ul> 30 <li> 31 <h3>CreateInterface ( a{sv} : args ) --> o : interface</h3> 32 <p>Registers a wireless interface in wpa_supplicant.</p> 33 <h4>Arguments</h4> 34 <dl> 35 <dt>a{sv} : args</dt> 36 <dd> 37 A dictionary with arguments used to add the interface to wpa_supplicant. The dictionary may contain the following entries: 38 <table> 39 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 40 <tr><td>Ifname</td><td>s</td><td>Name of the network interface to control, e.g., wlan0</td><td>Yes</td> 41 <tr><td>BridgeIfname</td><td>s</td><td>Name of the bridge interface to control, e.g., br0</td><td>No</td> 42 <tr><td>Driver</td><td>s</td><td>Driver name which the interface uses, e.g., nl80211</td><td>No</td> 43 <tr><td>ConfigFile</td><td>s</td><td>Configuration file path</td><td>No</td> 44 <tr><td>Create</td><td>b</td><td>Whether to create a new interface in the kernel</td><td>No</td> 45 <tr><td>Type</td><td>s</td><td>Interface type to create (sta or ap)</td><td>No</td> 46 <tr><td>Address</td><td>s</td><td>MAC address in colon-delimited format to be used in the created interface</td><td>No</td> 47 </table> 48 </dd> 49 </dl> 50 <h4>Returns</h4> 51 <dl> 52 <dt>o : interface</dt> 53 <dd>A D-Bus path to object representing created interface</dd> 54 </dl> 55 <h4>Possible errors</h4> 56 <dl> 57 <dt>fi.w1.wpa_supplicant1.InterfaceExists</dt> 58 <dd>wpa_supplicant already controls this interface.</dd> 59 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 60 <dd>Creating interface failed for an unknown reason.</dd> 61 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 62 <dd>Invalid entries were found in the passed argument.</dd> 63 </dl> 64 </li> 65 66 <li> 67 <h3>RemoveInterface ( o : interface ) --> nothing</h3> 68 <p>Deregisters a wireless interface from wpa_supplicant.</p> 69 <h4>Arguments</h4> 70 <dl> 71 <dt>o : interface</dt> 72 <dd>A D-Bus path to an object representing an interface to remove returned by CreateInterface</dd> 73 </dl> 74 <h4>Possible errors</h4> 75 <dl> 76 <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt> 77 <dd>Object pointed by the path doesn't exist or doesn't represent an interface.</dd> 78 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 79 <dd>Removing interface failed for an unknown reason.</dd> 80 </dl> 81 </li> 82 83 <li> 84 <h3>GetInterface ( s : ifname ) --> o : interface</h3> 85 <p>Returns a D-Bus path to an object related to an interface which wpa_supplicant already controls.</p> 86 <h4>Arguments</h4> 87 <dl> 88 <dt>s : ifname</dt> 89 <dd>Name of the network interface, e.g., wlan0</dd> 90 </dl> 91 <h4>Returns</h4> 92 <dl> 93 <dt>o : interface</dt> 94 <dd>A D-Bus path to an object representing an interface</dd> 95 </dl> 96 <h4>Possible errors</h4> 97 <dl> 98 <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt> 99 <dd>An interface with the passed name in not controlled by wpa_supplicant.</dd> 100 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 101 <dd>Getting an interface object path failed for an unknown reason.</dd> 102 </dl> 103 </li> 104 105 <li> 106 <h3>ExpectDisconnect ( ) --> nothing</h3> 107 <p>Notify wpa_supplicant of an externally triggered disconnection, e.g., due to system suspend.</p> 108 </li> 109 </ul> 110 111\subsection dbus_main_properties Properties 112 113<ul> 114 <li> 115 <h3>DebugLevel - s - (read/write)</h3> 116 <p>Global wpa_supplicant debugging level. Possible values are 117 "msgdump" (verbose debugging), "debug" (debugging), 118 "info" (informative), "warning" (warnings), and "error" (errors).</p> 119 </li> 120 121 <li> 122 <h3>DebugTimestamp - b - (read/write)</h3> 123 <p>Global wpa_supplicant debugging parameter. Determines if timestamps are shown in debug logs.</p> 124 </li> 125 126 <li> 127 <h3>DebugShowKeys - b - (read/write)</h3> 128 <p>Global wpa_supplicant debugging parameter. Determines if secrets are shown in debug logs.</p> 129 </li> 130 131 <li> 132 <h3>Interfaces - ao - (read)</h3> 133 <p>An array with paths to D-Bus objects representing controlled interfaces each.</p> 134 </li> 135 136 <li> 137 <h3>EapMethods - as - (read)</h3> 138 <p>An array with supported EAP methods names.</p> 139 </li> 140 141 <li> 142 <h3>Capabilities - as - (read)</h3> 143 <p>An array with supported capabilities (e.g., "ap", "ibss-rsn", "p2p", "interworking").</p> 144 </li> 145 146 <li> 147 <h3>WFDIEs - ay - (read/write)</h3> 148 <p>Wi-Fi Display subelements.</p> 149 </li> 150 </ul> 151 152\subsection dbus_main_signals Signals 153 154<ul> 155 <li> 156 <h3>InterfaceAdded ( o : interface, a{sv} : properties )</h3> 157 <p>A new interface was added to wpa_supplicant.</p> 158 <h4>Arguments</h4> 159 <dl> 160 <dt>o : interface</dt> 161 <dd>A D-Bus path to an object representing the added interface</dd> 162 </dl> 163 <dl> 164 <dt>a{sv} : properties</dt> 165 <dd>A dictionary containing properties of added interface.</dd> 166 </dl> 167 </li> 168 169 <li> 170 <h3>InterfaceRemoved ( o : interface )</h3> 171 <p>An interface was removed from wpa_supplicant.</p> 172 <h4>Arguments</h4> 173 <dl> 174 <dt>o : interface</dt> 175 <dd>A D-Bus path to an object representing the removed interface</dd> 176 </dl> 177 </li> 178 179 <li> 180 <h3>PropertiesChanged ( a{sv} : properties )</h3> 181 <p>Some properties have changed.</p> 182 <h4>Arguments</h4> 183 <dl> 184 <dt>a{sv} : properties</dt> 185 <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "DebugParams"</dd> 186 </dl> 187 </li> 188 </ul> 189 190 191\section dbus_interface fi.w1.wpa_supplicant1.Interface 192 193Interface implemented by objects related to network interface added to 194wpa_supplicant, i.e., returned by 195fi.w1.wpa_supplicant1.CreateInterface. 196 197\subsection dbus_interface_methods Methods 198 199<ul> 200 <li> 201 <h3>Scan ( a{sv} : args ) --> nothing</h3> 202 <p>Triggers a scan.</p> 203 <h4>Arguments</h4> 204 <dl> 205 <dt>a{sv} : args</dt> 206 <dd> 207 A dictionary with arguments describing scan type: 208 <table> 209 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 210 <tr><td>Type</td><td>s</td><td>Type of the scan. Possible values: "active", "passive"</td><td>Yes</td> 211 <tr><td>SSIDs</td><td>aay</td><td>Array of SSIDs to scan for (applies only if scan type is active)</td><td>No</td> 212 <tr><td>IEs</td><td>aay</td><td>Information elements to used in active scan (applies only if scan type is active). Default IEs will be used in absence of this option.</td><td>No</td> 213 <tr><td>Channels</td><td>a(uu)</td><td>Array of frequencies to scan in form of (center, width) in MHz.</td><td>No</td> 214 <tr><td>AllowRoam</td><td>b</td><td>TRUE (or absent) to allow a roaming decision based on the results of this scan, FALSE to prevent a roaming decision.</td><td>No</td> 215 <tr><td>NonColoc6GHz</td><td>b</td><td>TRUE to force scanning of non-PSC 6 GHz channels, FALSE (or absent) to skip scanning of non-PSC 6 GHz channels.</td><td>No</td> 216 <tr><td>6GHzOnly</td><td>b</td><td>TRUE to scan only 6 GHz channels, FALSE (or absent) to scan all channels. Applies only if Channels is absent.</td><td>No</td> 217 </table> 218 </dd> 219 </dl> 220 <h4>Possible errors</h4> 221 <dl> 222 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 223 <dd>Invalid entries were found in the passed argument.</dd> 224 </dl> 225 </li> 226 227 <li> 228 <h3>Disconnect ( ) --> nothing</h3> 229 <p>Disassociates the interface from current network.</p> 230 <h4>Possible errors</h4> 231 <dl> 232 <dt>fi.w1.wpa_supplicant1.NotConnected</dt> 233 <dd>Interface is not connected to any network.</dd> 234 </dl> 235 </li> 236 237 <li> 238 <h3>AddNetwork ( a{sv} : args ) --> o : network</h3> 239 <p>Adds a new network to the interface.</p> 240 <h4>Arguments</h4> 241 <dl> 242 <dt>a{sv} : args</dt> 243 <dd>A dictionary with network configuration. Dictionary entries are equivalent to entries in the "network" block in wpa_supplicant configuration file. Entry values should be appropriate type to the entry, e.g., an entry with key "frequency" should have value type int.</dd> 244 </dl> 245 <h4>Returns</h4> 246 <dl> 247 <dt>o : network</dt> 248 <dd>A D-Bus path to an object representing a configured network</dd> 249 </dl> 250 <h4>Possible errors</h4> 251 <dl> 252 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 253 <dd>Invalid entries were found in the passed argument.</dd> 254 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 255 <dd>Adding network failed for an unknown reason.</dd> 256 </dl> 257 </li> 258 259 <li> 260 <h3>RemoveNetwork ( o : network ) --> nothing</h3> 261 <p>Removes a configured network from the interface.</p> 262 <h4>Arguments</h4> 263 <dl> 264 <dt>o : network</dt> 265 <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd> 266 </dl> 267 <h4>Possible errors</h4> 268 <dl> 269 <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt> 270 <dd>A passed path doesn't point to any network object.</dd> 271 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 272 <dd>A passed path doesn't point to any network object.</dd> 273 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 274 <dd>Removing network failed for an unknown reason.</dd> 275 </dl> 276 </li> 277 278 <li> 279 <h3>RemoveAllNetworks ( ) --> nothing</h3> 280 <p>Remove all configured networks from the interface.</p> 281 </li> 282 283 <li> 284 <h3>SelectNetwork ( o : network ) --> nothing</h3> 285 <p>Attempt association with a configured network.</p> 286 <h4>Arguments</h4> 287 <dl> 288 <dt>o : network</dt> 289 <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd> 290 </dl> 291 <h4>Possible errors</h4> 292 <dl> 293 <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt> 294 <dd>A passed path doesn't point to any network object.</dd> 295 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 296 <dd>A passed path doesn't point to any network object.</dd> 297 </dl> 298 </li> 299 300 <li> 301 <h3>Reassociate ( ) --> nothing</h3> 302 <p>Attempt reassociation.</p> 303 <h4>Possible errors</h4> 304 <dl> 305 <dt>fi.w1.wpa_supplicant1.InterfaceDisabled</dt> 306 <dd>The interface is disabled.</dd> 307 </dl> 308 </li> 309 310 <li> 311 <h3>Reattach ( ) --> nothing</h3> 312 <p>Attempt reassociation back to the current BSS.</p> 313 <h4>Possible errors</h4> 314 <dl> 315 <dt>fi.w1.wpa_supplicant1.NotConnected</dt> 316 <dd>Interface is not connected to any network.</dd> 317 </dl> 318 </li> 319 320 <li> 321 <h3>Reconnect ( ) --> nothing</h3> 322 <p>Attempt reconnection and connect if in disconnected state.</p> 323 <h4>Possible errors</h4> 324 <dl> 325 <dt>fi.w1.wpa_supplicant1.InterfaceDisabled</dt> 326 <dd>The interface is disabled.</dd> 327 </dl> 328 </li> 329 330 <li> 331 <h3>Roam ( s : addr ) --> nothing</h3> 332 <p>Initiate a roam to another BSS within the current ESS.</p> 333 <h4>Possible errors</h4> 334 <dl> 335 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 336 <dd>Missing address argument.</dd> 337 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 338 <dd>Invalid hardware address format.</dd> 339 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 340 <dd>Target BSS not found.</dd> 341 <dt>fi.w1.wpa_supplicant1.NotConnected</dt> 342 <dd>Interface is not connected to any network.</dd> 343 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 344 <dd>Scan processing was not included in the build.</dd> 345 </dl> 346 </li> 347 348 <li> 349 <h3>AddBlob ( s : name, ay : data ) --> nothing</h3> 350 <p>Adds a blob to the interface.</p> 351 <h4>Arguments</h4> 352 <dl> 353 <dt>s : name</dt> 354 <dd>A name of a blob</dd> 355 <dt>ay : data</dt> 356 <dd>A blob data</dd> 357 </dl> 358 <h4>Possible errors</h4> 359 <dl> 360 <dt>fi.w1.wpa_supplicant1.BlobExists</dt> 361 <dd>A blob with the specified name already exists.</dd> 362 </dl> 363 </li> 364 365 <li> 366 <h3>RemoveBlob ( s : name ) --> nothing</h3> 367 <p>Removes the blob from the interface.</p> 368 <h4>Arguments</h4> 369 <dl> 370 <dt>s : name</dt> 371 <dd>A name of the blob to remove</dd> 372 </dl> 373 <h4>Possible errors</h4> 374 <dl> 375 <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt> 376 <dd>A blob with the specified name doesn't exist.</dd> 377 </dl> 378 </li> 379 380 <li> 381 <h3>GetBlob ( s : name ) --> ay : data</h3> 382 <p>Returns the blob data of a previously added blob.</p> 383 <h4>Arguments</h4> 384 <dl> 385 <dt>s : name</dt> 386 <dd>A name of the blob</dd> 387 </dl> 388 <h4>Returns</h4> 389 <dl> 390 <dt>ay : data</dt> 391 <dd>A blob data</dd> 392 </dl> 393 <h4>Possible errors</h4> 394 <dl> 395 <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt> 396 <dd>A blob with the specified name doesn't exist.</dd> 397 </dl> 398 </li> 399 <li> 400 <h3>AutoScan ( s : arg ) --> nothing</h3> 401 <p>Set autoscan parameters for the interface.</p> 402 <h4>Arguments</h4> 403 <dl> 404 <dt>s : arg</dt> 405 <dd>Autoscan parameter line or empty to unset autoscan.</dd> 406 </dl> 407 <h4>Possible errors</h4> 408 <dl> 409 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 410 <dd>Needed memory was not possible to get allocated.</dd> 411 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 412 <dd>Invalid entries were found in the passed argument.</dd> 413 </dl> 414 </li> 415 <li> 416 <h3>TDLSDiscover ( s : peer_address ) --> nothing</h3> 417 <p>Initiate a TDLS discovery for a peer.</p> 418 <h4>Arguments</h4> 419 <dl> 420 <dt>s : peer_address</dt> 421 <dd>MAC address for the peer to perform TDLS discovery.</dd> 422 </dl> 423 <h4>Possible errors</h4> 424 <dl> 425 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 426 <dd>The "peer_address" argument is not a properly formatted MAC.</dd> 427 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 428 <dd>Initiating the TDLS operation failed for an unknown reason.</dd> 429 </dl> 430 </li> 431 <li> 432 <h3>TDLSSetup ( s : peer_address ) --> nothing</h3> 433 <p>Setup a TDLS session for a peer.</p> 434 <h4>Arguments</h4> 435 <dl> 436 <dt>s : peer_address</dt> 437 <dd>MAC address for the peer to perform TDLS setup.</dd> 438 </dl> 439 <h4>Possible errors</h4> 440 <dl> 441 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 442 <dd>The "peer_address" argument is not a properly formatted MAC.</dd> 443 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 444 <dd>Initiating the TDLS operation failed for an unknown reason.</dd> 445 </dl> 446 </li> 447 <li> 448 <h3>TDLSStatus ( s : peer_address ) --> s</h3> 449 <p>Return TDLS status with respect to a peer.</p> 450 <h4>Arguments</h4> 451 <dl> 452 <dt>s : peer_address</dt> 453 <dd>MAC address for the peer for which status is requested.</dd> 454 </dl> 455 <h4>Returns</h4> 456 <dl> 457 <dt>s : status</dt> 458 <dd>Current status of the TDLS link with the selected peer.</dd> 459 </dl> 460 <h4>Possible errors</h4> 461 <dl> 462 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 463 <dd>The "peer_address" argument is not a properly formatted MAC.</dd> 464 </dl> 465 </li> 466 <li> 467 <h3>TDLSTeardown ( s : peer_address ) --> nothing</h3> 468 <p>Tear down a TDLS session with a peer.</p> 469 <h4>Arguments</h4> 470 <dl> 471 <dt>s : peer_address</dt> 472 <dd>MAC address for the peer to tear down TDLS connectivity with.</dd> 473 </dl> 474 <h4>Possible errors</h4> 475 <dl> 476 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 477 <dd>The "peer_address" argument is not a properly formatted MAC.</dd> 478 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 479 <dd>Initiating the TDLS operation failed for an unknown reason.</dd> 480 </dl> 481 </li> 482 <li> 483 <h3>TDLSChannelSwitch ( a{sv} : args ) --> nothing</h3> 484 <p>Configure TDLS channel switching behavior with a peer.</p> 485 <h4>Arguments</h4> 486 <dl> 487 <dt>a{sv} : args</dt> 488 <dd>A dictionary with arguments identifying the peer and channel switching behavior.</dd> 489 </dl> 490 </li> 491 <li> 492 <h3>TDLSCancelChannelSwitch ( s : peer_address ) --> nothing</h3> 493 <p>Disable channel switching for a TDLS session with a peer.</p> 494 <h4>Arguments</h4> 495 <dl> 496 <dt>s : peer_address</dt> 497 <dd>MAC address for the peer.</dd> 498 </dl> 499 </li> 500 <li> 501 <h3>VendorElemAdd ( i: frame_id, ay: ielems ) --> nothing</h3> 502 <p>Add Vendor Elements to corresponding frame ID.</p> 503 <h4>Arguments</h4> 504 <dl> 505 <dt>i : frame_id</dt> 506 <dd>Frame ID for which Vendor specific IE is to be added.</dd> 507 <dt>ay : ielems</dt> 508 <dd>Information Element(s).</dd> 509 </dl> 510 <h4>Possible errors</h4> 511 <dl> 512 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 513 <dd>The "ielems" argument is not a properly formatted or size mismatch.</dd> 514 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 515 <dd>Needed memory was not possible to get allocated.</dd> 516 </dl> 517 </li> 518 <li> 519 <h3>VendorElemGet ( i: frame_id ) --> ay: ielems</h3> 520 <p>Get Vendor Elements of corresponding frame ID.</p> 521 <h4>Arguments</h4> 522 <dl> 523 <dt>i : frame_id</dt> 524 <dd>Frame ID for which Vendor specific IE is being queried.</dd> 525 <dt>ay : ielems</dt> 526 <dd>Information Element(s).</dd> 527 </dl> 528 <h4>Possible errors</h4> 529 <dl> 530 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 531 <dd>The "frame_id" argument is not valid.</dd> 532 </dl> 533 </li> 534 <li> 535 <h3>VendorElemRem ( i: frame_id, ay: ielems ) --> nothing</h3> 536 <p>Remove Vendor Elements of corresponding frame ID.</p> 537 <h4>Arguments</h4> 538 <dl> 539 <dt>i : frame_id</dt> 540 <dd>Frame ID for which Vendor specific IE is to be removed.</dd> 541 <dt>ay : ielems</dt> 542 <dd>Information Element(s) OR * to remove all.</dd> 543 </dl> 544 <h4>Possible errors</h4> 545 <dl> 546 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 547 <dd>The "ielems" argument is not a properly formatted or size mismatch.</dd> 548 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 549 <dd>Needed memory was not possible to get allocated.</dd> 550 </dl> 551 </li> 552 <li> 553 <h3>SaveConfig ( ) --> nothing</h3> 554 <p>Save configuration to the configuration file.</p> 555 </li> 556 <li> 557 <h3>AbortScan ( ) --> nothing</h3> 558 <p>Abort ongoing scan operation.</p> 559 </li> 560 <li> 561 <h3>AddCred ( a{sv} : args ) --> o : path</h3> 562 <p>Add an Interworking/Hotspot 2.0 credential.</p> 563 <h4>Arguments</h4> 564 <dl> 565 <dt>a{sv} : args</dt> 566 <dd>A dictionary with credential configuration. Dictionary entries are equivalent to entries in the "cred" block in wpa_supplicant configuration file.</dd> 567 </dl> 568 <h4>Returns</h4> 569 <dl> 570 <dt>o : path</dt> 571 <dd>A D-Bus path to an object representing the added credential</dd> 572 </dl> 573 </li> 574 <li> 575 <h3>RemoveCred ( o : path ) --> nothing</h3> 576 <p>Remove the specified Interworking/Hotspot 2.0 credential.</p> 577 </li> 578 <li> 579 <h3>RemoveAllCreds ( ) --> nothing</h3> 580 <p>Remove all configured Interworking/Hotspot 2.0 credentials.</p> 581 </li> 582 <li> 583 <h3>InterworkingSelect ( ) --> nothing</h3> 584 <p>Perform Interworking (Hotspot 2.0) network selection.</p> 585 </li> 586 <li> 587 <h3>ANQPGet ( a{sv} : args) --> nothing</h3> 588 <p>Send an ANQP request.</p> 589 <h4>Arguments</h4> 590 <dl> 591 <dt>a{sv} : args</dt> 592 <dd> 593 <table> 594 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 595 <tr><td>addr</td><td>s</td><td>Address of the BSS</td><td>Yes</td> 596 <tr><td>freq</td><td>u</td><td>Frequency of the BSS</td><td>No</td> 597 <tr><td>ids</td><td>aq</td><td>List of ANQP information IDs to query</td><td>No</td> 598 <tr><td>hs20_ids</td><td>ay</td><td>List of Hotspot 2.0 ANQP information IDs to query</td><td>No</td> 599 <tr><td>mbo_ids</td><td>ay</td><td>List of MBO ANQP information IDs to query</td><td>No</td> 600 </table> 601 </dd> 602 </dl> 603 </li> 604 <li> 605 <h3>EAPLogoff ( ) --> nothing</h3> 606 <p>IEEE 802.1X EAPOL state machine logoff.</p> 607 </li> 608 <li> 609 <h3>EAPLogon ( ) --> nothing</h3> 610 <p>IEEE 802.1X EAPOL state machine logon.</p> 611 </li> 612 613 <li> 614 <h3>NetworkReply ( o : network, s : field, s : value ) --> nothing</h3> 615 <p>Provide parameter requested by NetworkRequest().</p> 616 <h4>Arguments</h4> 617 <dl> 618 <dt>o : network</dt> 619 <dd>A D-Bus path to an object representing the network (copied from NetworkRequest()).</dd> 620 <dt>s : field</dt> 621 <dd>Requested information (copied from NetworkRequest()).</dd> 622 <dt>s : value</dt> 623 <dd>The requested information (e.g., password for EAP authentication).</dd> 624 </dl> 625 <h4>Possible errors</h4> 626 <dl> 627 <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt> 628 <dd>A passed path doesn't point to any network object.</dd> 629 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 630 <dd>A passed path doesn't point to any network object.</dd> 631 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 632 <dd>IEEE 802.1X support was not included in the build.</dd> 633 </dl> 634 </li> 635 636 <li> 637 <h3>SetPKCS11EngineAndModulePath ( s : pkcs11_engine_path, s : pkcs11_module_path ) --> nothing</h3> 638 <p>Set PKCS #11 engine and module path.</p> 639 <h4>Arguments</h4> 640 <dl> 641 <dt>s : pkcs11_engine_path</dt> 642 <dd>PKCS #11 engine path.</dd> 643 <dt>s : pkcs11_module_path</dt> 644 <dd>PKCS #11 module path.</dd> 645 </dl> 646 <h4>Possible errors</h4> 647 <dl> 648 <dt>org.freedesktop.DBus.Error.Failed.InvalidArgs</dt> 649 <dd>Invalid PKCS #11 engine or module path.</dd> 650 <dt>org.freedesktop.DBus.Error.Failed</dt> 651 <dd>Reinit of the EAPOL state machine with the new PKCS #11 engine and module path failed.</dd> 652 </dl> 653 </li> 654 <li> 655 <h3>SignalPoll ( ) --> a{sv} : properties</h3> 656 <p>Fetch signal properties for the current connection. The dictionary of properties is stored within a variant container.</p> 657 <h4>Returns</h4> 658 <dl> 659 <dt>a{sv} : properties</dt> 660 <dd> 661 <table> 662 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 663 <tr><td>linkspeed</td><td>i</td><td>Link speed (Mbps)</td><td>No</td> 664 <tr><td>noise</td><td>i</td><td>Noise (dBm)</td><td>No</td> 665 <tr><td>width</td><td>s</td><td>Channel width</td><td>No</td> 666 <tr><td>frequency</td><td>u</td><td>Frequency (MHz)</td><td>No</td> 667 <tr><td>rssi</td><td>i</td><td>RSSI (dBm)</td><td>No</td> 668 <tr><td>avg-rssi</td><td>i</td><td>Average RSSI (dBm)</td><td>No</td> 669 <tr><td>center-frq1</td><td>i</td><td>VHT segment 1 frequency (MHz)</td><td>No</td> 670 <tr><td>center-frq2</td><td>i</td><td>VHT segment 2 frequency (MHz)</td><td>No</td> 671 <tr><td>rx-bytes</td><td>i</td><td>Bytes recieved</td><td>No</td> 672 <tr><td>tx-bytes</td><td>i</td><td>Bytes sent</td><td>No</td> 673 <tr><td>rx-packets</td><td>i</td><td>Packets recieved</td><td>No</td> 674 <tr><td>tx-packets</td><td>i</td><td>Packets sent</td><td>No</td> 675 <tr><td>beacons</td><td>i</td><td>Beacons received</td><td>No</td> 676 <tr><td>linkrxspeed</td><td>i</td><td>Link Speed (RX, kbps)</td><td>No</td> 677 <tr><td>linktxspeed</td><td>i</td><td>Link Speed (TX, kbps)</td><td>No</td> 678 <tr><td>retries-failed</td><td>i</td><td>Retries (failed)</td><td>No</td> 679 <tr><td>retries</td><td>i</td><td>Retries</td><td>No</td> 680 <tr><td>last-ack-rssi</td><td>i</td><td>RSSI of last ACK frame (dBm)</td><td>No</td> 681 <tr><td>fcs-errors</td><td>i</td><td>FCS errors</td><td>No</td> 682 <tr><td>beacon-losses</td><td>i</td><td>Beacons lost</td><td>No</td> 683 <tr><td>expected-throughput</td><td>i</td><td>Expected Throughput (kbps)</td><td>No</td> 684 <tr><td>rx-drop-misc</td><td>i</td><td>RX packets dropped for unspecified reasons</td><td>No</td> 685 <tr><td>rx-mpdus</td><td>i</td><td>Recieved packets</td><td>No</td> 686 <tr><td>rx-he-mcs</td><td>i</td><td>MCS index (rx, he)</td><td>No</td> 687 <tr><td>tx-he-mcs</td><td>i</td><td>MCS index (tx, he)</td><td>No</td> 688 <tr><td>rx-vht-mcs</td><td>i</td><td>MCS index (rx, vht)</td><td>No</td> 689 <tr><td>tx-vht-mcs</td><td>i</td><td>MCS index (tx, vht)</td><td>No</td> 690 <tr><td>rx-mcs</td><td>i</td><td>MCS index (rx)</td><td>No</td> 691 <tr><td>tx-mcs</td><td>i</td><td>MCS index (tx)</td><td>No</td> 692 <tr><td>rx-he-nss</td><td>i</td><td>Number of streams (rx, he)</td><td>No</td> 693 <tr><td>tx-he-nss</td><td>i</td><td>Number of streams (tx, he)</td><td>No</td> 694 <tr><td>rx-vht-nss</td><td>i</td><td>Number of streams (rx, vht)</td><td>No</td> 695 <tr><td>tx-vht-nss</td><td>i</td><td>Number of streams (tx, vht)</td><td>No</td> 696 <tr><td>avg-beacon-rssi</td><td>i</td><td>Average Beacon RSSI (dBm)</td><td>No</td> 697 <tr><td>avg-ack-rssi</td><td>i</td><td>Average ACK frame RSSI (dBm)</td><td>No</td> 698 </table> 699 </dd> 700 </dl> 701 </li> 702 <li> 703 <h3>FlushBSS ( u : age ) --> nothing</h3> 704 <p>Flush BSS entries from the cache.</p> 705 <h4>Arguments</h4> 706 <dl> 707 <dt>u : age</dt> 708 <dd>Maximum age in seconds for BSS entries to keep in cache (0 = remove all entries).</dd> 709 </dl> 710 </li> 711 712 <li> 713 <h3>SubscribeProbeReq ( ) --> nothing</h3> 714 <p>Subscribe to receive Probe Request events. This is needed in addition to registering a signal handler for the ProbeRequest signal to avoid flooding D-Bus with all Probe Request indications when no application is interested in them.</p> 715 <h4>Possible errors</h4> 716 <dl> 717 <dt>fi.w1.wpa_supplicant1.SubscriptionInUse</dt> 718 <dd>Another application is already subscribed.</dd> 719 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 720 <dd>Needed memory was not possible to get allocated.</dd> 721 </dl> 722 </li> 723 724 <li> 725 <h3>UnsubscribeProbeReq ( ) --> nothing</h3> 726 <p>Unsubscribe from receiving Probe Request events.</p> 727 <h4>Possible errors</h4> 728 <dl> 729 <dt>fi.w1.wpa_supplicant1.NoSubscription</dt> 730 <dd>No subscription in place.</dd> 731 <dt>fi.w1.wpa_supplicant1.SubscriptionNotYou</dt> 732 <dd>Subscription in place, but for another process.</dd> 733 </dl> 734 </li> 735 736 <li> 737 <h3>NANPublish ( a{sv} : args ) --> u : publish_id</h3> 738 <p>Publish a NAN USD service.</p> 739 <h4>Arguments</h4> 740 <dl> 741 <dt>a{sv} : args</dt> 742 <dd> 743 A dictionary with following parameters: 744 <table> 745 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 746 <tr><td>srv_name</td><td>s</td><td>Service name.</td><td>yes</td></tr> 747 <tr><td>srv_proto_type</td><td>u</td><td>Service Protocol Type</td><td>yes</td></tr> 748 <tr><td>solicited</td><td>b</td><td>Solicited Publish</td><td></td></tr> 749 <tr><td>unsolicited</td><td>b</td><td>Unsolicited Publish</td><td></td></tr> 750 <tr><td>solicited_multicast</td><td>b</td><td>Solicited transmission type multicast</td><td></td></tr> 751 <tr><td>ttl</td><td>u</td><td>Time to live (in seconds); 0 = one TX only</td><td>yes</td></tr> 752 <tr><td>disable_events</td><td>b</td><td>Event conditions</td><td></td></tr> 753 <tr><td>fsd</td><td>b</td><td>Further Service Discovery flag</td><td></td></tr> 754 <tr><td>fsd_gas</td><td>b</td><td>Further Service Discovery function GAS</td><td></td></tr> 755 <tr><td>p2p</td><td>b</td><td>Allow P2P IE to be added into NAN SDFs</td><td></td></tr> 756 <tr><td>freq</td><td>q</td><td>Default frequency in MHz</td><td>yes</td></tr> 757 <tr><td>announcement_period</td><td>u</td><td>Announcement period in ms</td><td></td></tr> 758 <tr><td>ssi</td><td>ay</td><td>Service specific information</td><td>yes</td></tr> 759 <tr><td>freq_list</td><td>aq</td><td>frequency list</td><td></td></tr> 760 </table> 761 </dd> 762 </dl> 763 <h4>Possible errors</h4> 764 <dl> 765 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 766 <dd>Needed memory was not possible to get allocated.</dd> 767 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 768 <dd>Invalid entries were found in the passed argument.</dd> 769 </dl> 770 </li> 771 <li> 772 <h3>NANCancelPublish ( u : publish_id ) --> nothing</h3> 773 <p>Cancel a previously added NAN USD published service.</p> 774 <h4>Arguments</h4> 775 <dl> 776 <dt>u : publish_id</dt> 777 <dd>Publish ID from NANPublish().</dd> 778 </dl> 779 <h4>Possible errors</h4> 780 <dl> 781 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 782 <dd>Invalid entries were found in the passed argument.</dd> 783 </dl> 784 </li> 785 <li> 786 <h3>NANUpdatePublish ( a{sv} : args ) --> nothing</h3> 787 <p>Update the SSI of a previous added NAN publish for the interface.</p> 788 <h4>Arguments</h4> 789 <dl> 790 <dt>a{sv} : args</dt> 791 <dd> 792 A dictionary with following parameters: 793 <table> 794 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 795 <tr><td>publish_id</td><td>i</td><td>Publish ID to be updated</td><td>yes</td></tr> 796 <tr><td>ssi</td><td>ay</td><td>Service specific information</td><td></td></tr> 797 </table> 798 </dd> 799 </dl> 800 <h4>Possible errors</h4> 801 <dl> 802 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 803 <dd>Invalid entries were found in the passed argument.</dd> 804 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 805 <dd>Needed memory was not possible to get allocated.</dd> 806 </dl> 807 </li> 808 <li> 809 <h3>NANSubscribe ( a{sv} : args ) --> u : subscribe_id</h3> 810 <p>Subscribe to a NAN USD service.</p> 811 <h4>Arguments</h4> 812 <dl> 813 <dt>a{sv} : args</dt> 814 <dd> 815 A dictionary with following parameters: 816 <table> 817 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 818 <tr><td>srv_name</td><td>s</td><td>Service name</td><td>yes</td></tr> 819 <tr><td>srv_proto_type</td><td>u</td><td>Service Protocol Type</td><td>yes</td></tr> 820 <tr><td>active</td><td>b</td><td>Subscribe type</td><td></td></tr> 821 <tr><td>p2p</td><td>b</td><td>Allow P2P IE to be added into NAN SDFs</td><td></td></tr> 822 <tr><td>ttl</td><td>u</td><td>Time to live (in seconds); 0 = one TX only</td><td></td></tr> 823 <tr><td>freq</td><td>q</td><td>Default frequency in MHz</td><td>yes</td></tr> 824 <tr><td>query_period</td><td>u</td><td>Query period in ms</td><td></td></tr> 825 <tr><td>ssi</td><td>ay</td><td>Service specific information</td><td>yes</td></tr> 826 <tr><td>freq_list</td><td>aq</td><td>frequency list</td><td></td></tr> 827 </table> 828 </dd> 829 </dl> 830 <h4>Possible errors</h4> 831 <dl> 832 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 833 <dd>Invalid entries were found in the passed argument.</dd> 834 </dl> 835 </li> 836 <li> 837 <h3>NANCancelSubscribe ( u : subscribe_id ) --> nothing</h3> 838 <p>Cancel a previously started NAN USD subscription.</p> 839 <h4>Arguments</h4> 840 <dl> 841 <dt>u : subscribe_id</dt> 842 <dd>Subscription ID from NANSubscribe().</dd> 843 </dl> 844 <h4>Possible errors</h4> 845 <dl> 846 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 847 <dd>Invalid entries were found in the passed argument.</dd> 848 </dl> 849 </li> 850 <li> 851 <h3>NANTransmit ( a{sv} : args ) --> nothing</h3> 852 <p>Send a follow-up message for NAN USD service discovery.</p> 853 <h4>Arguments</h4> 854 <dl> 855 <dt>a{sv} : args</dt> 856 <dd> 857 A dictionary with following parameters: 858 <table> 859 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 860 861 <tr><td>handle</td><td>u</td><td>id from NANPublish or NANSubscribe.</td><td>yes</td></tr> 862 <tr><td>req_instance_id</td><td>u</td><td>peer's id</td><td>yes</td></tr> 863 <tr><td>peer_addr</td><td>s</td><td>peer's MAC address</td><td>yes</td></tr> 864 <tr><td>ssi</td><td>ay</td><td>Service specific information</td><td>yes</td></tr> 865 </table> 866 </dd> 867 </dl> 868 <h4>Possible errors</h4> 869 <dl> 870 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 871 <dd>Invalid entries were found in the passed argument.</dd> 872 <dt>fi.w1.wpa_supplicant1.NoMemory</dt> 873 <dd>Needed memory was not possible to get allocated.</dd> 874 </dl> 875 </li> 876 </ul> 877 878\subsection dbus_interface_properties Properties 879 880<ul> 881 <li> 882 <h3>Capabilities - a{sv} - (read)</h3> 883 <p>Capabilities of the interface. Dictionary contains following entries:</p> 884 <table> 885 <tr><th>Key</th><th>Value type</th><th>Description</th> 886 <tr><td>Pairwise</td><td>as</td><td>Possible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "none"</td> 887 <tr><td>Group</td><td>as</td><td>Possible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "wep104", "wep40"</td> 888 <tr><td>GroupMgmt</td><td>as</td><td>Possible array elements: "aes-128-cmac", "bip-gmac-128", "bip-gmac-256", "bip-cmac-256"</td> 889 <tr><td>KeyMgmt</td><td>as</td><td>Possible array elements: "wpa-psk", "wpa-ft-psk", "wpa-psk-sha256", "wpa-eap", "wpa-ft-eap", "wpa-eap-sha256", "sae", "owe", "ieee8021x", "wpa-none", "wps", "none"</td> 890 <tr><td>Protocol</td><td>as</td><td>Possible array elements: "rsn", "wpa"</td> 891 <tr><td>AuthAlg</td><td>as</td><td>Possible array elements: "open", "shared", "leap"</td> 892 <tr><td>Scan</td><td>as</td><td>Possible array elements: "active", "passive", "ssid"</td> 893 <tr><td>Modes</td><td>as</td><td>Possible array elements: "infrastructure", "ad-hoc", "ap"</td> 894 </table> 895 </li> 896 897 <li> 898 <h3>State - s - (read)</h3> 899 <p>A state of the interface. Possible values are: return "disconnected", "inactive", "scanning", "authenticating", "associating", "associated", "4way_handshake", "group_handshake", "completed","unknown".</p> 900 </li> 901 902 <li> 903 <h3>Scanning - b - (read)</h3> 904 <p>Determines if the interface is already scanning or not</p> 905 </li> 906 907 <li> 908 <h3>ApScan - u - (read/write)</h3> 909 <p>Identical to ap_scan entry in wpa_supplicant configuration file. Possible values are 0, 1 or 2.</p> 910 </li> 911 912 <li> 913 <h3>BSSExpireAge - u - (read/write)</h3> 914 <p>Identical to bss_expiration_age entry in wpa_supplicant configuration file.</p> 915 </li> 916 917 <li> 918 <h3>BSSExpireCount - u - (read/write)</h3> 919 <p>Identical to bss_expiration_scan_count entry in wpa_supplicant configuration file.</p> 920 </li> 921 922 <li> 923 <h3>Country - s - (read/write)</h3> 924 <p>Identical to country entry in wpa_supplicant configuration file.</p> 925 </li> 926 927 <li> 928 <h3>Ifname - s - (read)</h3> 929 <p>Name of network interface controlled by the interface, e.g., wlan0.</p> 930 </li> 931 932 <li> 933 <h3>BridgeIfname - s - (read)</h3> 934 <p>Name of bridge network interface controlled by the interface, e.g., br0.</p> 935 </li> 936 937 <li> 938 <h3>Driver - s - (read)</h3> 939 <p>Name of driver used by the interface, e.g., nl80211.</p> 940 </li> 941 942 <li> 943 <h3>ConfigFile - s - (read)</h3> 944 <p>Configuration file path. Returns an empty string if no configuration file is in use.</p> 945 </li> 946 947 <li> 948 <h3>CurrentBSS - o - (read)</h3> 949 <p>Path to D-Bus object representing BSS which wpa_supplicant is associated with, or "/" if is not associated at all.</p> 950 </li> 951 952 <li> 953 <h3>CurrentNetwork - o - (read)</h3> 954 <p>Path to D-Bus object representing configured network which wpa_supplicant uses at the moment, or "/" if doesn't use any.</p> 955 </li> 956 957 <li> 958 <h3>CurrentAuthMode - s - (read)</h3> 959 <p>Current authentication type.</p> 960 </li> 961 962 <li> 963 <h3>Blobs - as - (read)</h3> 964 <p>List of blobs names added to the Interface.</p> 965 </li> 966 967 <li> 968 <h3>BSSs - ao - (read)</h3> 969 <p>List of D-Bus objects paths representing BSSs known to the interface, i.e., scan results.</p> 970 </li> 971 972 <li> 973 <h3>Stations - ao - (read)</h3> 974 <p>List of D-Bus objects paths representing connected stations in AP mode.</p> 975 </li> 976 977 <li> 978 <h3>Networks - ao - (read)</h3> 979 <p>List of D-Bus objects paths representing configured networks.</p> 980 </li> 981 982 <li> 983 <h3>FastReauth - b - (read/write)</h3> 984 <p>Identical to fast_reauth entry in wpa_supplicant configuration file.</p> 985 </li> 986 987 <li> 988 <h3>ScanInterval - i - (read/write)</h3> 989 <p>Time (in seconds) between scans for a suitable AP. Must be >= 0.</p> 990 </li> 991 992 <li> 993 <h3>PKCS11EnginePath - s - (read)</h3> 994 <p>PKCS #11 engine path.</p> 995 </li> 996 997 <li> 998 <h3>PKCS11ModulePath - s - (read)</h3> 999 <p>PKCS #11 module path.</p> 1000 </li> 1001 1002 <li> 1003 <h3>DisconnectReason - i - (read)</h3> 1004 <p>The most recent IEEE 802.11 reason code for disconnect. Negative value indicates locally generated disconnection.</p> 1005 </li> 1006 1007 <li> 1008 <h3>AuthStatusCode - i - (read)</h3> 1009 <p>The most recent IEEE 802.11 status code for authentication.</p> 1010 </li> 1011 1012 <li> 1013 <h3>AssocStatusCode - i - (read)</h3> 1014 <p>The most recent IEEE 802.11 status code for association rejection.</p> 1015 </li> 1016 1017 <li> 1018 <h3>RoamTime - u - (read)</h3> 1019 <p>The most recent roam time in milliseconds.</p> 1020 </li> 1021 1022 <li> 1023 <h3>RoamComplete - b - (read)</h3> 1024 <p>The most recent roam success or failure.</p> 1025 </li> 1026 1027 <li> 1028 <h3>ScanInProgress6GHz - b - (read)</h3> 1029 <p>Whether a 6GHz scan is currently in progress.</p> 1030 </li> 1031 1032 <li> 1033 <h3>SessionLength - u - (read)</h3> 1034 <p>The most recent BSS session length in milliseconds.</p> 1035 </li> 1036 1037 <li> 1038 <h3>BSSTMStatus - u - (read)</h3> 1039 <p>The most recent BSS Transition Management status code.</p> 1040 </li> 1041 1042 <li> 1043 <h3>EapolVersion - s - (read/write)</h3> 1044 <p>IEEE 802.1X/EAPOL version number</p> 1045 </li> 1046 1047 <li> 1048 <h3>Bgscan - s - (read/write)</h3> 1049 <p>Background scan and roaming parameters or an empty string if none</p> 1050 </li> 1051 1052 <li> 1053 <h3>DisableScanOffload - s - (read/write)</h3> 1054 <p>Disable automatic offloading of scan requests</p> 1055 </li> 1056 1057 <li> 1058 <h3>OpenscEnginePath - s - (read/write)</h3> 1059 <p>Path to the OpenSSL engine for opensc</p> 1060 </li> 1061 1062 <li> 1063 <h3>OpensslCiphers - s - (read/write)</h3> 1064 <p>OpenSSL cipher string</p> 1065 </li> 1066 1067 <li> 1068 <h3>PcscReader - s - (read/write)</h3> 1069 <p>PC/SC reader name prefix</p> 1070 </li> 1071 1072 <li> 1073 <h3>PcscPin - s - (read/write)</h3> 1074 <p>PIN for USIM, GSM SIM, and smartcards</p> 1075 </li> 1076 1077 <li> 1078 <h3>ExternalSim - s - (read/write)</h3> 1079 <p>Use external processing for SIM/USIM operations</p> 1080 </li> 1081 1082 <li> 1083 <h3>DriverParam - s - (read/write)</h3> 1084 <p>Driver interface parameters</p> 1085 </li> 1086 1087 <li> 1088 <h3>Dot11RSNAConfigPMKLifetime - s - (read/write)</h3> 1089 <p>Maximum lifetime of a PMK</p> 1090 </li> 1091 1092 <li> 1093 <h3>Dot11RSNAConfigPMKReauthThreshold - s - (read/write)</h3> 1094 <p>PMK re-authentication threshold</p> 1095 </li> 1096 1097 <li> 1098 <h3>Dot11RSNAConfigSATimeout - s - (read/write)</h3> 1099 <p>Security association timeout</p> 1100 </li> 1101 1102 <li> 1103 <h3>BssMaxCount - s - (read/write)</h3> 1104 <p>Maximum number of BSS entries to keep in memory</p> 1105 </li> 1106 1107 <li> 1108 <h3>FilterSsids - s - (read/write)</h3> 1109 <p>SSID-based scan result filtering</p> 1110 </li> 1111 1112 <li> 1113 <h3>FilterRssi - s - (read/write)</h3> 1114 <p>RSSI-based scan result filtering</p> 1115 </li> 1116 1117 <li> 1118 <h3>MaxNumSta - s - (read/write)</h3> 1119 <p>Maximum number of STAs in an AP/P2P GO</p> 1120 </li> 1121 1122 <li> 1123 <h3>DisassocLowAck - s - (read/write)</h3> 1124 <p>Disassocicate stations with massive packet loss</p> 1125 </li> 1126 1127 <li> 1128 <h3>Interworking - s - (read/write)</h3> 1129 <p>Whether Interworking (IEEE 802.11u) is enabled</p> 1130 </li> 1131 1132 <li> 1133 <h3>Hessid - s - (read/write)</h3> 1134 <p>Homogeneous ESS identifier</p> 1135 </li> 1136 1137 <li> 1138 <h3>AccessNetworkType - s - (read/write)</h3> 1139 <p>Access Network Type</p> 1140 </li> 1141 1142 <li> 1143 <h3>PbcInM1 - s - (read/write)</h3> 1144 <p>AP mode WPS probing workaround for PBC with Windows 7</p> 1145 </li> 1146 1147 <li> 1148 <h3>Autoscan - s - (read/write)</h3> 1149 <p>Automatic scan parameters or an empty string if none</p> 1150 </li> 1151 1152 <li> 1153 <h3>WpsNfcDevPwId - s - (read/write)</h3> 1154 <p>NFC Device Password ID for password token</p> 1155 </li> 1156 1157 <li> 1158 <h3>WpsNfcDhPubkey - s - (read/write)</h3> 1159 <p>NFC DH Public Key for password token</p> 1160 </li> 1161 1162 <li> 1163 <h3>WpsNfcDhPrivkey - s - (read/write)</h3> 1164 <p>NFC DH Private Key for password token</p> 1165 </li> 1166 1167 <li> 1168 <h3>WpsNfcDevPw - s - (read/write)</h3> 1169 <p>NFC Device Password for password token</p> 1170 </li> 1171 1172 <li> 1173 <h3>ExtPasswordBackend - s - (read/write)</h3> 1174 <p>External password backend or an empty string if none</p> 1175 </li> 1176 1177 <li> 1178 <h3>P2pGoMaxInactivity - s - (read/write)</h3> 1179 <p>Timeout in seconds to detect STA inactivity</p> 1180 </li> 1181 1182 <li> 1183 <h3>AutoInterworking - s - (read/write)</h3> 1184 <p>Whether to use network selection automatically</p> 1185 </li> 1186 1187 <li> 1188 <h3>Okc - s - (read/write)</h3> 1189 <p>Whether to enable opportunistic key caching by default</p> 1190 </li> 1191 1192 <li> 1193 <h3>Pmf - s - (read/write)</h3> 1194 <p>Whether to enable/require PMF by default</p> 1195 </li> 1196 1197 <li> 1198 <h3>SaeGroups - s - (read/write)</h3> 1199 <p>Preference list of enabled groups for SAE</p> 1200 </li> 1201 1202 <li> 1203 <h3>DtimPeriod - s - (read/write)</h3> 1204 <p>Default DTIM period in Beacon intervals</p> 1205 </li> 1206 1207 <li> 1208 <h3>BeaconInt - s - (read/write)</h3> 1209 <p>Default Beacon interval in TU</p> 1210 </li> 1211 1212 <li> 1213 <h3>IgnoreOldScanRes - s - (read/write)</h3> 1214 <p>Ignore scan results older than request</p> 1215 </li> 1216 1217 <li> 1218 <h3>FreqList - s - (read/write)</h3> 1219 <p>Array of allowed scan frequencies or an empty string for all</p> 1220 </li> 1221 1222 <li> 1223 <h3>ScanCurFreq - s - (read/write)</h3> 1224 <p>Whether to scan only the current channel</p> 1225 </li> 1226 1227 <li> 1228 <h3>SchedScanInterval - s - (read/write)</h3> 1229 <p>schedule scan interval</p> 1230 </li> 1231 1232 <li> 1233 <h3>TdlsExternalControl - s - (read/write)</h3> 1234 <p>External control for TDLS setup requests</p> 1235 </li> 1236 1237 <li> 1238 <h3>WowlanTriggers - s - (read/write)</h3> 1239 <p>Wake-on-WLAN triggers</p> 1240 </li> 1241 1242 <li> 1243 <h3>P2pSearchDelay - s - (read/write)</h3> 1244 <p>Extra delay between concurrent search iterations</p> 1245 </li> 1246 1247 <li> 1248 <h3>MacAddr - s - (read/write)</h3> 1249 <p>MAC address policy default</p> 1250 </li> 1251 1252 <li> 1253 <h3>RandAddrLifetime - s - (read/write)</h3> 1254 <p>Lifetime of random MAC address in seconds</p> 1255 </li> 1256 1257 <li> 1258 <h3>PreassocMacAddr - s - (read/write)</h3> 1259 <p>Pre-association MAC address policy</p> 1260 </li> 1261 1262 <li> 1263 <h3>KeyMgmtOffload - s - (read/write)</h3> 1264 <p>Use key management offload</p> 1265 </li> 1266 1267 <li> 1268 <h3>PassiveScan - s - (read/write)</h3> 1269 <p>Whether to force passive scan for network connection</p> 1270 </li> 1271 1272 <li> 1273 <h3>ReassocSameBssOptim - s - (read/write)</h3> 1274 <p>Whether to optimize reassoc-to-same-BSS</p> 1275 </li> 1276 1277 <li> 1278 <h3>WpsPriority - s - (read/write)</h3> 1279 <p>Priority for the networks added through WPS</p> 1280 </li> 1281 1282 <li> 1283 <h3>MACAddressRandomizationMask - a{say} - (read/write)</h3> 1284 <p>Masks to show which bits not to randomize with MAC address randomization. Possible keys are "scan", "sched_scan", and "pno". Values must be an array of 6 bytes.</p> 1285 <p>When this property is set, the new dictionary replaces the old value, rather than merging them together. Leaving a key out of the dictionary will turn off MAC address randomization for that scan type.</p> 1286 </li> 1287 1288 <li> 1289 <h3>MACAddress - ay - (read)</h3> 1290 <p>MAC address of the interface</p> 1291 </li> 1292 1293 <li> 1294 <h3>SignalChange - "a{sv}" - (read)</h3> 1295 <p>Signal and quality properties of the interface</p> 1296 </li> 1297 </ul> 1298 1299\subsection dbus_interface_signals Signals 1300 1301<ul> 1302 <li> 1303 <h3>ScanDone ( b : success )</h3> 1304 <p>Scanning finished. </p> 1305 <h4>Arguments</h4> 1306 <dl> 1307 <dt>s : success</dt> 1308 <dd>Determines if scanning was successful. If so, results are available.</dd> 1309 </dl> 1310 </li> 1311 1312 <li> 1313 <h3>BSSAdded ( o : BSS, a{sv} : properties )</h3> 1314 <p>Interface became aware of a new BSS.</p> 1315 <h4>Arguments</h4> 1316 <dl> 1317 <dt>o : BSS</dt> 1318 <dd>A D-Bus path to an object representing the new BSS.</dd> 1319 </dl> 1320 <dl> 1321 <dt>a{sv} : properties</dt> 1322 <dd>A dictionary containing properties of added BSS.</dd> 1323 </dl> 1324 </li> 1325 1326 <li> 1327 <h3>BSSRemoved ( o : BSS )</h3> 1328 <p>BSS disappeared.</p> 1329 <h4>Arguments</h4> 1330 <dl> 1331 <dt>o : BSS</dt> 1332 <dd>A D-Bus path to an object representing the BSS.</dd> 1333 </dl> 1334 </li> 1335 1336 <li> 1337 <h3>BlobAdded ( s : blobName )</h3> 1338 <p>A new blob has been added to the interface.</p> 1339 <h4>Arguments</h4> 1340 <dl> 1341 <dt>s : blobName</dt> 1342 <dd>A name of the added blob.</dd> 1343 </dl> 1344 </li> 1345 1346 <li> 1347 <h3>BlobRemoved ( s : blobName )</h3> 1348 <p>A blob has been removed from the interface.</p> 1349 <h4>Arguments</h4> 1350 <dl> 1351 <dt>s : blobName</dt> 1352 <dd>A name of the removed blob.</dd> 1353 </dl> 1354 </li> 1355 1356 <li> 1357 <h3>NetworkAdded ( o : network, a{sv} : properties )</h3> 1358 <p>A new network has been added to the interface.</p> 1359 <h4>Arguments</h4> 1360 <dl> 1361 <dt>o : network</dt> 1362 <dd>A D-Bus path to an object representing the added network.</dd> 1363 </dl> 1364 <dl> 1365 <dt>a{sv} : properties</dt> 1366 <dd>A dictionary containing properties of added network.</dd> 1367 </dl> 1368 </li> 1369 1370 <li> 1371 <h3>NetworkRemoved ( o : network )</h3> 1372 <p>The network has been removed from the interface.</p> 1373 <h4>Arguments</h4> 1374 <dl> 1375 <dt>o : network</dt> 1376 <dd>A D-Bus path to an object representing the removed network.</dd> 1377 </dl> 1378 </li> 1379 1380 <li> 1381 <h3>NetworkSelected ( o : network )</h3> 1382 <p>The network has been selected.</p> 1383 <h4>Arguments</h4> 1384 <dl> 1385 <dt>o : network</dt> 1386 <dd>A D-Bus path to an object representing the selected network.</dd> 1387 </dl> 1388 </li> 1389 1390 <li> 1391 <h3>StaAuthorized ( s : mac )</h3> 1392 <p>A new station has been authorized to the interface.</p> 1393 <h4>Arguments</h4> 1394 <dl> 1395 <dt>s : mac</dt> 1396 <dd>A mac address which has been authorized.</dd> 1397 </dl> 1398 </li> 1399 1400 <li> 1401 <h3>StaDeauthorized ( s : mac )</h3> 1402 <p>A station has been deauthorized to the interface.</p> 1403 <h4>Arguments</h4> 1404 <dl> 1405 <dt>s : mac</dt> 1406 <dd>A mac address which has been deauthorized.</dd> 1407 </dl> 1408 </li> 1409 1410 <li> 1411 <h3>StationAdded ( o : Station, a{sv} : properties )</h3> 1412 <p>A new station has been added to the interface.</p> 1413 <p>This signal complements StaAuthorized, passing the Station object and its properties.</p> 1414 <h4>Arguments</h4> 1415 <dl> 1416 <dt>o : Station</dt> 1417 <dd>A D-Bus path to an object representing the new Station.</dd> 1418 </dl> 1419 <dl> 1420 <dt>a{sv} : properties</dt> 1421 <dd>A dictionary containing properties of added Station.</dd> 1422 </dl> 1423 </li> 1424 1425 <li> 1426 <h3>StationRemoved ( o : Station )</h3> 1427 <p>The station has been removed from the interface.</p> 1428 <p>This signal complements StaDeauthorized, passing the Station object.</p> 1429 <h4>Arguments</h4> 1430 <dl> 1431 <dt>o : Station</dt> 1432 <dd>A D-Bus path to an object representing the Station.</dd> 1433 </dl> 1434 </li> 1435 1436 <li> 1437 <h3>PropertiesChanged ( a{sv} : properties )</h3> 1438 <p>Some properties have changed.</p> 1439 <h4>Arguments</h4> 1440 <dl> 1441 <dt>a{sv} : properties</dt> 1442 <dd>A dictionary with pairs of properties names which have changed and their new values. Possible dictionary keys are: "ApScan", "Scanning", "State", "CurrentBSS", "CurrentNetwork", "SignalChange"</dd> 1443 </dl> 1444 </li> 1445 1446 <li> 1447 <h3>Certification ( a{sv} : parameters )</h3> 1448 <p>Information about server TLS certificates.</p> 1449 <h4>Arguments</h4> 1450 <dl> 1451 <dt>a{sv} : parameters</dt> 1452 <dd>A dictionary with pairs of field names and their values. Possible dictionary keys are: "depth", "subject", "altsubject", "cert_hash", "cert".</dd> 1453 </dl> 1454 </li> 1455 1456 <li> 1457 <h3>EAP ( s : status, s : parameter )</h3> 1458 <p>Information about EAP peer status.</p> 1459 <h4>Arguments</h4> 1460 <dl> 1461 <dt>s : status</dt> 1462 <dd>Operation, e.g., "started", "accept proposed method", "remote certificate verification", "eap parameter needed", "completion".</dd> 1463 <dt>s : parameter</dt> 1464 <dd>Information about the operation, e.g., EAP method name, "success".</dd> 1465 </dl> 1466 </li> 1467 1468 <li> 1469 <h3>NetworkRequest ( o : network, s : field, s : txt )</h3> 1470 <p>Request for network parameter. NetworkResponse() is used to provide the requested parameter.</p> 1471 <h4>Arguments</h4> 1472 <dl> 1473 <dt>o : network</dt> 1474 <dd>D-Bus path to an object representing the network.</dd> 1475 <dt>s : field</dt> 1476 <dd>Requested information, e.g., "PASSWORD".</dd> 1477 <dt>txt : field</dt> 1478 <dd>Human readable information about the requested information.</dd> 1479 </dl> 1480 </li> 1481 1482 <li> 1483 <h3>ProbeRequest ( a{sv} : args )</h3> 1484 <p>Information about a received Probe Request frame. This signal is delivered only to a single application that has subscribed to received the events with SubscribeProbeReq().</p> 1485 <h4>Arguments</h4> 1486 <dl> 1487 <dt>a{sv} : args</dt> 1488 <dd>A dictionary with pairs of field names and their values. Possible dictionary keys are: "addr", "dst", "bssid", "ies", "signal".</dd> 1489 </dl> 1490 </li> 1491 1492 <li> 1493 <h3>InterworkingAPAdded ( o : bss, o : cred, a{sv} : args )</h3> 1494 </li> 1495 1496 <li> 1497 <h3>InterworkingSelectDone ( )</h3> 1498 </li> 1499 1500 <li> 1501 <h3>PskMismatch ( )</h3> 1502 <p>A possible PSK mismatch is identified.</p> 1503 </li> 1504 1505 <li> 1506 <h3>HS20TermsAndConditions ( s : url )</h3> 1507 <p>A terms and conditions page is present. This signal is delivered when the network requires acceptance of the terms and conditions.</p> 1508 <dl> 1509 <dt>s : url</dt> 1510 <dd>URL of the terms and conditions page.</dd> 1511 </dl> 1512 </li> 1513 1514 <li> 1515 <h3>ANQPQueryDone ( s : addr, s : result )</h3> 1516 <p>Result of an ANQP query.</p> 1517 <dl> 1518 <dt>s : addr</dt> 1519 <dd>Address of the BSS targeted by the query.</dd> 1520 <dt>s : result</dt> 1521 <dd>Determine if the request was successful. If so fields are available in BSS.</dd> 1522 </dl> 1523 </li> 1524 1525 <li> 1526 <h3>NANDiscoveryResult ( a{sv} : args )</h3> 1527 <p>The DiscoveryResult event in the NAN Discovery Engine to indicate the result of an NANSubscribe.</p> 1528 <dl> 1529 <dt>a{sv} : args</dt> 1530 <dd>A dictionary with pairs of field names and their values. Possible dictionary keys are: "subscribe_id", "publish_id", "peer_addr", "fsd", "fsd_gas", "srv_proto_type", "ssi"</dd> 1531 </dl> 1532 </li> 1533 <li> 1534 <h3>NANReplied ( a{sv} : args )</h3> 1535 <p>The Replied event in the NAN Discovery Engine.</p> 1536 <dl> 1537 <dt>a{sv} : args</dt> 1538 <dd>A dictionary with pairs of field names and their values. Possible dictionary keys are: "publish_id", "subscribe_id", "peer_addr", "srv_proto_type", "ssi"</dd> 1539 </dl> 1540 </li> 1541 <li> 1542 <h3>NANReceive ( a{sv} : args )</h3> 1543 <p>The Receive event in the NAN Discovery Engine.</p> 1544 <dl> 1545 <dt>a{sv} : nanrx</dt> 1546 <dd>A dictionary with pairs of field names and their values. Possible dictionary keys are: "id", "peer_id", "peer_addr", "ssi"</dd> 1547 </dl> 1548 </li> 1549 <li> 1550 <h3>NANPublishTerminated ( u : publish_id, s : reason )</h3> 1551 <p>The PublishTerminated event in the NAN Discovery Engine.</p> 1552 <dl> 1553 <dt>u : publish_id</dt> 1554 <dd>The terminated publish_id</dd> 1555 <dt>s : reason</dt> 1556 <dd>The reason of termination</dd> 1557 </dl> 1558 </li> 1559 <li> 1560 <h3>NANSubscribeTerminated ( u : subscribe_id, s : reason )</h3> 1561 <p>The SubscribeTerminated event in the NAN Discovery Engine.</p> 1562 <dl> 1563 <dt>u : subscribe_id</dt> 1564 <dd>The terminated subscribe_id</dd> 1565 <dt>s : reason</dt> 1566 <dd>The reason of termination</dd> 1567 </dl> 1568 </li> 1569 </ul> 1570 1571 1572\section dbus_wps fi.w1.wpa_supplicant1.Interface.WPS 1573 1574Interface for performing WPS (Wi-Fi Simple Config) operations. 1575 1576\subsection dbus_wps_methods Methods 1577 1578<ul> 1579 <li> 1580 <h3>Start ( a{sv} : args ) --> a{sv} : output</h3> 1581 <p>Starts WPS configuration. Note: When used with P2P groups, this needs to be issued on the GO group interface.</p> 1582 <h4>Arguments</h4> 1583 <dl> 1584 <dt>a{sv} : args</dt> 1585 <dd> 1586 A dictionary with arguments used to start WPS configuration. The dictionary may contain the following entries: 1587 <table> 1588 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 1589 <tr><td>Role</td><td>s</td><td>The device's role. Possible values are "enrollee" and "registrar".</td><td>Yes</td> 1590 <tr><td>Type</td><td>s</td><td>WPS authentication type. Applies only for enrollee role. Possible values are "pin" and "pbc".</td><td>Yes, for enrollee role; otherwise no</td> 1591 <tr><td>Pin</td><td>s</td><td>WPS Pin.</td><td>Yes, for registrar role; otherwise optional</td> 1592 <tr><td>Bssid</td><td>ay</td><td>Note: This is used to specify the peer MAC address when authorizing WPS connection in AP or P2P GO role.</td><td>No</td> 1593 <tr><td>P2PDeviceAddress</td><td>ay</td><td>P2P Device Address of a peer to authorize for PBC connection. Used only in P2P GO role.</td><td>No</td> 1594 </table> 1595 </dd> 1596 </dl> 1597 <h4>Returns</h4> 1598 <dl> 1599 <dt>a{sv} : output</dt> 1600 <dd> 1601 <table> 1602 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th> 1603 <tr><td>Pin</td><td>s</td><td>Newly generated PIN, if not specified for enrollee role and pin authentication type.</td><td>No</td> 1604 </table> 1605 </dd> 1606 </dl> 1607 <h4>Possible errors</h4> 1608 <dl> 1609 <dt>fi.w1.wpa_supplicant1.UnknownError</dt> 1610 <dd>Starting WPS configuration failed for an unknown reason.</dd> 1611 <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt> 1612 <dd>Invalid entries were found in the passed argument.</dd> 1613 </dl> 1614 </li> 1615 <li> 1616 <h3>Cancel ( nothing ) --> nothing</h3> 1617 <p>Cancel ongoing WPS operation.</p> 1618 </li> 1619 </ul> 1620 1621\subsection dbus_wps_properties Properties 1622 1623<ul> 1624 <li> 1625 <h3>ProcessCredentials - b - (read/write)</h3> 1626 <p>Determines if the interface will process the credentials (credentials_processed configuration file parameter).</p> 1627 </li> 1628 <li> 1629 <h3>ConfigMethods - s - (read/write)</h3> 1630 <p>The currently advertised WPS configuration methods. Available methods: usba ethernet label display ext_nfc_token int_nfc_token nfc_interface push_button keypad virtual_display physical_display virtual_push_button physical_push_button.</p> 1631 </li> 1632 <li> 1633 <h3>DeviceName - s - (read/write)</h3> 1634 <p>User-friendly description of device; up to 32 octets encoded in UTF-8.</p> 1635 </li> 1636 <li> 1637 <h3>Manufacturer - s - (read/write)</h3> 1638 <p>The manufacturer of the device (up to 64 ASCII characters).</p> 1639 </li> 1640 <li> 1641 <h3>ModelName - s - (read/write)</h3> 1642 <p>Model of the device (up to 32 ASCII characters).</p> 1643 </li> 1644 <li> 1645 <h3>ModelNumber - s - (read/write)</h3> 1646 <p>Additional device description (up to 32 ASCII characters).</p> 1647 </li> 1648 <li> 1649 <h3>SerialNumber - s - (read/write)</h3> 1650 <p>Serial number of the device (up to 32 characters).</p> 1651 </li> 1652 <li> 1653 <h3>DeviceType - ay - (read/write)</h3> 1654 <p>Device Type (8 octet value with 2 octet category, 4 octet OUI, 2 octet subcategory.</p> 1655 </li> 1656 </ul> 1657 1658\subsection dbus_wps_signals Signals 1659 1660<ul> 1661 <li> 1662 <h3>Event ( s : name, a{sv} : args )</h3> 1663 <p>WPS event occurred.</p> 1664 <h4>Arguments</h4> 1665 <dl> 1666 <dt>s : event</dt> 1667 <dd>Event type. Possible values are: "success, "fail", "m2d", and 1668 "pbc-overlap".</dd> 1669 <dt>a{sv} : args</dt> 1670 <dd> 1671 Event arguments. Empty for success and pbc-overlap events, error information ( "msg" : i, "config_error" : i, "error_indication" : i ) for fail event and following entries for m2d event: 1672 <table> 1673 <tr><th>config_methods</th><th>Value type</th> 1674 <tr><td>manufacturer</td><td>q</td> 1675 <tr><td>model_name</td><td>ay</td> 1676 <tr><td>model_number</td><td>ay</td> 1677 <tr><td>serial_number</td><td>ay</td> 1678 <tr><td>dev_name</td><td>ay</td> 1679 <tr><td>primary_dev_type</td><td>ay</td> 1680 <tr><td>config_error</td><td>q</td> 1681 <tr><td>dev_password_id</td><td>q</td> 1682 </table> 1683 </dd> 1684 </dl> 1685 </li> 1686 1687 <li> 1688 <h3>Credentials ( a{sv} : credentials )</h3> 1689 <p>WPS credentials. Dictionary contains:</p> 1690 <table> 1691 <tr><th>Key</th><th>Value type</th><th>Description</th> 1692 <tr><td>BSSID</td><td>ay</td><td></td> 1693 <tr><td>SSID</td><td>s</td><td></td> 1694 <tr><td>AuthType</td><td>as</td><td>Possible array elements: "open", "shared", "wpa-psk", "wpa-eap", "wpa2-eap", "wpa2-psk"</td> 1695 <tr><td>EncrType</td><td>as</td><td>Possible array elements: "none", "wep", "tkip", "aes"</td> 1696 <tr><td>Key</td><td>ay</td><td>Key data</td> 1697 <tr><td>KeyIndex</td><td>u</td><td>Key index</td> 1698 </table> 1699 </li> 1700 1701 <li> 1702 <h3>PropertiesChanged ( a{sv} : properties )</h3> 1703 <p>Some properties have changed.</p> 1704 <h4>Arguments</h4> 1705 <dl> 1706 <dt>a{sv} : properties</dt> 1707 <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "ProcessCredentials"</dd> 1708 </dl> 1709 </li> 1710 </ul> 1711 1712 1713\section dbus_p2pdevice fi.w1.wpa_supplicant1.Interface.P2PDevice 1714 1715Interface for performing P2P (Wi-Fi Peer-to-Peer) P2P Device operations. 1716 1717\subsection dbus_p2pdevice_methods Methods 1718 1719<ul> 1720 <li> 1721 <h3>Find ( a{sv} : args ) --> nothing</h3> 1722 <p>Start P2P find operation (i.e., alternating P2P Search and Listen states to discover peers and be discoverable).</p> 1723 <h4>Arguments</h4> 1724 <dl> 1725 <dt>a{sv} : args</dt> 1726 <dd> 1727 A dictionary with parameters for the P2P find operation: 1728 <table> 1729 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1730 <tr><td>Timeout</td><td>i</td><td>Timeout for operating in seconds</td><td>no</td></tr> 1731 <tr><td>RequestedDeviceTypes</td><td>aay</td><td>WPS Device Types to search for</td><td>no</td></tr> 1732 <tr><td>DiscoveryType</td><td>s</td><td>"start_with_full" (default, if not specified), "social", "progressive"</td><td>no</td></tr> 1733 <tr><td>freq</td><td>i</td><td>Initial scan channel (frequency in MHz) for the start_with_full case to limit the initial scan to the specified channel</td><td>no</td></tr> 1734 </table> 1735 </dd> 1736 </dl> 1737 </li> 1738 1739 <li> 1740 <h3>StopFind ( nothing ) --> nothing</h3> 1741 <p>Stop P2P find operation.</p> 1742 </li> 1743 1744 <li> 1745 <h3>Listen ( i : timeout ) --> nothing</h3> 1746 <p>Start P2P listen operation (i.e., be discoverable).</p> 1747 <h4>Arguments</h4> 1748 <dl> 1749 <dt>i : timeout</dt> 1750 <dd>Timeout in seconds for stopping the listen operation.</dd> 1751 </dl> 1752 </li> 1753 1754 <li> 1755 <h3>ExtendedListen ( a{sv} : args ) --> nothing</h3> 1756 <p>Configure Extended Listen Timing. If the parameters are omitted, this feature is disabled. If the parameters are included, Listen State will be entered every interval msec for at least period msec. Both values have acceptable range of 1-65535 (with interval obviously having to be larger than or equal to duration). If the P2P module is not idle at the time the Extended Listen Timing timeout occurs, the Listen State operation will be skipped.</p> 1757 <h4>Arguments</h4> 1758 <dl> 1759 <dt>a{sv} : args</dt> 1760 <dd> 1761 A dictionary with parameters for extended listen. Leave out all items to disable extended listen. 1762 <table> 1763 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1764 <tr><td>period</td><td>i</td><td>Extended listen period in milliseconds; 1-65535.</td><td>no</td></tr> 1765 <tr><td>interval</td><td>i</td><td>Extended listen interval in milliseconds; 1-65535.</td><td>no</td></tr> 1766 </table> 1767 </dd> 1768 </dl> 1769 </li> 1770 1771 <li> 1772 <h3>PresenceRequest ( a{sv} : args ) --> nothing</h3> 1773 <p>Request a specific GO presence in a P2P group where the local device is a P2P Client. Send a P2P Presence Request to the GO (this is only available when acting as a P2P client). If no duration/interval pairs are given, the request indicates that this client has no special needs for GO presence. The first parameter pair gives the preferred duration and interval values in microseconds. If the second pair is included, that indicates which value would be acceptable. 1774 \note This needs to be issued on a P2P group interface if separate group interfaces are used. 1775 \bug It would be cleaner to not require .P2PDevice methods to be issued on a group interface. In other words, args['group_object'] could be used to specify the group or this method could be moved to be a .Group PresenceRequest() method.</p> 1776 <h4>Arguments</h4> 1777 <dl> 1778 <dt>a{sv} : args</dt> 1779 <dd> 1780 A dictionary with parameters for the presence request. 1781 <table> 1782 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1783 <tr><td>duration1</td><td>i</td><td>Duration in microseconds.</td><td>no</td></tr> 1784 <tr><td>interval1</td><td>i</td><td>Interval in microseconds.</td><td>no</td></tr> 1785 <tr><td>duration2</td><td>i</td><td>Duration in microseconds.</td><td>no</td></tr> 1786 <tr><td>interval2</td><td>i</td><td>Interval in microseconds.</td><td>no</td></tr> 1787 </table> 1788 </dd> 1789 </dl> 1790 </li> 1791 1792 <li> 1793 <h3>ProvisionDiscoveryRequest ( o : peer, s : config_method ) --> nothing</h3> 1794 </li> 1795 1796 <li> 1797 <h3>Connect ( a{sv} : args ) --> s : generated_pin</h3> 1798 <p>Request a P2P group to be started through GO Negotiation or by joining an already operating group.</p> 1799 <h4>Arguments</h4> 1800 <dl> 1801 <dt>a{sv} : args</dt> 1802 <dd> 1803 A dictionary with parameters for the requested connection: 1804 <table> 1805 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1806 <tr><td>peer</td><td>o</td><td></td><td>yes</td></tr> 1807 <tr><td>persistent</td><td>b</td><td>Whether to form a persistent group.</td><td>no</td></tr> 1808 <tr><td>join</td><td>b</td><td>Whether to join an already operating group instead of forming a new group.</td><td>no</td></tr> 1809 <tr><td>authorize_only</td><td>b</td><td>Whether to authorize a peer to initiate GO Negotiation instead of initiating immediately.</td><td>no</td></tr> 1810 <tr><td>frequency</td><td>i</td><td>Operating frequency in MHz</td><td>no</td></tr> 1811 <tr><td>go_intent</td><td>i</td><td>GO intent 0-15</td><td>no</td></tr> 1812 <tr><td>wps_method</td><td>s</td><td>"pbc", "display", "keypad", "pin" (alias for "display")</td><td>yes</td></tr> 1813 <tr><td>pin</td><td>s</td><td></td><td>no</td></tr> 1814 </table> 1815 </dd> 1816 </dl> 1817 </li> 1818 1819 <li> 1820 <h3>GroupAdd ( a{sv} : args ) --> nothing</h3> 1821 <p>Request a P2P group to be started without GO Negotiation.</p> 1822 <h4>Arguments</h4> 1823 <dl> 1824 <dt>a{sv} : args</dt> 1825 <dd> 1826 A dictionary with parameters for the requested group: 1827 <table> 1828 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1829 <tr><td>persistent</td><td>b</td><td>Whether to form a persistent group.</td><td>no</td></tr> 1830 <tr><td>persistent_group_object</td><td>o</td><td></td><td>no</td></tr> 1831 <tr><td>frequency</td><td>i</td><td>Operating frequency in MHz</td><td>no</td></tr> 1832 <tr><td>retry_limit</td><td>i</td><td>Optional limit on the number of scan attempts to join a group</td><td>no</td></tr> 1833 <tr><td>ht40</td><td>b</td><td></td><td>no</td></tr> 1834 <tr><td>vht</td><td>b</td><td></td><td>no</td></tr> 1835 <tr><td>he</td><td>b</td><td></td><td>no</td></tr> 1836 <tr><td>edmg</td><td>b</td><td></td><td>no</td></tr> 1837 <tr><td>allow_6ghz</td><td>b</td><td></td><td>no</td></tr> 1838 <tr><td>freq2</td><td>i</td><td>Center frequency in MHz for segment 2 when operating in 80 MHz + 80 MHz mode</td><td>no</td></tr> 1839 <tr><td>max_oper_chwidth</td><td>i</td><td>Maximum operating channel width in MHz (20, 40, 80, 160, 320)</td><td>no</td></tr> 1840 </table> 1841 </dd> 1842 </dl> 1843 </li> 1844 1845 <li> 1846 <h3>Cancel ( nothing ) --> nothing</h3> 1847 <p>Stop ongoing P2P group formation operation.</p> 1848 </li> 1849 1850 <li> 1851 <h3>Invite ( a{sv} : args ) --> nothing</h3> 1852 <p>Invite a peer to join an already operating group or to re-invoke a persistent group.</p> 1853 <h4>Arguments</h4> 1854 <dl> 1855 <dt>a{sv} : args</dt> 1856 <dd> 1857 A dictionary with parameters for the invitation: 1858 <table> 1859 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1860 <tr><td>peer</td><td>o</td><td></td><td>yes</td></tr> 1861 <tr><td>persistent_group_object</td><td>o</td><td></td><td>no</td></tr> 1862 </table> 1863 </dd> 1864 </dl> 1865 </li> 1866 1867 <li> 1868 <h3>Disconnect ( nothing ) --> nothing</h3> 1869 <p>Terminate a P2P group. 1870 \note This needs to be issued on a P2P group interface if separate group interfaces are used. 1871 \bug It would be cleaner to not require .P2PDevice methods to be issued on a group interface. In other words, this would either need to be Disconnect(group_object) or moved to be a .Group Disconnect() method.</p> 1872 </li> 1873 1874 <li> 1875 <h3>RejectPeer ( o : peer ) --> nothing</h3> 1876 <p>Reject connection attempt from a peer (specified with a device address). This is a mechanism to reject a pending GO Negotiation with a peer and request to automatically block any further connection or discovery of the peer.</p> 1877 </li> 1878 1879 <li> 1880 <h3>RemoveClient ( a{sv} : args ) --> nothing</h3> 1881 <p>Remove the client from all groups (operating and persistent) from the local GO.</p> 1882 <h4>Arguments</h4> 1883 <dl> 1884 <dt>a{sv} : args</dt> 1885 <dd> 1886 A dictionary with parameters for removing a client: 1887 <table> 1888 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1889 <tr><td>peer</td><td>o</td><td>Object path for peer's P2P Device Address</td><td>yes</td></tr> 1890 <tr><td>iface</td><td>s</td><td>Interface address[MAC Address format] of the peer to be disconnected. Required if object path is not provided.</td><td>no</td></tr> 1891 </table> 1892 </dd> 1893 </dl> 1894 </li> 1895 1896 <li> 1897 <h3>Flush ( nothing ) --> nothing</h3> 1898 <p>Flush P2P peer table and state.</p> 1899 </li> 1900 1901 <li> 1902 <h3>AddService ( a{sv} : args ) --> nothing</h3> 1903 <p></p> 1904 <h4>Arguments</h4> 1905 <dl> 1906 <dt>a{sv} : args</dt> 1907 <dd> 1908 A dictionary with parameters for the service: 1909 <table> 1910 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1911 <tr><td>service_type</td><td>s</td><td>"upnp", "bonjour"</td><td>yes</td></tr> 1912 <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr> 1913 <tr><td>service</td><td>s</td><td></td><td></td></tr> 1914 <tr><td>query</td><td>ay</td><td></td><td></td></tr> 1915 <tr><td>response</td><td>ay</td><td></td><td></td></tr> 1916 </table> 1917 </dd> 1918 </dl> 1919 </li> 1920 1921 <li> 1922 <h3>DeleteService ( a{sv} : args ) --> nothing</h3> 1923 <p></p> 1924 <h4>Arguments</h4> 1925 <dl> 1926 <dt>a{sv} : args</dt> 1927 <dd> 1928 A dictionary with parameters for the service: 1929 <table> 1930 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1931 <tr><td>service_type</td><td>s</td><td>"upnp", "bonjour"</td><td>yes</td></tr> 1932 <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr> 1933 <tr><td>service</td><td>s</td><td></td><td></td></tr> 1934 <tr><td>query</td><td>ay</td><td></td><td></td></tr> 1935 </table> 1936 </dd> 1937 </dl> 1938 </li> 1939 1940 <li> 1941 <h3>FlushService ( nothing ) --> nothing</h3> 1942 </li> 1943 1944 <li> 1945 <h3>ServiceDiscoveryRequest ( a{sv} : args ) --> t : ref</h3> 1946 <p></p> 1947 <h4>Arguments</h4> 1948 <dl> 1949 <dt>a{sv} : args</dt> 1950 <dd> 1951 A dictionary with following parameters: 1952 <table> 1953 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1954 <tr><td>peer_object</td><td>o</td><td></td><td>no</td></tr> 1955 <tr><td>service_type</td><td>s</td><td>"upnp"</td><td>no</td></tr> 1956 <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr> 1957 <tr><td>service</td><td>s</td><td></td><td></td></tr> 1958 <tr><td>tlv</td><td>ay</td><td></td><td></td></tr> 1959 </table> 1960 </dd> 1961 </dl> 1962 </li> 1963 1964 <li> 1965 <h3>ServiceDiscoveryResponse ( a{sv} : args ) --> nothing : ref</h3> 1966 <p></p> 1967 <h4>Arguments</h4> 1968 <dl> 1969 <dt>a{sv} : args</dt> 1970 <dd> 1971 A dictionary with following parameters: 1972 <table> 1973 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 1974 <tr><td>peer_object</td><td>o</td><td></td><td>yes</td></tr> 1975 <tr><td>frequency</td><td>i</td><td></td><td>yes</td></tr> 1976 <tr><td>dialog_token</td><td>i</td><td></td><td>yes</td></tr> 1977 <tr><td>tlvs</td><td>ay</td><td></td><td>yes</td></tr> 1978 </table> 1979 </dd> 1980 </dl> 1981 </li> 1982 1983 <li> 1984 <h3>ServiceDiscoveryCancelRequest ( t : args ) --> nothing : ref</h3> 1985 </li> 1986 1987 <li> 1988 <h3>ServiceUpdate ( nothing ) --> nothing</h3> 1989 </li> 1990 1991 <li> 1992 <h3>ServiceDiscoveryExternal ( i : arg ) --> nothing</h3> 1993 </li> 1994 1995 <li> 1996 <h3>AddPersistentGroup ( a{sv} : args ) --> o : path</h3> 1997 <p></p> 1998 <h4>Arguments</h4> 1999 <dl> 2000 <dt>a{sv} : args</dt> 2001 <dd> 2002 A dictionary with following parameters: 2003 <table> 2004 <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr> 2005 <tr><td>bssid</td><td>s</td><td>P2P Device Address of the GO in the persistent group.</td><td>yes</td></tr> 2006 <tr><td>ssid</td><td>s</td><td>SSID of the group</td><td>yes</td></tr> 2007 <tr><td>psk</td><td>s</td><td>Passphrase (on the GO and optionally on P2P Client) or PSK (on P2P Client if passphrase ise not known)</td><td>yes</td></tr> 2008 <tr><td>mode</td><td>s</td><td>"3" on GO or "0" on P2P Client</td><td>yes</td></tr> 2009 </table> 2010 </dd> 2011 </dl> 2012 </li> 2013 2014 <li> 2015 <h3>RemovePersistentGroup ( o : path ) --> nothing</h3> 2016 </li> 2017 2018 <li> 2019 <h3>RemoveAllPersistentGroups ( nothing ) --> nothing</h3> 2020 </li> 2021</ul> 2022 2023\subsection dbus_p2pdevice_properties Properties 2024 2025<ul> 2026 <li> 2027 <h3>P2PDeviceConfig - a{sv} - (read/write)</h3> 2028 <p>Dictionary with following entries. On write, only the included values are changed.</p> 2029 <table> 2030 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2031 <tr><td>DeviceName</td><td>s</td><td></td></tr> 2032 <tr><td>PrimaryDeviceType</td><td>ay</td><td></td></tr> 2033 <tr><td>SecondaryDeviceTypes</td><td>aay</td><td></td></tr> 2034 <tr><td>VendorExtension</td><td>aay</td><td></td></tr> 2035 <tr><td>GOIntent</td><td>u</td><td></td></tr> 2036 <tr><td>PersistentReconnect</td><td>b</td><td></td></tr> 2037 <tr><td>ListenRegClass</td><td>u</td><td></td></tr> 2038 <tr><td>ListenChannel</td><td>u</td><td></td></tr> 2039 <tr><td>OperRegClass</td><td>u</td><td></td></tr> 2040 <tr><td>OperChannel</td><td>u</td><td></td></tr> 2041 <tr><td>SsidPostfix</td><td>s</td><td></td></tr> 2042 <tr><td>IntraBss</td><td>b</td><td></td></tr> 2043 <tr><td>GroupIdle</td><td>u</td><td></td></tr> 2044 <tr><td>disassoc_low_ack</td><td>u</td><td></td></tr> 2045 <tr><td>NoGroupIface</td><td>b</td><td></td></tr> 2046 <tr><td>p2p_search_delay</td><td>u</td><td></td></tr> 2047 </table> 2048 </li> 2049 2050 <li> 2051 <h3>Peers - ao - (read)</h3> 2052 </li> 2053 2054 <li> 2055 <h3>Role - s - (read)</h3> 2056 <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property role since there can be multiple concurrent groups and the P2P Device role is always active anyway.</p> 2057 </li> 2058 2059 <li> 2060 <h3>Group - o - (read)</h3> 2061 <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property Group since there can be multiple concurrent groups.</p> 2062 </li> 2063 2064 <li> 2065 <h3>PeerGO - o - (read)</h3> 2066 <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property PeerGO since there can be multiple concurrent groups.</p> 2067 </li> 2068 2069 <li> 2070 <h3>PersistentGroups - ao - (read)</h3> 2071 </li> 2072</ul> 2073 2074\subsection dbus_p2pdevice_signals Signals 2075 2076<ul> 2077 <li> 2078 <h3>DeviceFound ( o : path )</h3> 2079 </li> 2080 2081 <li> 2082 <h3>DeviceFoundProperties ( o : path, a{sv} : properties )</h3> 2083 <p>A new peer device has been found.</p> 2084 <h4>Arguments</h4> 2085 <dl> 2086 <dt>o : path</dt> 2087 <dd>A D-Bus path to an object representing the found peer device.</dd> 2088 </dl> 2089 <dl> 2090 <dt>a{sv} : properties</dt> 2091 <dd>A dictionary containing properties of the found peer device.</dd> 2092 </dl> 2093 </li> 2094 2095 <li> 2096 <h3>DeviceLost ( o : path )</h3> 2097 </li> 2098 2099 <li> 2100 <h3>FindStopped ( )</h3> 2101 </li> 2102 2103 <li> 2104 <h3>ProvisionDiscoveryRequestDisplayPin ( o : peer_object, s : pin )</h3> 2105 </li> 2106 2107 <li> 2108 <h3>ProvisionDiscoveryResponseDisplayPin ( o : peer_object, s : pin )</h3> 2109 </li> 2110 2111 <li> 2112 <h3>ProvisionDiscoveryRequestEnterPin ( o : peer_object )</h3> 2113 </li> 2114 2115 <li> 2116 <h3>ProvisionDiscoveryResponseEnterPin ( o : peer_object )</h3> 2117 </li> 2118 2119 <li> 2120 <h3>ProvisionDiscoveryPBCRequest ( o : peer_object )</h3> 2121 </li> 2122 2123 <li> 2124 <h3>ProvisionDiscoveryPBCResponse ( o : peer_object )</h3> 2125 </li> 2126 2127 <li> 2128 <h3>ProvisionDiscoveryFailure ( o : peer_object, i : status )</h3> 2129 </li> 2130 2131 <li> 2132 <h3>GroupStarted ( a{sv} : properties )</h3> 2133 <p>A new P2P group was started or joined.</p> 2134 <h4>Arguments</h4> 2135 <dl> 2136 <dt>a{sv} : properties</dt> 2137 <dd>A dictionary with following information on the added group: 2138 <table> 2139 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2140 <tr><td>interface_object</td><td>o</td><td>D-Bus path of the interface on which this group is operating on. See \ref dbus_interface.</td></tr> 2141 <tr><td>role</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr> 2142 <tr><td>group_object</td><td>o</td><td>D-Bus path of the group. See \ref dbus_group.</td></tr> 2143 </table> 2144 </dd> 2145 </dl> 2146 </li> 2147 2148 <li> 2149 <h3>GONegotiationSuccess ( a{sv} : properties )</h3> 2150 <p></p> 2151 <h4>Arguments</h4> 2152 <dl> 2153 <dt>a{sv} : properties</dt> 2154 <dd>A dictionary with following information: 2155 <table> 2156 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2157 <tr><td>peer_object</td><td>o</td><td>D-Bus path of the peer. See \ref dbus_peer.</td></tr> 2158 <tr><td>status</td><td>i</td><td></td></tr> 2159 <tr><td>passphrase</td><td>s</td><td>Passphrase for the group. Included only if this device becomes the GO of the group.</td></tr> 2160 <tr><td>role_go</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr> 2161 <tr><td>ssid</td><td>ay</td><td></td></tr> 2162 <tr><td>peer_device_addr</td><td>ay</td><td></td></tr> 2163 <tr><td>peer_interface_addr</td><td>ay</td><td></td></tr> 2164 <tr><td>wps_method</td><td>s</td><td></td></tr> 2165 <tr><td>frequency_list</td><td>ai</td><td></td></tr> 2166 <tr><td>persistent_group</td><td>i</td><td></td></tr> 2167 <tr><td>peer_config_timeout</td><td>u</td><td></td></tr> 2168 </table> 2169 </dd> 2170 </dl> 2171 </li> 2172 2173 <li> 2174 <h3>GONegotiationFailure ( a{sv} : properties )</h3> 2175 <p></p> 2176 <h4>Arguments</h4> 2177 <dl> 2178 <dt>a{sv} : properties</dt> 2179 <dd>A dictionary with following information: 2180 <table> 2181 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2182 <tr><td>peer_object</td><td>o</td><td>D-Bus path of the peer. See \ref dbus_peer.</td></tr> 2183 <tr><td>status</td><td>i</td><td></td></tr> 2184 </table> 2185 </dd> 2186 </dl> 2187 </li> 2188 2189 <li> 2190 <h3>GONegotiationRequest ( o : path, q : dev_passwd_id, y : device_go_intent )</h3> 2191 </li> 2192 2193 <li> 2194 <h3>InvitationResult ( a{sv} : invite_result )</h3> 2195 <p></p> 2196 <h4>Arguments</h4> 2197 <dl> 2198 <dt>a{sv} : invite_result</dt> 2199 <dd>A dictionary with following information: 2200 <table> 2201 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2202 <tr><td>status</td><td>i</td><td></td></tr> 2203 <tr><td>BSSID</td><td>ay</td><td>Optionally present</td></tr> 2204 </table> 2205 </dd> 2206 </dl> 2207 </li> 2208 2209 <li> 2210 <h3>GroupFinished ( a{sv} : properties )</h3> 2211 <p>A P2P group was removed.</p> 2212 <h4>Arguments</h4> 2213 <dl> 2214 <dt>a{sv} : properties</dt> 2215 <dd>A dictionary with following information of the removed group: 2216 <table> 2217 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2218 <tr><td>interface_object</td><td>o</td><td>D-Bus path of the interface on which this group is operating on. See \ref dbus_interface.</td></tr> 2219 <tr><td>role</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr> 2220 <tr><td>group_object</td><td>o</td><td>D-Bus path of the group. See \ref dbus_group.</td></tr> 2221 </table> 2222 </dd> 2223 </dl> 2224 </li> 2225 2226 <li> 2227 <h3>ServiceDiscoveryRequest ( a{sv} : sd_request )</h3> 2228 <p></p> 2229 <h4>Arguments</h4> 2230 <dl> 2231 <dt>a{sv} : sd_request</dt> 2232 <dd>A dictionary with following information: 2233 <table> 2234 <tr><td>peer_object</td><td>o</td><td></td></tr> 2235 <tr><td>frequency</td><td>i</td><td></td></tr> 2236 <tr><td>dialog_token</td><td>i</td><td></td></tr> 2237 <tr><td>update_indicator</td><td>q</td><td></td></tr> 2238 <tr><td>tlvs</td><td>ay</td><td></td></tr> 2239 </table> 2240 </dd> 2241 </dl> 2242 </li> 2243 2244 <li> 2245 <h3>ServiceDiscoveryResponse ( a{sv} : sd_response )</h3> 2246 <p></p> 2247 <h4>Arguments</h4> 2248 <dl> 2249 <dt>a{sv} : sd_response</dt> 2250 <dd>A dictionary with following information: 2251 <table> 2252 <tr><td>peer_object</td><td>o</td><td></td></tr> 2253 <tr><td>update_indicator</td><td>q</td><td></td></tr> 2254 <tr><td>tlvs</td><td>ay</td><td></td></tr> 2255 </table> 2256 </dd> 2257 </dl> 2258 </li> 2259 2260 <li> 2261 <h3>PersistentGroupAdded ( o : path, a{sv} : properties )</h3> 2262 <p></p> 2263 <h4>Arguments</h4> 2264 <dl> 2265 <dt>o : path</dt> 2266 <dd>D-Bus object path for the persistent group. See \ref dbus_persistent_group.</dd> 2267 <dt>a{sv} : properties</dt> 2268 <dd>A dictionary with following information: 2269 <table> 2270 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2271 <tr><td>bssid</td><td>s</td><td>P2P Device Address of the GO in the persistent group.</td></tr> 2272 <tr><td>ssid</td><td>s</td><td>SSID of the group</td></tr> 2273 <tr><td>psk</td><td>s</td><td>Passphrase (on the GO and optionally on P2P Client) or PSK (on P2P Client if passphrase ise not known)</td></tr> 2274 <tr><td>disabled</td><td>s</td><td>Set to "2" to indicate special network block use as a P2P persistent group information</td></tr> 2275 <tr><td>mode</td><td>s</td><td>"3" on GO or "0" on P2P Client</td></tr> 2276 </table> 2277 </dd> 2278 </dl> 2279 </li> 2280 2281 <li> 2282 <h3>PersistentGroupRemoved ( o : path )</h3> 2283 <p></p> 2284 <h4>Arguments</h4> 2285 <dl> 2286 <dt>o : path</dt> 2287 <dd>D-Bus object path for the persistent group. See \ref dbus_persistent_group.</dd> 2288 </dl> 2289 </li> 2290 2291 <li> 2292 <h3>WpsFailed ( s : name, a{sv} : args )</h3> 2293 <p></p> 2294 <h4>Arguments</h4> 2295 <dl> 2296 <dt>s : name</dt> 2297 <dd>"fail"</dd> 2298 <dt>a{sv} : args</dt> 2299 <dd>A dictionary with following information: 2300 <table> 2301 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2302 <tr><td>msg</td><td>i</td><td></td></tr> 2303 <tr><td>config_error</td><td>n</td><td></td></tr> 2304 </table> 2305 </dd> 2306 </dl> 2307 </li> 2308 2309 <li> 2310 <h3>InvitationReceived ( a{sv} : properties )</h3> 2311 <p></p> 2312 <h4>Arguments</h4> 2313 <dl> 2314 <dt>a{sv} : properties</dt> 2315 <dd>A dictionary with following information: 2316 <table> 2317 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2318 <tr><td>sa</td><td>ay</td><td>Optionally present</td></tr> 2319 <tr><td>go_dev_addr</td><td>ay</td><td>Optionally present</td></tr> 2320 <tr><td>bssid</td><td>ay</td><td>Optionally present</td></tr> 2321 <tr><td>persistent_id</td><td>i</td><td>Optionally present</td></tr> 2322 <tr><td>op_freq</td><td>i</td><td></td></tr> 2323 </table> 2324 </dd> 2325 </dl> 2326 </li> 2327 2328 <li> 2329 <h3>GroupFormationFailure ( s : reason )</h3> 2330 <p></p> 2331 <h4>Arguments</h4> 2332 <dl> 2333 <dt>s : reason</dt> 2334 <dd>Reason for failure or empty string if not known.</dd> 2335 </dl> 2336 </li> 2337 2338 <li> 2339 <h3>BootstrappingRequest ( o : path, q : bootstrap_method )</h3> 2340 </li> 2341 2342 <li> 2343 <h3>BootstrappingResponse ( o : path, i : status, q : bootstrap_method )</h3> 2344 </li> 2345 2346\section dbus_bss fi.w1.wpa_supplicant1.BSS 2347 2348Interface implemented by objects representing a scanned BSSs, i.e., 2349scan results. 2350 2351\subsection dbus_bss_properties Properties 2352 2353<ul> 2354 <li> 2355 <h3>BSSID - ay - (read)</h3> 2356 <p>BSSID of the BSS.</p> 2357 </li> 2358 <li> 2359 <h3>SSID - ay - (read)</h3> 2360 <p>SSID of the BSS.</p> 2361 </li> 2362 <li> 2363 <h3>WPA - a{sv} - (read)</h3> 2364 <p>WPA information of the BSS. Empty dictionary indicates no WPA support. Dictionary entries are:</p> 2365 <table> 2366 <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-eap", "wpa-none"</td> 2367 <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td> 2368 <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td> 2369 </table> 2370 </li> 2371 <li> 2372 <h3>RSN - a{sv} - (read)</h3> 2373 <p>RSN information of the BSS. Empty dictionary indicates no RSN support. Dictionary entries are:</p> 2374 <table> 2375 <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-ft-psk", "wpa-psk-sha256", "wpa-eap", "wpa-ft-eap", "wpa-eap-sha256", "wpa-eap-suite-b", "wpa-eap-suite-b-192", "wpa-fils-sha256", "wpa-fils-sha384", "wpa-ft-fils-sha256", "wpa-ft-fils-sha384", "sae", "ft-sae", "wpa-none"</td> 2376 <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td> 2377 <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td> 2378 <tr><td>MgmtGroup</td><td>s</td><td>Management frames cipher suite. Possible values are: "aes128cmac"</td> 2379 </table> 2380 </li> 2381 <li> 2382 <h3>WPS - a{sv} - (read)</h3> 2383 <p>WPS information of the BSS. Empty dictionary indicates no WPS support. Dictionary entries are:</p> 2384 <table> 2385 <tr><td>Type</td><td>s</td><td>"pbc", "pin", ""</td> 2386 </table> 2387 </li> 2388 <li> 2389 <h3>IEs - ay - (read)</h3> 2390 <p>All IEs of the BSS as a chain of TLVs</p> 2391 </li> 2392 <li> 2393 <h3>Privacy - b - (read)</h3> 2394 <p>Indicates if BSS supports privacy.</p> 2395 </li> 2396 <li> 2397 <h3>Mode - s - (read)</h3> 2398 <p>Describes mode of the BSS. Possible values are: "ad-hoc" and "infrastructure".</p> 2399 </li> 2400 <li> 2401 <h3>Frequency - q - (read)</h3> 2402 <p>Frequency of the BSS in MHz.</p> 2403 </li> 2404 <li> 2405 <h3>Rates - au - (read)</h3> 2406 <p>Descending ordered array of rates supported by the BSS in bits per second.</p> 2407 </li> 2408 <li> 2409 <h3>Signal - n - (read)</h3> 2410 <p>Signal strength of the BSS.</p> 2411 </li> 2412 <li> 2413 <h3>Age - u - (read)</h3> 2414 <p>Number of seconds since the BSS was last seen.</p> 2415 </li> 2416 <li> 2417 <h3>ANQP - a{sv} - (read)</h3> 2418 <p>ANQP information of the BSS. Empty dictionary indicates no ANQP field. Named dictionary entries are:</p> 2419 <table> 2420 <tr><td>CapabilityList</td><td>ay</td></tr> 2421 <tr><td>VenueName</td><td>ay</td></tr> 2422 <tr><td>NetworkAuthType</td><td>ay</td></tr> 2423 <tr><td>RoamingConsortium</td><td>ay</td></tr> 2424 <tr><td>IPAddrTypeAvailability</td><td>ay</td></tr> 2425 <tr><td>NAIRealm</td><td>ay</td></tr> 2426 <tr><td>3GPP</td><td>ay</td></tr> 2427 <tr><td>DomainName</td><td>ay</td></tr> 2428 <tr><td>FilsRealmInfo</td><td>ay</td></tr> 2429 <tr><td>HS20CapabilityList</td><td>ay</td></tr> 2430 <tr><td>HS20OperatorFriendlyName</td><td>ay</td></tr> 2431 <tr><td>HS20WanMetrics</td><td>ay</td></tr> 2432 <tr><td>HS20ConnectionCapability</td><td>ay</td></tr> 2433 <tr><td>HS20OperatingClass</td><td>ay</td></tr> 2434 </table> 2435 <p>Unnamed ANQP elements have a generic entry name 'anqp[id]' where 'id' is the InfoID of the ANQP element as described in IEEE Std 802.11-2020, Table 9-331 (ANQP-element definitions).</p> 2436 </li> 2437 </ul> 2438 2439\subsection dbus_bss_signals Signals 2440 2441<ul> 2442 <li> 2443 <h3>PropertiesChanged ( a{sv} : properties )</h3> 2444 <p>Some properties have changed.</p> 2445 <h4>Arguments</h4> 2446 <dl> 2447 <dt>a{sv} : properties</dt> 2448 <dd>A dictionary with pairs of properties names which have changed and theirs new values.</dd> 2449 </dl> 2450 </li> 2451 </ul> 2452 2453 2454\section dbus_network fi.w1.wpa_supplicant1.Network 2455 2456Interface implemented by objects representing configured networks, 2457i.e., returned by fi.w1.wpa_supplicant1.Interface.AddNetwork. 2458 2459\subsection dbus_network_properties Properties 2460 2461<ul> 2462 <li> 2463 <h3>Enabled - b - (read/write)</h3> 2464 <p>Determines if the configured network is enabled or not.</p> 2465 </li> 2466 2467 <li> 2468 <h3>Properties - a{sv} - (read/write)</h3> 2469 <p>Properties of the configured network. Dictionary contains entries from "network" block of wpa_supplicant configuration file. All values are string type, e.g., frequency is "2437", not 2437. When setting the properties, use the same format as for the AddNetwork() function.</p> 2470 </li> 2471 </ul> 2472 2473\subsection dbus_network_signals Signals 2474 2475<ul> 2476 <li> 2477 <h3>PropertiesChanged ( a{sv} : properties )</h3> 2478 <p>Some properties have changed.</p> 2479 <h4>Arguments</h4> 2480 <dl> 2481 <dt>a{sv} : properties</dt> 2482 <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "Enabled"</dd> 2483 </dl> 2484 </li> 2485 </ul> 2486 2487\section dbus_peer fi.w1.wpa_supplicant1.Peer 2488 2489Interface implemented by objects representing P2P peer devices. 2490 2491\subsection dbus_peer_properties Properties 2492 2493<ul> 2494 <li> 2495 <h3>DeviceName - s - (read)</h3> 2496 </li> 2497 2498 <li> 2499 <h3>Manufacturer - s - (read)</h3> 2500 </li> 2501 2502 <li> 2503 <h3>ModelName - s - (read)</h3> 2504 </li> 2505 2506 <li> 2507 <h3>ModelNumber - s - (read)</h3> 2508 </li> 2509 2510 <li> 2511 <h3>SerialNumber - s - (read)</h3> 2512 </li> 2513 2514 <li> 2515 <h3>PrimaryDeviceType - ay - (read)</h3> 2516 </li> 2517 2518 <li> 2519 <h3>config_method - q - (read)</h3> 2520 </li> 2521 2522 <li> 2523 <h3>level - i - (read)</h3> 2524 </li> 2525 2526 <li> 2527 <h3>devicecapability - y - (read)</h3> 2528 </li> 2529 2530 <li> 2531 <h3>groupcapability - y - (read)</h3> 2532 <p>Group Capability field from the last frame from which this peer information was updated. 2533 \note This field is only for debugging purposes and must not be used to determine whether the peer happens to be operating a group as a GO at the moment. 2534 </p> 2535 </li> 2536 2537 <li> 2538 <h3>SecondaryDeviceTypes - aay - (read)</h3> 2539 </li> 2540 2541 <li> 2542 <h3>VendorExtension - aay - (read)</h3> 2543 </li> 2544 2545 <li> 2546 <h3>IEs - ay - (read)</h3> 2547 <p>This is a confusingly named property that includes Wi-Fi Display subelements from the peer. 2548 \bug This should really be renamed since "IEs" means something completely different.. 2549 </p> 2550 </li> 2551 2552 <li> 2553 <h3>DeviceAddress - ay - (read)</h3> 2554 <p>The P2P Device Address of the peer.</p> 2555 </li> 2556 2557 <li> 2558 <h3>Groups - ao - (read)</h3> 2559 <p>The current groups in which this peer is connected.</p> 2560 </li> 2561</ul> 2562 2563\subsection dbus_peer_signals Signals 2564 2565<ul> 2566 <li> 2567 <h3>PropertiesChanged ( a{sv} : properties )</h3> 2568 <p>Some properties have changed. 2569 \deprecated Use org.freedesktop.DBus.Properties.PropertiesChanged instead.</p> 2570 \todo Explain how ProertiesChanged signals are supposed to be of any real use with Peer objects (i.e., one signal for multiple peers). 2571 <h4>Arguments</h4> 2572 <dl> 2573 <dt>a{sv} : properties</dt> 2574 <dd>A dictionary with pairs of properties names which have changed and their new values.</dd> 2575 </dl> 2576 </li> 2577 </ul> 2578 2579\section dbus_group fi.w1.wpa_supplicant1.Group 2580 2581Interface implemented by objects representing active P2P groups. 2582 2583\subsection dbus_group_properties Properties 2584 2585<ul> 2586 <li> 2587 <h3>Members - ao - (read)</h3> 2588 <p>Array of D-Bus object paths for the peer devices that are currently connected to the group. This is valid only on the GO device. An empty array is returned in P2P Client role. 2589 </li> 2590 2591 <li> 2592 <h3>Group - o - (read)</h3> 2593 <p>\todo Why is this here? This D-Bus object path is to this specific group and one needs to know it to fetching this information in the first place.. 2594 </p> 2595 </li> 2596 2597 <li> 2598 <h3>Role - s - (read)</h3> 2599 <p>The role of this device in the group: "GO", "client".</p> 2600 </li> 2601 2602 <li> 2603 <h3>SSID - ay - (read)</h3> 2604 <p>P2P Group SSID.</p> 2605 </li> 2606 2607 <li> 2608 <h3>BSSID - ay - (read)</h3> 2609 <p>P2P Group BSSID (the P2P Interface Address of the GO).</p> 2610 </li> 2611 2612 <li> 2613 <h3>Frequency - q - (read)</h3> 2614 <p>The frequency (in MHz) of the group operating channel.</p> 2615 </li> 2616 2617 <li> 2618 <h3>Passphrase - s - (read)</h3> 2619 <p>Passphrase used in the group. This is always available on the GO. For P2P Client role, this may be available depending on whether the peer GO provided the passphrase during the WPS provisioning step. If not available, an empty string is returned.</p> 2620 </li> 2621 2622 <li> 2623 <h3>PSK - ay - (read)</h3> 2624 <p>PSK used in the group.</p> 2625 </li> 2626 2627 <li> 2628 <h3>WPSVendorExtensions - aay - (read/write)</h3> 2629 <p>WPS vendor extension attributes used on the GO. This is valid only the in the GO role. An empty array is returned in P2P Client role. At maximum, 10 separate vendor extension byte arrays can be configured. The GO device will include the configured attributes in WPS exchanges.</p> 2630 </li> 2631</ul> 2632 2633\subsection dbus_group_signals Signals 2634 2635<ul> 2636 <li> 2637 <h3>PeerJoined ( o : peer )</h3> 2638 <p>A peer device has joined the group. This is indicated only on the GO device.</p> 2639 <h4>Arguments</h4> 2640 <dl> 2641 <dt>o : peer</dt> 2642 <dd>A D-Bus path to the object representing the peer. See \ref dbus_peer.</dd> 2643 </dl> 2644 </li> 2645 2646 <li> 2647 <h3>PeerDisconnected ( o : peer )</h3> 2648 <p>A peer device has left the group. This is indicated only on the GO device.</p> 2649 <h4>Arguments</h4> 2650 <dl> 2651 <dt>o : peer</dt> 2652 <dd>A D-Bus path to the object representing the peer. See \ref dbus_peer.</dd> 2653 </dl> 2654 </li> 2655</ul> 2656 2657\section dbus_persistent_group fi.w1.wpa_supplicant1.PersistentGroup 2658 2659Interface implemented by objects representing persistent P2P groups. 2660 2661\subsection dbus_persistent_group_properties Properties 2662 2663<ul> 2664 <li> 2665 <h3>Properties - a{sv} - (read/write)</h3> 2666 <p>Properties of the persistent group. These are same properties as in the \ref dbus_network. When writing this, only the entries to be modified are included, i.e., any item that is not included will be left at its existing value. The following entries are used for persistent groups:</p> 2667 <table> 2668 <tr><th>Key</th><th>Value type</th><th>Description</th></tr> 2669 <tr><td>bssid</td><td>s</td><td>P2P Device Address of the GO in the persistent group.</td></tr> 2670 <tr><td>ssid</td><td>s</td><td>SSID of the group</td></tr> 2671 <tr><td>psk</td><td>s</td><td>Passphrase (on the GO and optionally on P2P Client) or PSK (on P2P Client if passphrase ise not known)</td></tr> 2672 <tr><td>disabled</td><td>s</td><td>Set to "2" to indicate special network block use as a P2P persistent group information</td></tr> 2673 <tr><td>mode</td><td>s</td><td>"3" on GO or "0" on P2P Client</td></tr> 2674 </table> 2675 </li> 2676</ul> 2677 2678\section dbus_mesh fi.w1.wpa_supplicant1.Interface.Mesh 2679 2680Interface for performing mesh operations. 2681 2682\subsection dbus_mesh_properties Properties 2683 2684<ul> 2685 <li> 2686 <h3>MeshPeers - aay - (read)</h3> 2687 </li> 2688 2689 <li> 2690 <h3>MeshGroup - ay - (read)</h3> 2691 </li> 2692</ul> 2693 2694\subsection dbus_mesh_signals Signals 2695 2696<ul> 2697 <li> 2698 <h3>MeshGroupStarted ( a{sv} : args )</h3> 2699 <p></p> 2700 <h4>Arguments</h4> 2701 <dl> 2702 <dt>a{sv} : args</dt> 2703 <dd>A dictionary containing information of the started mesh group.</dd> 2704 </dl> 2705 </li> 2706 <li> 2707 <h3>MeshGroupRemoved ( a{sv} : args )</h3> 2708 <p></p> 2709 <h4>Arguments</h4> 2710 <dl> 2711 <dt>a{sv} : args</dt> 2712 <dd>A dictionary containing information of the removed mesh group.</dd> 2713 </dl> 2714 </li> 2715 <li> 2716 <h3>MeshPeerConnected ( a{sv} : args )</h3> 2717 <p></p> 2718 <h4>Arguments</h4> 2719 <dl> 2720 <dt>a{sv} : args</dt> 2721 <dd>A dictionary containing information of the connected mesh peer.</dd> 2722 </dl> 2723 </li> 2724 <li> 2725 <h3>MeshPeerDisconnected ( a{sv} : args )</h3> 2726 <p></p> 2727 <h4>Arguments</h4> 2728 <dl> 2729 <dt>a{sv} : args</dt> 2730 <dd>A dictionary containing information of the disconnected mesh peer.</dd> 2731 </dl> 2732 </li> 2733</ul> 2734 2735*/ 2736