API Documentation¶
WpaSupplicantDriver¶
WpaSupplicant¶
-
class
wpa_supplicant.core.
WpaSupplicant
(*args, **kwargs)¶ Interface implemented by the main wpa_supplicant D-Bus object
Registered in the bus as “fi.w1.wpa_supplicant1”
-
create_interface
(interface_name)¶ Registers a wireless interface in wpa_supplicant
Returns: Interface object that implements the wpa_supplicant Interface API
Raises: - InterfaceExists – The interface_name specified is already registered
- UnknownError – An unknown error occurred
-
get_debug_level
()¶ Global wpa_supplicant debugging level
Returns: Possible values: “msgdump” (verbose debugging) “debug” (debugging) “info” (informative) “warning” (warnings) “error” (errors) Return type: str
-
get_debug_showkeys
()¶ Determines if secrets are shown in debug logs
-
get_debug_timestamp
()¶ Determines if timestamps are shown in debug logs
-
get_eap_methods
()¶ An array with supported EAP methods names
-
get_interface
(interface_name)¶ Get D-Bus object related to an interface which wpa_supplicant already controls
Returns: Interface object that implements the wpa_supplicant Interface API.
Return type: Interface
Raises: - InterfaceUnknown – wpa_supplicant doesn’t know anything about interface_name
- UnknownError – An unknown error occurred
-
get_interfaces
()¶ An array with paths to D-Bus objects representing controlled interfaces
-
remove_interface
(interface_path)¶ Deregisters a wireless interface from wpa_supplicant
Parameters: interface_path – D-Bus object path to the interface to be removed
Returns: None
Raises: - InterfaceUnknown – wpa_supplicant doesn’t know anything about interface_name
- UnknownError – An unknown error occurred
-
Interface¶
-
class
wpa_supplicant.core.
Interface
(obj_path, conn, reactor)¶ Interface implemented by objects related to network interface added to wpa_supplicant
-
add_network
(network_cfg)¶ Adds a new network to the interface
Parameters: network_cfg – Dictionary of config, see wpa_supplicant.conf for k/v pairs
Returns: Network object that was registered w/ wpa_supplicant
Raises: - InvalidArgs – Invalid argument format
- UnknownError – An unknown error occurred
-
disconnect_network
()¶ Disassociates the interface from current network
Returns: None Raises NotConnected: The interface is not currently connected to a network
-
get_all_bss
()¶ List of D-Bus objects paths representing BSSs known to the interface
-
get_ap_scan
()¶ Identical to ap_scan entry in wpa_supplicant configuration file.
Possible values are 0, 1 or 2.
-
get_bridge_ifname
()¶ Name of bridge network interface controlled by the interface, e.g., br0
-
get_bss_expire_age
()¶ Identical to bss_expiration_age entry in wpa_supplicant.conf file
-
get_bss_expire_count
()¶ Identical to bss_expiration_scan_count entry in wpa_supplicant.conf file
-
get_country
()¶ Identical to country entry in wpa_supplicant.conf
-
get_current_bss
()¶ BSS object path which wpa_supplicant is associated with
Returns “/” if is not associated at all
-
get_current_network
()¶ The Network object which wpa_supplicant is associated with
Returns None if is not associated at all
-
get_driver
()¶ Name of driver used by the interface, e.g., nl80211
-
get_fast_reauth
()¶ Identical to fast_reauth entry in wpa_supplicant.conf
-
get_ifname
()¶ Name of network interface controlled by the interface, e.g., wlan0
-
get_networks
()¶ List of Network objects representing configured networks
-
get_scan_interval
()¶ Time (in seconds) between scans for a suitable AP. Must be >= 0
-
get_scanning
()¶ Determines if the interface is already scanning or not
-
get_state
()¶ A state of the interface.
- Possible values are: “disconnected”
- “inactive” “scanning” “authenticating” “associating” “associated” “4way_handshake” “group_handshake” “completed” “unknown”
-
remove_network
(network_path)¶ Removes a configured network from the interface
Parameters: network_path – D-Bus object path to the desired network
Returns: None
Raises: - NetworkUnknown – The specified network_path is invalid
- InvalidArgs – Invalid argument format
- UnknownError – An unknown error occurred
-
scan
(type='active', ssids=None, ies=None, channels=None, block=False)¶ Triggers a scan
Returns: List of BSS objects if block=True else None
Raises: - InvalidArgs – Invalid argument format
- MethodTimeout – Scan has timed out (only if block=True)
- UnknownError – An unknown error occurred
-
select_network
(network_path)¶ Attempt association with a configured network
Parameters: network_path – D-Bus object path to the desired network
Returns: None
Raises: - NetworkUnknown – The specified network_path has not been added
- InvalidArgs – Invalid argument format
-
Network¶
-
class
wpa_supplicant.core.
Network
(obj_path, conn, reactor)¶ Interface implemented by objects representing configured networks
-
get_enabled
()¶ Determines if the configured network is enabled or not
-
get_properties
()¶ Properties of the configured network
Dictionary contains entries from “network” block of wpa_supplicant.conf. All values are string type, e.g., frequency is “2437”, not 2437.
-
BSS¶
-
class
wpa_supplicant.core.
BSS
(obj_path, conn, reactor)¶ Interface implemented by objects representing a scanned BSSs (scan results)
-
get_bssid
()¶ BSSID of the BSS as hex bytes delimited by a colon
-
get_channel
()¶ Wi-Fi channel number (1-14)
-
get_frequency
()¶ Frequency of the BSS in MHz
-
get_ies
()¶ All IEs of the BSS as a chain of TLVs
-
get_mode
()¶ Describes mode of the BSS
- Possible values are: “ad-hoc”
- “infrastructure”
-
get_network_type
()¶ Return the network type as a string
- Possible values are:
- ‘WPA’ ‘WPA2’ ‘WEP’ ‘OPEN’
-
get_privacy
()¶ Indicates if BSS supports privacy
-
get_rates
()¶ Descending ordered array of rates supported by the BSS in bits per second
-
get_rsn
()¶ RSN/WPA2 information of the BSS, empty dictionary indicates no RSN support
Dictionaries are:
{ "KeyMgmt": <Possible array elements: "wpa-psk", "wpa-eap", "wpa-ft-psk", "wpa-ft-eap", "wpa-psk-sha256", "wpa-eap-sha256">, "Pairwise": <Possible array elements: "ccmp", "tkip">, "Group": <Possible values are: "ccmp", "tkip", "wep104", "wep40">, "MgmtGroup": <Possible values are: "aes128cmac">, }
-
get_signal_dbm
()¶ Signal strength of the BSS in dBm
-
get_signal_quality
()¶ Signal strength of the BSS as a percentage (0-100)
-
get_ssid
()¶ SSID of the BSS in ASCII
-
get_wpa
()¶ WPA information of the BSS, empty dictionary indicates no WPA support
Dictionaries are:
{ "KeyMgmt": <Possible array elements: "wpa-psk", "wpa-eap", "wpa-none">, "Pairwise": <Possible array elements: "ccmp", "tkip">, "Group": <Possible values are: "ccmp", "tkip", "wep104", "wep40">, "MgmtGroup": <Possible values are: "aes128cmac"> }
-
to_dict
()¶ Dict representation of a BSS object
-