David Bauer 18cf41172c
hostapd: update to 2022-07-29
b704dc72e tests: sigma_dut and updated ConfResult value for Configurator failures
89de431f2 DPP: Add config response status value to DPP-CONF-SENT
10104915a tests: sigma_dut and DPP PB session overlap
80d5e264c Enhance QCA vendor roam event to indicate MLO links after reassociation
662249306 Update copyright notices for the QCA vendor definitions
8adcdd659 tests: Temporary workaround for dpp_chirp_ap_5g
ddcd15c2d tests: Fix fuzzing/sae build
7fa67861a tests: Fix p2p_channel_avoid3
ee3567d65 tests: Add more time for scan/connection
1d08b238c nl80211: Allow more time for the initial scan with 6 GHz
ac9e6a2ab tests: Allow 6 GHz opclasses in MBO checks
faf9c04cb Remove a host of unnecessary OPENSSL_IS_BORINGSSL ifdefs
b9cd5a82f Always process pending QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH data
ef4cd8e33 QoS: Use common classifier_mask for ipv4/ipv6
93be02592 Add fixed FDD mode to qca_btc_chain_mode QCA vendor attribute
e7cbfa1c1 tests: sigma_dut and DPP Enrollee unsupported curves
5565fbee2 DPP: Check Enrollee supported curves when building Config Response
ceae05cec tests: sigma_dut and DPP MUDURL setting for hostapd
4cfb484e9 DPP: Allow dpp_controller_start without arguments in CLIs
c97000933 Fix ifdef condition for imsi_privacy_cert
2a9a61d6c tests: SAE with extended key AKM
e35f6ed1d tests: More detailed report on SAE PMKSA caching error case
f70db167a SAE: Derive a variable length PMK with the new AKM suites
91010e6f6 SAE: Indicate AKM suite selector in commit for new AKM suites
e81ec0962 SAE: Use H2E unconditionally with the new AKM suites
f8eed2e8b SAE: Store PMK length and AKM in SAE data
9dc4e9d13 SAE: EAPOL-Key and key/MIC length information for the new AKM suites
a32ef3cfb SAE: Driver capability flags for the new SAE AKM suites
91df8c9c6 SAE: Internal WPA_KEY_MGMT_* defines for extended key AKMs
5c8a714b1 SAE: Use wpa_key_mgmt_sae() helper
5456b0f26 Define new RSN AKM suite selector values
def33101c DPP: Clear push button announcement state on wpa_supplicant FLUSH
35587fa8f tests: DPP Controller/Relay with need to discover Controller
d22dfe918 DPP: Event message for indicating when Relay would need a Controller
ca7892e98 tests: DPP Relay and adding/removing connection to a Controller
bfe3cfc38 DPP: Allow Relay connections to Controllers to be added and removed
808834b18 Add a comparison function for hostapd_ip_addr
f7763880b DPP: Advertise Configurator connectivity on Relay automatically
ff7cc1d49 tests: DPP Relay and dynamic Controller addition
ca682f80a DPP: Dynamic Controller initiated connection on Relay
d2388bcca DPP: Strict validation of PKEX peer bootstrapping key during auth
a7b8cef8b DPP3: Fix push button boostrapping key passing through PKEX
69d7c8e6b DPP: Add peer=id entry for PKEX-over-TCP case
b607d2723 tests: sigma_dut and DPP PB Configurator in wpa_supplicant
1ff9251a8 DPP3: Push button Configurator in wpa_supplicant
b94e46bc7 tests: PB Configurator in wpa_supplicant
ca4e82cbf tests: sigma_dut DPP/PKEX initiator as Configurator over TCP and Wi-Fi
e9137950f DPP: Recognize own PKEX Exchange Request if it ends up being received
692956446 DPP: Note PKEX code/identifier deletion in debug log
dfa9183b1 tests: DPP reconfig after Controller-initiated operation through Relay
ae4a3a6f6 DPP: Add DPP-CONF-REQ-RX event for Controller
17216b524 tests: sigma_dut DPP/PKEX initiator as Configurator (TCP) through Relay
fb2937b85 DPP: Allow Controller to initiate PKEX through Relay
15af83cf1 DPP: Delete PKEX code and identifier on success completion of PKEX
d86ed5b72 tests: Allow DPP_PKEX_REMOVE success in dpp_pkex_hostapd_errors
0a4f391b1 tests: sigma_dut and DPP Connector Privacy
479e412a6 DPP3: Default value for dpp_connector_privacy
7d12871ba test: DPP Private Peer Introduction protocol
148de3e0d DPP3: Private Peer Introduction protocol
786ea402b HPKE base mode with single-shot API
f0273bc81 OpenSSL: Remove a forgotten debug print
f2bb0839f test: DPP 3rd party config information
68209ddbe DPP: Allow 3rd party information to be added into config object
0e2217c95 DPP: Allow 3rd party information to be added into config request obj
3d82fbe05 Add QCA vendor subcommand and attributes for SCS rule configuration
16b62ddfa QCA vendor attribute for DBAM configuration
004b1ff47 tests: DPP Controller initiating through Relay
451ede2c3 DPP: Allow AP/Relay to be configured to listed for new TCP connections
248654d36 tests: sigma_dut DPP PB test cases
697b7d7ec tests: DPP push button
7bbe85987 DPP3: Allow external configuration to be specified on AP for PB
8db786a43 DPP3: Testing functionality for push button announcements
37bccfcab DPP3: Push button bootstrap mechanism
a0054fe7c Add AP and STA specific P802.11az security capabilities (vendor command)
159e63613 QCA vendor command for CoAP offload processing
3b7bb17f6 Add QCA vendor attribute for TIM beacon statistics
09a281e52 Add QCA vendor interface for PASN offload to userspace
809fb96fa Add a vendor attribute to configure concurrency policy for AP interface
a5754f531 Rename QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_MULTI_STA_POLICY
085a3fc76 EHT: Add 320 channel width support
bafe35df0 Move CHANWIDTH_* definitions from ieee80211_defs.h to defs.h
92f549901 tests: Remove the 80+80 vs. 160 part from wpa2_ocv_ap_vht160_mismatch
c580c2aec tests: Make OCV negative test error cases more robust
3c2ba98ad Add QCA vendor event to indicate driver recovery after internal failures
6b461f68c Set current_ssid before changing state to ASSOCIATING
8dd826741 QCA vendor attribute to configure direct data path for audio traffic
504be2f9d QCA vendor command support to get WLAN radio combinations
d5905dbc8 OCV: Check the Frequency Segment 1 Channel Number only on 80+80 MHz

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 94037ab6b03141de2c2c7c66ca76435044fc30a4)
2022-09-27 17:13:47 +08:00
..
2022-09-10 09:26:19 +08:00
2022-09-27 17:13:47 +08:00
2022-09-10 09:26:19 +08:00
2022-09-27 17:13:47 +08:00
2022-09-10 09:26:19 +08:00

