dbus.doxygen 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  1. /**
  2. \page dbus %wpa_supplicant D-Bus API
  3. This section documents the %wpa_supplicant D-Bus API. Every D-Bus
  4. interface implemented by %wpa_supplicant is described here including
  5. their methods, signals, and properties with arguments, returned
  6. values, and possible errors.
  7. Interfaces:
  8. - \ref dbus_main
  9. - \ref dbus_interface
  10. - \ref dbus_wps
  11. - \ref dbus_bss
  12. - \ref dbus_network
  13. \section dbus_main fi.w1.wpa_supplicant1
  14. Interface implemented by the main %wpa_supplicant D-Bus object
  15. registered in the bus with fi.w1.wpa_supplicant1 name.
  16. \subsection dbus_main_methods Methods
  17. <ul>
  18. <li>
  19. <h3>CreateInterface ( a{sv} : args ) --> o : interface</h3>
  20. <p>Registers a wireless interface in %wpa_supplicant.</p>
  21. <h4>Arguments</h4>
  22. <dl>
  23. <dt>a{sv} : args</dt>
  24. <dd>
  25. A dictionary with arguments used to add the interface to %wpa_supplicant. The dictionary may contain the following entries:
  26. <table>
  27. <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
  28. <tr><td>Ifname</td><td>s</td><td>Name of the network interface to control, e.g., wlan0</td><td>Yes</td>
  29. <tr><td>BridgeIfname</td><td>s</td><td>Name of the bridge interface to control, e.g., br0</td><td>No</td>
  30. <tr><td>Driver</td><td>s</td><td>Driver name which the interface uses, e.g., nl80211</td><td>No</td>
  31. <tr><td>ConfigFile</td><td>s</td><td>Configuration file path</td><td>No</td>
  32. </table>
  33. </dd>
  34. </dl>
  35. <h4>Returns</h4>
  36. <dl>
  37. <dt>o : interface</dt>
  38. <dd>A D-Bus path to object representing created interface</dd>
  39. </dl>
  40. <h4>Possible errors</h4>
  41. <dl>
  42. <dt>fi.w1.wpa_supplicant1.InterfaceExists</dt>
  43. <dd>%wpa_supplicant already controls this interface.</dd>
  44. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  45. <dd>Creating interface failed for an unknown reason.</dd>
  46. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  47. <dd>Invalid entries were found in the passed argument.</dd>
  48. </dl>
  49. </li>
  50. <li>
  51. <h3>RemoveInterface ( o : interface ) --> nothing</h3>
  52. <p>Deregisters a wireless interface from %wpa_supplicant.</p>
  53. <h4>Arguments</h4>
  54. <dl>
  55. <dt>o : interface</dt>
  56. <dd>A D-Bus path to an object representing an interface to remove returned by CreateInterface</dd>
  57. </dl>
  58. <h4>Possible errors</h4>
  59. <dl>
  60. <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt>
  61. <dd>Object pointed by the path doesn't exist or doesn't represent an interface.</dd>
  62. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  63. <dd>Removing interface failed for an unknown reason.</dd>
  64. </dl>
  65. </li>
  66. <li>
  67. <h3>GetInterface ( s : ifname ) --> o : interface</h3>
  68. <p>Returns a D-Bus path to an object related to an interface which %wpa_supplicant already controls.</p>
  69. <h4>Arguments</h4>
  70. <dl>
  71. <dt>s : ifname</dt>
  72. <dd>Name of the network interface, e.g., wlan0</dd>
  73. </dl>
  74. <h4>Returns</h4>
  75. <dl>
  76. <dt>o : interface</dt>
  77. <dd>A D-Bus path to an object representing an interface</dd>
  78. </dl>
  79. <h4>Possible errors</h4>
  80. <dl>
  81. <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt>
  82. <dd>An interface with the passed name in not controlled by %wpa_supplicant.</dd>
  83. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  84. <dd>Getting an interface object path failed for an unknown reason.</dd>
  85. </dl>
  86. </li>
  87. </ul>
  88. \subsection dbus_main_properties Properties
  89. <ul>
  90. <li>
  91. <h3>DebugLevel - s - (read/write)</h3>
  92. <p>Global %wpa_supplicant debugging level. Possible values are
  93. "msgdump" (verbose debugging), "debug" (debugging),
  94. "info" (informative), "warning" (warnings), and "error" (errors).</p>
  95. </li>
  96. <li>
  97. <h3>DebugTimestamp - b - (read/write)</h3>
  98. <p>Global %wpa_supplicant debugging parameter. Determines if timestamps are shown in debug logs.</p>
  99. </li>
  100. <li>
  101. <h3>DebugShowKeys - b - (read/write)</h3>
  102. <p>Global %wpa_supplicant debugging parameter. Determines if secrets are shown in debug logs.</p>
  103. </li>
  104. <li>
  105. <h3>Interfaces - ao - (read)</h3>
  106. <p>An array with paths to D-Bus objects representing controlled interfaces each.</p>
  107. </li>
  108. <li>
  109. <h3>EapMethods - as - (read)</h3>
  110. <p>An array with supported EAP methods names.</p>
  111. </li>
  112. </ul>
  113. \subsection dbus_main_signals Signals
  114. <ul>
  115. <li>
  116. <h3>InterfaceAdded ( o : interface, a{sv} : properties )</h3>
  117. <p>A new interface was added to %wpa_supplicant.</p>
  118. <h4>Arguments</h4>
  119. <dl>
  120. <dt>o : interface</dt>
  121. <dd>A D-Bus path to an object representing the added interface</dd>
  122. </dl>
  123. <dl>
  124. <dt>a{sv} : properties</dt>
  125. <dd>A dictionary containing properties of added interface.</dd>
  126. </dl>
  127. </li>
  128. <li>
  129. <h3>InterfaceRemoved ( o : interface )</h3>
  130. <p>An interface was removed from %wpa_supplicant.</p>
  131. <h4>Arguments</h4>
  132. <dl>
  133. <dt>o : interface</dt>
  134. <dd>A D-Bus path to an object representing the removed interface</dd>
  135. </dl>
  136. </li>
  137. <li>
  138. <h3>PropertiesChanged ( a{sv} : properties )</h3>
  139. <p>Some properties have changed.</p>
  140. <h4>Arguments</h4>
  141. <dl>
  142. <dt>a{sv} : properties</dt>
  143. <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "DebugParams"</dd>
  144. </dl>
  145. </li>
  146. </ul>
  147. \section dbus_interface fi.w1.wpa_supplicant1.Interface
  148. Interface implemented by objects related to network interface added to
  149. %wpa_supplicant, i.e., returned by
  150. fi.w1.wpa_supplicant1.CreateInterface.
  151. \subsection dbus_interface_methods Methods
  152. <ul>
  153. <li>
  154. <h3>Scan ( a{sv} : args ) --> nothing</h3>
  155. <p>Triggers a scan.</p>
  156. <h4>Arguments</h4>
  157. <dl>
  158. <dt>a{sv} : args</dt>
  159. <dd>
  160. A dictionary with arguments describing scan type:
  161. <table>
  162. <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
  163. <tr><td>Type</td><td>s</td><td>Type of the scan. Possible values: "active", "passive"</td><td>Yes</td>
  164. <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>
  165. <tr><td>IEs</td><td>aay</td><td>Information elements to used in active scan (applies only if scan type is active)</td><td>No</td>
  166. <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>
  167. <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>
  168. </table>
  169. </dd>
  170. </dl>
  171. <h4>Possible errors</h4>
  172. <dl>
  173. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  174. <dd>Invalid entries were found in the passed argument.</dd>
  175. </dl>
  176. </li>
  177. <li>
  178. <h3>Disconnect ( ) --> nothing</h3>
  179. <p>Disassociates the interface from current network.</p>
  180. <h4>Possible errors</h4>
  181. <dl>
  182. <dt>fi.w1.wpa_supplicant1.NotConnected</dt>
  183. <dd>Interface is not connected to any network.</dd>
  184. </dl>
  185. </li>
  186. <li>
  187. <h3>AddNetwork ( a{sv} : args ) --> o : network</h3>
  188. <p>Adds a new network to the interface.</p>
  189. <h4>Arguments</h4>
  190. <dl>
  191. <dt>a{sv} : args</dt>
  192. <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>
  193. </dl>
  194. <h4>Returns</h4>
  195. <dl>
  196. <dt>o : network</dt>
  197. <dd>A D-Bus path to an object representing a configured network</dd>
  198. </dl>
  199. <h4>Possible errors</h4>
  200. <dl>
  201. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  202. <dd>Invalid entries were found in the passed argument.</dd>
  203. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  204. <dd>Adding network failed for an unknown reason.</dd>
  205. </dl>
  206. </li>
  207. <li>
  208. <h3>RemoveNetwork ( o : network ) --> nothing</h3>
  209. <p>Removes a configured network from the interface.</p>
  210. <h4>Arguments</h4>
  211. <dl>
  212. <dt>o : network</dt>
  213. <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd>
  214. </dl>
  215. <h4>Possible errors</h4>
  216. <dl>
  217. <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt>
  218. <dd>A passed path doesn't point to any network object.</dd>
  219. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  220. <dd>A passed path doesn't point to any network object.</dd>
  221. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  222. <dd>Removing network failed for an unknown reason.</dd>
  223. </dl>
  224. </li>
  225. <li>
  226. <h3>SelectNetwork ( o : network ) --> nothing</h3>
  227. <p>Attempt association with a configured network.</p>
  228. <h4>Arguments</h4>
  229. <dl>
  230. <dt>o : network</dt>
  231. <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd>
  232. </dl>
  233. <h4>Possible errors</h4>
  234. <dl>
  235. <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt>
  236. <dd>A passed path doesn't point to any network object.</dd>
  237. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  238. <dd>A passed path doesn't point to any network object.</dd>
  239. </dl>
  240. </li>
  241. <li>
  242. <h3>Reassociate ( ) --> nothing</h3>
  243. <p>Attempt reassociation.</p>
  244. <h4>Possible errors</h4>
  245. <dl>
  246. <dt>fi.w1.wpa_supplicant1.InterfaceDisabled</dt>
  247. <dd>The interface is disabled.</dd>
  248. </dl>
  249. </li>
  250. <li>
  251. <h3>AddBlob ( s : name, ay : data ) --> nothing</h3>
  252. <p>Adds a blob to the interface.</p>
  253. <h4>Arguments</h4>
  254. <dl>
  255. <dt>s : name</dt>
  256. <dd>A name of a blob</dd>
  257. <dt>ay : data</dt>
  258. <dd>A blob data</dd>
  259. </dl>
  260. <h4>Possible errors</h4>
  261. <dl>
  262. <dt>fi.w1.wpa_supplicant1.BlobExists</dt>
  263. <dd>A blob with the specified name already exists.</dd>
  264. </dl>
  265. </li>
  266. <li>
  267. <h3>RemoveBlob ( s : name ) --> nothing</h3>
  268. <p>Removes the blob from the interface.</p>
  269. <h4>Arguments</h4>
  270. <dl>
  271. <dt>s : name</dt>
  272. <dd>A name of the blob to remove</dd>
  273. </dl>
  274. <h4>Possible errors</h4>
  275. <dl>
  276. <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt>
  277. <dd>A blob with the specified name doesn't exist.</dd>
  278. </dl>
  279. </li>
  280. <li>
  281. <h3>GetBlob ( s : name ) --> ay : data</h3>
  282. <p>Returns the blob data of a previously added blob.</p>
  283. <h4>Arguments</h4>
  284. <dl>
  285. <dt>s : name</dt>
  286. <dd>A name of the blob</dd>
  287. </dl>
  288. <h4>Returns</h4>
  289. <dl>
  290. <dt>ay : data</dt>
  291. <dd>A blob data</dd>
  292. </dl>
  293. <h4>Possible errors</h4>
  294. <dl>
  295. <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt>
  296. <dd>A blob with the specified name doesn't exist.</dd>
  297. </dl>
  298. </li>
  299. <li>
  300. <h3>AutoScan ( s : arg ) --> nothing</h3>
  301. <p>Set autoscan parameters for the interface.</p>
  302. <h4>Arguments</h4>
  303. <dl>
  304. <dt>s : arg</dt>
  305. <dd>Autoscan parameter line or empty to unset autoscan.</dd>
  306. </dl>
  307. <h4>Possible errors</h4>
  308. <dl>
  309. <dt>fi.w1.wpa_supplicant1.NoMemory</dt>
  310. <dd>Needed memory was not possible to get allocated.</dd>
  311. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  312. <dd>Invalid entries were found in the passed argument.</dd>
  313. </dl>
  314. </li>
  315. <li>
  316. <h3>TDLSDiscover ( s : peer_address ) --> nothing</h3>
  317. <p>Initiate a TDLS discovery for a peer.</p>
  318. <h4>Arguments</h4>
  319. <dl>
  320. <dt>s : peer_address</dt>
  321. <dd>MAC address for the peer to perform TDLS discovery.</dd>
  322. </dl>
  323. <h4>Possible errors</h4>
  324. <dl>
  325. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  326. <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
  327. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  328. <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
  329. </dl>
  330. </li>
  331. <li>
  332. <h3>TDLSSetup ( s : peer_address ) --> nothing</h3>
  333. <p>Setup a TDLS session for a peer.</p>
  334. <h4>Arguments</h4>
  335. <dl>
  336. <dt>s : peer_address</dt>
  337. <dd>MAC address for the peer to perform TDLS setup.</dd>
  338. </dl>
  339. <h4>Possible errors</h4>
  340. <dl>
  341. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  342. <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
  343. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  344. <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
  345. </dl>
  346. </li>
  347. <li>
  348. <h3>TDLSStatus ( s : peer_address ) --> s</h3>
  349. <p>Return TDLS status with respect to a peer.</p>
  350. <h4>Arguments</h4>
  351. <dl>
  352. <dt>s : peer_address</dt>
  353. <dd>MAC address for the peer for which status is requested.</dd>
  354. </dl>
  355. <h4>Returns</h4>
  356. <dl>
  357. <dt>s : status</dt>
  358. <dd>Current status of the TDLS link with the selected peer.</dd>
  359. </dl>
  360. <h4>Possible errors</h4>
  361. <dl>
  362. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  363. <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
  364. </dl>
  365. </li>
  366. <li>
  367. <h3>TDLSTeardown ( s : peer_address ) --> nothing</h3>
  368. <p>Tear down a TDLS session with a peer.</p>
  369. <h4>Arguments</h4>
  370. <dl>
  371. <dt>s : peer_address</dt>
  372. <dd>MAC address for the peer to tear down TDLS connectivity with.</dd>
  373. </dl>
  374. <h4>Possible errors</h4>
  375. <dl>
  376. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  377. <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
  378. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  379. <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
  380. </dl>
  381. </li>
  382. <li>
  383. <h3>EAPLogoff ( ) --> nothing</h3>
  384. <p>IEEE 802.1X EAPOL state machine logoff.</p>
  385. </li>
  386. <li>
  387. <h3>EAPLogon ( ) --> nothing</h3>
  388. <p>IEEE 802.1X EAPOL state machine logon.</p>
  389. </li>
  390. <li>
  391. <h3>SetPKCS11EngineAndModulePath ( s : pkcs11_engine_path, s : pkcs11_module_path ) --> nothing</h3>
  392. <p>Set PKCS #11 engine and module path.</p>
  393. <h4>Arguments</h4>
  394. <dl>
  395. <dt>s : pkcs11_engine_path</dt>
  396. <dd>PKCS #11 engine path.</dd>
  397. <dt>s : pkcs11_module_path</dt>
  398. <dd>PKCS #11 module path.</dd>
  399. </dl>
  400. <h4>Possible errors</h4>
  401. <dl>
  402. <dt>org.freedesktop.DBus.Error.Failed.InvalidArgs</dt>
  403. <dd>Invalid PKCS #11 engine or module path.</dd>
  404. <dt>org.freedesktop.DBus.Error.Failed</dt>
  405. <dd>Reinit of the EAPOL state machine with the new PKCS #11 engine and module path failed.</dd>
  406. </dl>
  407. </li>
  408. </ul>
  409. \subsection dbus_interface_properties Properties
  410. <ul>
  411. <li>
  412. <h3>Capabilities - a{sv} - (read)</h3>
  413. <p>Capabilities of the interface. Dictionary contains following entries:</p>
  414. <table>
  415. <tr><th>Key</th><th>Value type</th><th>Description</th>
  416. <tr><td>Pairwise</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "none"</td>
  417. <tr><td>Group</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "wep104", "wep40"</td>
  418. <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", "ieee8021x", "wpa-none", "wps", "none"</td>
  419. <tr><td>Protocol</td><td>as</td><td>Possible array elements: "rsn", "wpa"</td>
  420. <tr><td>AuthAlg</td><td>as</td><td>Possible array elements: "open", "shared", "leap"</td>
  421. <tr><td>Scan</td><td>as</td><td>Possible array elements: "active", "passive", "ssid"</td>
  422. <tr><td>Modes</td><td>as</td><td>Possible array elements: "infrastructure", "ad-hoc", "ap"</td>
  423. </table>
  424. </li>
  425. <li>
  426. <h3>State - s - (read)</h3>
  427. <p>A state of the interface. Possible values are: return "disconnected", "inactive", "scanning", "authenticating", "associating", "associated", "4way_handshake", "group_handshake", "completed","unknown".</p>
  428. </li>
  429. <li>
  430. <h3>Scanning - b - (read)</h3>
  431. <p>Determines if the interface is already scanning or not</p>
  432. </li>
  433. <li>
  434. <h3>ApScan - u - (read/write)</h3>
  435. <p>Identical to ap_scan entry in %wpa_supplicant configuration file. Possible values are 0, 1 or 2.</p>
  436. </li>
  437. <li>
  438. <h3>BSSExpireAge - u - (read/write)</h3>
  439. <p>Identical to bss_expiration_age entry in %wpa_supplicant configuration file.</p>
  440. </li>
  441. <li>
  442. <h3>BSSExpireCount - u - (read/write)</h3>
  443. <p>Identical to bss_expiration_scan_count entry in %wpa_supplicant configuration file.</p>
  444. </li>
  445. <li>
  446. <h3>Country - s - (read/write)</h3>
  447. <p>Identical to country entry in %wpa_supplicant configuration file.</p>
  448. </li>
  449. <li>
  450. <h3>Ifname - s - (read)</h3>
  451. <p>Name of network interface controlled by the interface, e.g., wlan0.</p>
  452. </li>
  453. <li>
  454. <h3>BridgeIfname - s - (read)</h3>
  455. <p>Name of bridge network interface controlled by the interface, e.g., br0.</p>
  456. </li>
  457. <li>
  458. <h3>Driver - s - (read)</h3>
  459. <p>Name of driver used by the interface, e.g., nl80211.</p>
  460. </li>
  461. <li>
  462. <h3>CurrentBSS - o - (read)</h3>
  463. <p>Path to D-Bus object representing BSS which %wpa_supplicant is associated with, or "/" if is not associated at all.</p>
  464. </li>
  465. <li>
  466. <h3>CurrentNetwork - o - (read)</h3>
  467. <p>Path to D-Bus object representing configured network which %wpa_supplicant uses at the moment, or "/" if doesn't use any.</p>
  468. </li>
  469. <li>
  470. <h3>Blobs - as - (read)</h3>
  471. <p>List of blobs names added to the Interface.</p>
  472. </li>
  473. <li>
  474. <h3>BSSs - ao - (read)</h3>
  475. <p>List of D-Bus objects paths representing BSSs known to the interface, i.e., scan results.</p>
  476. </li>
  477. <li>
  478. <h3>Networks - ao - (read)</h3>
  479. <p>List of D-Bus objects paths representing configured networks.</p>
  480. </li>
  481. <li>
  482. <h3>FastReauth - b - (read/write)</h3>
  483. <p>Identical to fast_reauth entry in %wpa_supplicant configuration file.</p>
  484. </li>
  485. <li>
  486. <h3>ScanInterval - i - (read/write)</h3>
  487. <p>Time (in seconds) between scans for a suitable AP. Must be >= 0.</p>
  488. </li>
  489. <li>
  490. <h3>PKCS11EnginePath - s - (read)</h3>
  491. <p>PKCS #11 engine path.</p>
  492. </li>
  493. <li>
  494. <h3>PKCS11ModulePath - s - (read)</h3>
  495. <p>PKCS #11 module path.</p>
  496. </li>
  497. </ul>
  498. \subsection dbus_interface_signals Signals
  499. <ul>
  500. <li>
  501. <h3>ScanDone ( b : success )</h3>
  502. <p>Scanning finished. </p>
  503. <h4>Arguments</h4>
  504. <dl>
  505. <dt>s : success</dt>
  506. <dd>Determines if scanning was successful. If so, results are available.</dd>
  507. </dl>
  508. </li>
  509. <li>
  510. <h3>BSSAdded ( o : BSS, a{sv} : properties )</h3>
  511. <p>Interface became aware of a new BSS.</p>
  512. <h4>Arguments</h4>
  513. <dl>
  514. <dt>o : BSS</dt>
  515. <dd>A D-Bus path to an object representing the new BSS.</dd>
  516. </dl>
  517. <dl>
  518. <dt>a{sv} : properties</dt>
  519. <dd>A dictionary containing properties of added BSS.</dd>
  520. </dl>
  521. </li>
  522. <li>
  523. <h3>BSSRemoved ( o : BSS )</h3>
  524. <p>BSS disappeared.</p>
  525. <h4>Arguments</h4>
  526. <dl>
  527. <dt>o : BSS</dt>
  528. <dd>A D-Bus path to an object representing the BSS.</dd>
  529. </dl>
  530. </li>
  531. <li>
  532. <h3>BlobAdded ( s : blobName )</h3>
  533. <p>A new blob has been added to the interface.</p>
  534. <h4>Arguments</h4>
  535. <dl>
  536. <dt>s : blobName</dt>
  537. <dd>A name of the added blob.</dd>
  538. </dl>
  539. </li>
  540. <li>
  541. <h3>BlobRemoved ( s : blobName )</h3>
  542. <p>A blob has been removed from the interface.</p>
  543. <h4>Arguments</h4>
  544. <dl>
  545. <dt>s : blobName</dt>
  546. <dd>A name of the removed blob.</dd>
  547. </dl>
  548. </li>
  549. <li>
  550. <h3>NetworkAdded ( o : network, a{sv} : properties )</h3>
  551. <p>A new network has been added to the interface.</p>
  552. <h4>Arguments</h4>
  553. <dl>
  554. <dt>o : network</dt>
  555. <dd>A D-Bus path to an object representing the added network.</dd>
  556. </dl>
  557. <dl>
  558. <dt>a{sv} : properties</dt>
  559. <dd>A dictionary containing properties of added network.</dd>
  560. </dl>
  561. </li>
  562. <li>
  563. <h3>NetworkRemoved ( o : network )</h3>
  564. <p>The network has been removed from the interface.</p>
  565. <h4>Arguments</h4>
  566. <dl>
  567. <dt>o : network</dt>
  568. <dd>A D-Bus path to an object representing the removed network.</dd>
  569. </dl>
  570. </li>
  571. <li>
  572. <h3>NetworkSelected ( o : network )</h3>
  573. <p>The network has been selected.</p>
  574. <h4>Arguments</h4>
  575. <dl>
  576. <dt>o : network</dt>
  577. <dd>A D-Bus path to an object representing the selected network.</dd>
  578. </dl>
  579. </li>
  580. <li>
  581. <h3>StaAuthorized ( s : mac )</h3>
  582. <p>A new station has been authorized to the interface.</p>
  583. <h4>Arguments</h4>
  584. <dl>
  585. <dt>s : mac</dt>
  586. <dd>A mac address which has been authorized.</dd>
  587. </dl>
  588. </li>
  589. <li>
  590. <h3>StaDeauthorized ( s : mac )</h3>
  591. <p>A station has been deauthorized to the interface.</p>
  592. <h4>Arguments</h4>
  593. <dl>
  594. <dt>s : mac</dt>
  595. <dd>A mac address which has been deauthorized.</dd>
  596. </dl>
  597. </li>
  598. <li>
  599. <h3>PropertiesChanged ( a{sv} : properties )</h3>
  600. <p>Some properties have changed.</p>
  601. <h4>Arguments</h4>
  602. <dl>
  603. <dt>a{sv} : properties</dt>
  604. <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "ApScan", "Scanning", "State", "CurrentBSS", "CurrentNetwork"</dd>
  605. </dl>
  606. </li>
  607. </ul>
  608. \section dbus_wps fi.w1.wpa_supplicant1.Interface.WPS
  609. Interface implemented by objects related to network interface added to
  610. %wpa_supplicant, i.e., returned by fi.w1.wpa_supplicant1.CreateInterface.
  611. \subsection dbus_wps_methods Methods
  612. <ul>
  613. <li>
  614. <h3>Start ( a{sv} : args ) --> a{sv} : output</h3>
  615. <p>Starts WPS configuration.</p>
  616. <h4>Arguments</h4>
  617. <dl>
  618. <dt>a{sv} : args</dt>
  619. <dd>
  620. A dictionary with arguments used to start WPS configuration. The dictionary may contain the following entries:
  621. <table>
  622. <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
  623. <tr><td>Role</td><td>s</td><td>The device's role. Possible values are "enrollee" and "registrar".</td><td>Yes</td>
  624. <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>
  625. <tr><td>Pin</td><td>s</td><td>WPS Pin.</td><td>Yes, for registrar role; otherwise optional</td>
  626. <tr><td>Bssid</td><td>ay</td><td></td><td>No</td>
  627. </table>
  628. </dd>
  629. </dl>
  630. <h4>Returns</h4>
  631. <dl>
  632. <dt>a{sv} : output</dt>
  633. <dd>
  634. <table>
  635. <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
  636. <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>
  637. </table>
  638. </dd>
  639. </dl>
  640. <h4>Possible errors</h4>
  641. <dl>
  642. <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
  643. <dd>Starting WPS configuration failed for an unknown reason.</dd>
  644. <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
  645. <dd>Invalid entries were found in the passed argument.</dd>
  646. </dl>
  647. </li>
  648. </ul>
  649. \subsection dbus_wps_properties Properties
  650. <ul>
  651. <li>
  652. <h3>ProcessCredentials - b - (read/write)</h3>
  653. <p>Determines if the interface will process the credentials (credentials_processed configuration file parameter).</p>
  654. </li>
  655. </ul>
  656. \subsection dbus_wps_signals Signals
  657. <ul>
  658. <li>
  659. <h3>Event ( s : name, a{sv} : args )</h3>
  660. <p>WPS event occurred.</p>
  661. <h4>Arguments</h4>
  662. <dl>
  663. <dt>s : event</dt>
  664. <dd>Event type. Possible values are: "success, "fail" and "m2d"</dd>
  665. <dt>a{sv} : args</dt>
  666. <dd>
  667. Event arguments. Empty for success event, one entry ( "msg" : i ) for fail event and following entries for m2d event:
  668. <table>
  669. <tr><th>config_methods</th><th>Value type</th>
  670. <tr><td>manufacturer</td><td>q</td>
  671. <tr><td>model_name</td><td>ay</td>
  672. <tr><td>model_number</td><td>ay</td>
  673. <tr><td>serial_number</td><td>ay</td>
  674. <tr><td>dev_name</td><td>ay</td>
  675. <tr><td>primary_dev_type</td><td>ay</td>
  676. <tr><td>config_error</td><td>q</td>
  677. <tr><td>dev_password_id</td><td>q</td>
  678. </table>
  679. </dd>
  680. </dl>
  681. </li>
  682. <li>
  683. <h3>Credentials ( a{sv} : credentials )</h3>
  684. <p>WPS credentials. Dictionary contains:</p>
  685. <table>
  686. <tr><th>Key</th><th>Value type</th><th>Description</th>
  687. <tr><td>BSSID</td><td>ay</td><td></td>
  688. <tr><td>SSID</td><td>s</td><td></td>
  689. <tr><td>AuthType</td><td>as</td><td>Possible array elements: "open", "shared", "wpa-psk", "wpa-eap", "wpa2-eap", "wpa2-psk"</td>
  690. <tr><td>EncrType</td><td>as</td><td>Possible array elements: "none", "wep", "tkip", "aes"</td>
  691. <tr><td>Key</td><td>ay</td><td>Key data</td>
  692. <tr><td>KeyIndex</td><td>u</td><td>Key index</td>
  693. </table>
  694. </li>
  695. <li>
  696. <h3>PropertiesChanged ( a{sv} : properties )</h3>
  697. <p>Some properties have changed.</p>
  698. <h4>Arguments</h4>
  699. <dl>
  700. <dt>a{sv} : properties</dt>
  701. <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "ProcessCredentials"</dd>
  702. </dl>
  703. </li>
  704. </ul>
  705. \section dbus_bss fi.w1.wpa_supplicant1.BSS
  706. Interface implemented by objects representing a scanned BSSs, i.e.,
  707. scan results.
  708. \subsection dbus_bss_properties Properties
  709. <ul>
  710. <li>
  711. <h3>BSSID - ay - (read)</h3>
  712. <p>BSSID of the BSS.</p>
  713. </li>
  714. <li>
  715. <h3>SSID - ay - (read)</h3>
  716. <p>SSID of the BSS.</p>
  717. </li>
  718. <li>
  719. <h3>WPA - a{sv} - (read)</h3>
  720. <p>WPA information of the BSS. Empty dictionary indicates no WPA support. Dictionary entries are:</p>
  721. <table>
  722. <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-eap", "wpa-none"</td>
  723. <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td>
  724. <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td>
  725. </table>
  726. </li>
  727. <li>
  728. <h3>RSN - a{sv} - (read)</h3>
  729. <p>RSN information of the BSS. Empty dictionary indicates no RSN support. Dictionary entries are:</p>
  730. <table>
  731. <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-eap", "wpa-ft-psk", "wpa-ft-eap", "wpa-psk-sha256", "wpa-eap-sha256",</td>
  732. <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td>
  733. <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td>
  734. <tr><td>MgmtGroup</td><td>s</td><td>Mangement frames cipher suite. Possible values are: "aes128cmac"</td>
  735. </table>
  736. </li>
  737. <li>
  738. <h3>IEs - ay - (read)</h3>
  739. <p>All IEs of the BSS as a chain of TLVs</p>
  740. </li>
  741. <li>
  742. <h3>Privacy - b - (read)</h3>
  743. <p>Indicates if BSS supports privacy.</p>
  744. </li>
  745. <li>
  746. <h3>Mode - s - (read)</h3>
  747. <p>Describes mode of the BSS. Possible values are: "ad-hoc" and "infrastructure".</p>
  748. </li>
  749. <li>
  750. <h3>Frequency - q - (read)</h3>
  751. <p>Frequency of the BSS in MHz.</p>
  752. </li>
  753. <li>
  754. <h3>Rates - au - (read)</h3>
  755. <p>Descending ordered array of rates supported by the BSS in bits per second.</p>
  756. </li>
  757. <li>
  758. <h3>Signal - n - (read)</h3>
  759. <p>Signal strength of the BSS.</p>
  760. </li>
  761. </ul>
  762. \subsection dbus_bss_signals Signals
  763. <ul>
  764. <li>
  765. <h3>PropertiesChanged ( a{sv} : properties )</h3>
  766. <p>Some properties have changed.</p>
  767. <h4>Arguments</h4>
  768. <dl>
  769. <dt>a{sv} : properties</dt>
  770. <dd>A dictionary with pairs of properties names which have changed and theirs new values.</dd>
  771. </dl>
  772. </li>
  773. </ul>
  774. \section dbus_network fi.w1.wpa_supplicant1.Network
  775. Interface implemented by objects representing configured networks,
  776. i.e., returned by fi.w1.wpa_supplicant1.Interface.AddNetwork.
  777. \subsection dbus_network_properties Properties
  778. <ul>
  779. <li>
  780. <h3>Enabled - b - (read/write)</h3>
  781. <p>Determines if the configured network is enabled or not.</p>
  782. </li>
  783. <li>
  784. <h3>Properties - a{sv} - (read)</h3>
  785. <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.
  786. </li>
  787. </ul>
  788. \subsection dbus_network_signals Signals
  789. <ul>
  790. <li>
  791. <h3>PropertiesChanged ( a{sv} : properties )</h3>
  792. <p>Some properties have changed.</p>
  793. <h4>Arguments</h4>
  794. <dl>
  795. <dt>a{sv} : properties</dt>
  796. <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "Enabled"</dd>
  797. </dl>
  798. </li>
  799. </ul>
  800. */