UBUS methods - hostapd

bss_mgmt_enable

Enable 802.11k/v features.

arguments

Name Type Required Description
neighbor_report bool no enable 802.11k neighbor reports
beacon_report bool no enable 802.11k beacon reports
link_measurements bool no enable 802.11k link measurements
bss_transition bool no enable 802.11v BSS transition support

example

ubus call hostapd.wl5-fb bss_mgmt_enable '{ "neighbor_report": true, "beacon_report": true, "link_measurements": true, "bss_transition": true }'

bss_transition_request

Initiate an 802.11v transition request.

arguments

Name Type Required Description
addr string yes client MAC address
disassociation_imminent bool no set Disassociation Imminent bit
disassociation_timer int32 no disassociate client if it doesn't roam after this time
validity_period int32 no validity of the BSS Transition Candiate List
neighbors array no BSS Transition Candidate List
abridged bool no prefer APs in the BSS Transition Candidate List
dialog_token int32 no identifier for the request/report transaction
mbo_reason int32 no MBO Transition Reason Code Attribute
cell_pref int32 no MBO Cellular Data Connection Preference Attribute
reassoc_delay int32 no MBO Re-association retry delay

example

ubus call hostapd.wl5-fb bss_transition_request '{ "addr": "68:2F:67:8B:98:ED", "disassociation_imminent": false, "disassociation_timer": 0, "validity_period": 30, "neighbors": ["b6a7b9cbeebabf5900008064090603026a00"], "abridged": 1 }'

config_add

Dynamically load a BSS configuration from a file. This is used by netifd's mac80211 support script to configure BSSes on multiple PHYs in a single hostapd instance.

arguments

Name Type Required Description
iface string yes WiFi interface name
config string yes path to hostapd config file

config_remove

Dynamically remove a BSS configuration.

arguments

Name Type Required Description
iface string yes WiFi interface name

del_client

Kick a client off the network.

arguments

Name Type Required Description
addr string yes client MAC address
reason int32 no 802.11 reason code
deauth bool no deauthenticates client instead of disassociating
ban_time int32 no ban client for N milliseconds

example

ubus call hostapd.wl5-fb del_client '{ "addr": "68:2f:67:8b:98:ed", "reason": 5, "deauth": true, "ban_time": 10000 }'

get_clients

Show associated clients.

example

ubus call hostapd.wl5-fb get_clients

output

{
        "freq": 5260,
        "clients": {
                "68:2f:67:8b:98:ed": {
                        "auth": true,
                        "assoc": true,
                        "authorized": true,
                        "preauth": false,
                        "wds": false,
                        "wmm": true,
                        "ht": true,
                        "vht": true,
                        "he": false,
                        "wps": false,
                        "mfp": true,
                        "rrm": [
                                0,
                                0,
                                0,
                                0,
                                0
                        ],
                        "extended_capabilities": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                64
                        ],
                        "aid": 3,
                        "signature": "wifi4|probe:0,1,45,127,107,191,221(0017f2,10),221(001018,2),htcap:006f,htagg:1b,htmcs:0000ffff,vhtcap:0f825832,vhtrxmcs:0000ffea,vhttxmcs:0000ffea,extcap:0000008000000040|assoc:0,1,33,36,48,45,127,191,221(0017f2,10),221(001018,2),221(0050f2,2),htcap:006f,htagg:1b,htmcs:0000ffff,vhtcap:0f825832,vhtrxmcs:0000ffea,vhttxmcs:0000ffea,txpow:14f9,extcap:0000000000000040",
                        "bytes": {
                                "rx": 1933667,
                                "tx": 746805
                        },
                        "airtime": {
                                "rx": 208863,
                                "tx": 9037883
                        },
                        "packets": {
                                "rx": 3587,
                                "tx": 2185
                        },
                        "rate": {
                                "rx": 866700,
                                "tx": 866700
                        },
                        "signal": -50,
                        "capabilities": {
                                "vht": {
                                        "su_beamformee": true,
                                        "mu_beamformee": false,
                                        "mcs_map": {
                                                "rx": {
                                                        "1ss": 9,
                                                        "2ss": 9,
                                                        "3ss": 9,
                                                        "4ss": -1,
                                                        "5ss": -1,
                                                        "6ss": -1,
                                                        "7ss": -1,
                                                        "8ss": -1
                                                },
                                                "tx": {
                                                        "1ss": 9,
                                                        "2ss": 9,
                                                        "3ss": 9,
                                                        "4ss": -1,
                                                        "5ss": -1,
                                                        "6ss": -1,
                                                        "7ss": -1,
                                                        "8ss": -1
                                                }
                                        }
                                }
                        }
                }
        }
}

get_features

Show HT/VHT support.

example

ubus call hostapd.wl5-fb get_features

output

{
        "ht_supported": true,
        "vht_supported": true
}

get_status

Get BSS status.

example

ubus call hostapd.wl5-fb get_status

output

{
        "status": "ENABLED",
        "bssid": "b6:a7:b9:cb:ee:bc",
        "ssid": "fb",
        "freq": 5260,
        "channel": 52,
        "op_class": 128,
        "beacon_interval": 100,
        "phy": "wl5-lan",
        "rrm": {
                "neighbor_report_tx": 0
        },
        "wnm": {
                "bss_transition_query_rx": 0,
                "bss_transition_request_tx": 0,
                "bss_transition_response_rx": 0
        },
        "airtime": {
                "time": 259561738,
                "time_busy": 2844249,
                "utilization": 0
        },
        "dfs": {
                "cac_seconds": 60,
                "cac_active": false,
                "cac_seconds_left": 0
        }
}

Initiate an 802.11k Link Measurement Request.

arguments

Name Type Required Description
addr string yes client MAC address
tx-power-used int32 no transmit power used to transmit the Link Measurement Request frame
tx-power-max int32 no upper limit of transmit power to be used by the client

list_bans

List banned clients.

example

ubus call hostapd.wl5-fb list_bans

output

{
        "clients": [
                "68:2f:67:8b:98:ed"
        ]
}

notify_response

When enabled, hostapd will send a ubus notification and wait for a response before responding to various requests. This is used by e.g. usteer to make it possible to ignore probe requests.

⚠️ enabling this will cause hostapd to stop responding to probe requests unless a ubus subscriber responds to the ubus notifications.

arguments

Name Type Required Description
notify_response int32 yes disable (0) or enable (!0)

example

ubus call hostapd.wl5-fb notify_response '{ "notify_response": 1 }'

reload

Reload BSS configuration.

⚠️ this can cause problems for certain configurations:

Mon May 16 16:09:08 2022 daemon.warn hostapd: Failed to check if DFS is required; ret=-1
Mon May 16 16:09:08 2022 daemon.warn hostapd: Failed to check if DFS is required; ret=-1
Mon May 16 16:09:08 2022 daemon.err hostapd: Wrong coupling between HT and VHT/HE channel setting

example

ubus call hostapd.wl5-fb reload

rrm_beacon_req

Send a Beacon Measurement Request to a client.

arguments

Name Type Required Description
addr string yes client MAC address
op_class int32 yes the Regulatory Class for which this Measurement Request applies
channel int32 yes channel to measure
duration int32 yes compile Beacon Measurement Report after N TU
mode int32 yes mode to be used for measurement (0: passive, 1: active, 2: beacon table)
bssid string no filter BSSes in Beacon Measurement Report by BSSID
ssid string no filter BSSes in Beacon Measurement Report by SSID

rrm_nr_get_own

Show Neighbor Report Element for this BSS.

example

ubus call hostapd.wl5-fb rrm_nr_get_own

output

{
        "value": [
                "b6:a7:b9:cb:ee:bc",
                "fb",
                "b6a7b9cbeebcaf5900008095090603029b00"
        ]
}

rrm_nr_list

Show Neighbor Report Elements for other BSSes in this ESS.

example

ubus call hostapd.wl5-fb rrm_nr_list

output

{
        "list": [
                [
                        "b6:a7:b9:cb:ee:ba",
                        "fb",
                        "b6a7b9cbeebabf5900008064090603026a00"
                ]
        ]
}

rrm_nr_set

Set the Neighbor Report Elements. An element for the node on which this command is executed will always be added.

arguments

Name Type Required Description
list array yes array of Neighbor Report Elements in the format of the rrm_nr_list output

example

ubus call hostapd.wl5-fb rrm_nr_set '{ "list": [ [ "b6:a7:b9:cb:ee:ba", "fb", "b6a7b9cbeebabf5900008064090603026a00" ] ] }'

set_vendor_elements

Configure Vendor-specific Information Elements for BSS.

arguments

Name Type Required Description
vendor_elements string yes Vendor-specific Information Elements as hex string

example

ubus call hostapd.wl5-fb set_vendor_elements '{ "vendor_elements": "dd054857dd6662" }'

switch_chan

Initiate a channel switch.

⚠️ trying to switch to the channel that is currently in use will fail: Command failed: Operation not supported

arguments

Name Type Required Description
freq int32 yes frequency in MHz to switch to
bcn_count int32 no count in Beacon frames (TBTT) to perform the switch
center_freq1 int32 no segment 0 center frequency in MHz (valid for HT and VHT)
center_freq2 int32 no segment 1 center frequency in MHz (valid only for 80 MHz channel width and an 80+80 channel)
bandwidth int32 no channel width to use
sec_channel_offset int32 no secondary channel offset for HT40 (0 = disabled, 1 = HT40+, -1 = HT40-)
ht bool no enable 802.11n
vht bool no enable 802.11ac
he bool no enable 802.11ax
block_tx bool no block transmission during CSA period
csa_force bool no restart the interface in case the CSA fails

example

ubus call hostapd.wl5-fb switch_chan '{ "freq": 5180, "bcn_count": 10, "center_freq1": 5210, "bandwidth": 80, "he": 1, "block_tx": 1, "csa_force": 0 }'

update_airtime

Set dynamic airtime weight for client.

arguments

Name Type Required Description
sta string yes client MAC address
weight int32 yes airtime weight

update_beacon

Force beacon frame content to be updated and to start beaconing on an interface that uses start_disabled=1.

example

ubus call hostapd.wl5-fb update_beacon

wps_status

Get WPS status for BSS.

example

ubus call hostapd.wl5-fb wps_status

output

{
        "pbc_status": "Disabled",
        "last_wps_result": "None"
}

wps_cancel

Cancel WPS Push Button Configuration.

example

ubus call hostapd.wl5-fb wps_cancel

wps_start

Start WPS Push Button Configuration.

example

ubus call hostapd.wl5-fb wps_start