summaryrefslogtreecommitdiff
path: root/src/ap
Commit message (Collapse)AuthorAgeFilesLines
* Do not disconnect EAPOL-Logoff before authenticationJouni Malinen2023-05-043-15/+24
| | | | | | | | | | | | | | | | | | | | Some station devices are apparently sending the EAPOL-Logoff message in some cases before the initial authentication for WPA2/WPA3-Enterprise. hostapd would have forced a "post EAP-Failure" disconnection in 10 ms for such cases while still allowing the EAP authentication to try to complete. This is not ideal and could result in interoperability issues, so skip the forced disconnection in the particular case where the EAPOL-Logoff message is received before the first authentication is completed. In addition, disconnect the STA without starting new EAP authentication and the 10 ms delay if an EAPOL-Logoff message is received after authentication has been completed successfully. This results in cleaner behavior by avoiding the extra start of a new EAP authentication in a case where the STA is going to be disconnected shortly. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* Rename VHT elements to match the standardJouni Malinen2023-04-261-3/+3
| | | | | | | | | | Some of the information elements added in IEEE Std 802.11ax-2013 for VHT purposes have since then been taken into use for other cases and renamed to remove the "VHT" prefix in the standard. Update the defines for those elements in the implementation to match the names used in the current standard. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* hostapd: Support channel switch to 320 MHz channelsRamya Gnanasekar2023-04-263-2/+10
| | | | | | | | Add validatation of center frequency, and filling of appropriate bandwidth in the channel switch wrapper when the channel switch is done to a 320 MHz channel. Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com>
* Fix file mode bitsJouni Malinen2023-04-261-0/+0
| | | | | | | The execute bits were not supposed to be added to a source code file. Fixes: 927dbfb453ed ("Fix 40 MHz channel bringup with ACS on the 6 GHz band") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* Select 6 GHz mode correctly for ACS casesJouni Malinen2023-04-251-6/+21
| | | | | | | | Use the op_class configuration to determine whether to select the 5 GHz or 6 GHz mode for ACS. Without this, the first mode (5 GHz in most cases) would have been selected regardless of the op_class value. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* Fix 40 MHz channel bringup with ACS on the 6 GHz bandHari Chandrakanthan2023-04-251-4/+3
| | | | | | | | | | | | | | | | | | When AP is brought up in HE40/EHT40 with ACS, the AP comes up with 20 MHz bandwidth. It is expected to come up with 40 MHz bandwidth. conf->secondary_channel does not hold the correct value and it leads to choosing 20 MHz in hostapd_set_freq_params(). conf->secondary_channel is filled using the hostapd config he_oper_centr_freq_seg0_idx. When AP is configured to use ACS, the hostapd config he_oper_centr_freq_seg0_idx is not valid as the channel is not known during bring up. So using the config he_oper_centr_freq_seg0_idx to fill the conf->secondary_channel does not work with ACS. Use op_class to determine the bandwidth and based on the bandwidth fill the conf->secondary_channel to address this ACS case. Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
* Fix determining mode for 6 GHz band when using hw_mode=anyXinyue Ling2023-04-211-1/+5
| | | | | | | | | | | When 6 GHz band is specified and hw_mode parameter is set to any, hostapd_determine_mode() may determine the wrong mode because there are two hw modes (5 GHz and 6 GHz) with HOSTAPD_MODE_IEEE80211A. This will cause 6 GHz AP to fail to start. Fix this by adding a check similar to the changes in commit 99cd453720d6 ("hw_feature: Correctly select mode in case of the 6 GHz band") into hostapd_determine_mode(). Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* hostapd: Restore the flow of set beacon and WPA key initXin Deng2023-04-191-3/+3
| | | | | | | | | | | | hostapd start AP flow changed in commit 931e5d4f9e2e. However, that could cause a regression in a legacy AP driver where the set key operation for GTK, IGTK, and BIGTK before AP start (set beacon) would cause the driver to ignore the key set command. Restore the flow of the set beacon and WPA key init operations to make sure drivers can receive and set group keys correctly. Fixes: 931e5d4f9e2e ("mbssid: Configure all BSSes before beacon setup") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* Allowed frequency list configuration for AP operationVeerendranath Jakkam2023-04-193-7/+28
| | | | | | | | | | | | Add support to configure the allowed frequency list for AP operation using a QCA vendor interface before NL80211_CMD_NEW_BEACON/ NL80211_CMD_START_AP. hostapd generates the allowed frequency list by intersecting user configured frequency list and all the frequencies advertised by the driver including disabled channels. If user doesn't specify allowed frequency list, all the frequencies advertised by the driver, including disabled channels, will be configured. Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
* RNR: Add elements by default for EMA APAloka Dixit2023-04-183-22/+114
| | | | | | | | | | | | | | | | | | | | As per IEEE Std 802.11ax-2021, 11.1.3.8.3 Discovery of a nontransmitted BSSID profile, an EMA AP that transmits a Beacon frame carrying a partial list of nontransmitted BSSID profiles should include in the frame a Reduced Neighbor Report element carrying information for at least the nontransmitted BSSIDs that are not present in the Multiple BSSID element carried in that frame. Add this support by splitting the reduced neighbor report (RNR) in as many elements as the number of multiple BSSID elements. Each RNR element excludes the non-transmitting profiles already included in the MBSSID element at the same index. If present, the last additional group will have the data common for all EMA beacons such as neighbor AP information gathered through neighbor reports. The hwsim test case he_ap_ema demonstrates this support. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* RNR: Skip interfaces on the same radio for MBSSIDAloka Dixit2023-04-181-2/+4
| | | | | | | | Do not include interfaces on the same radio in reduced neighbor report elements (RNR) as multiple BSSID elements from the same management frame already include these if MBSSID feature is enabled. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* 6 GHz: Fix secondary channel settingJouni Malinen2023-03-291-1/+1
| | | | | | | | | center_idx_to_bw_6ghz() does not return the bandwidth in MHz and as such, the check here against 20 (MHz) is never true. The returned value is greater than 0 for the over 20 MHz cases. Fixes: 15742566fd7c ("6 GHz: Fix operating class in Supported Operating Classes element") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* EHT: Validate the puncturing bitmap for ACSAloka Dixit2023-03-171-1/+8
| | | | | | Validate the generated puncturing bitmap against non-OFDMA patterns. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Calculate puncturing bitmap for ACSAloka Dixit2023-03-171-1/+85
| | | | | | | Generate puncturing bitmap after the ideal channel selection using the threshold. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Configuration option for ACS puncturing thresholdAloka Dixit2023-03-171-0/+1
| | | | | | | | | Add a new option 'punct_acs_threshold' where the value indicates the percentage of ideal channel average interference factor above which a channel should be punctured. Default is set to 0 which disables the puncturing for ACS. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Process puncturing bitmap from channel switch eventAloka Dixit2023-03-172-7/+11
| | | | | | | | Retrieve the puncturing bitmap sent by the driver in channel switch events and add a new member punct_bitmap in struct ch_switch to store it. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Configure puncturing bitmap during channel switchAloka Dixit2023-03-172-0/+21
| | | | | | | Parse, validate, and configure puncturing bitmap if provided in the channel switch command. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Send puncturing bitmap to the driver for AP bring upAloka Dixit2023-03-171-0/+4
| | | | | | | Send the user configured puncturing bitmap to the driver. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com> Signed-off-by: Muna Sinada <quic_msinada@quicinc.com>
* EHT: Add puncturing bitmap to EHT Operation elementMuna Sinada2023-03-173-0/+15
| | | | | | | | | | | Add preamble puncturing bitmap to the EHT Operation element as per IEEE P802.11be/D3.0, Figure 9-1002c (EHT Operation Information field format). Bits set to 1 indicate that the subchannel is punctured, otherwise active. Signed-off-by: Muna Sinada <quic_msinada@quicinc.com> Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com> Signed-off-by: Balamurugan Mahalingam <quic_bmahalin@quicinc.com>
* EHT: Downgrade bandwidths for VHT and HE when using puncturingAloka Dixit2023-03-174-9/+100
| | | | | | | | | | Legacy modes (VHT, HE) should advertise downgraded bandwidth if RU puncturing is enabled in EHT mode. This is required for the legacy stations which cannot parse the EHT Operation elements hence do not support EHT RU puncturing. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com> Signed-off-by: Ramanathan Choodamani <quic_rchoodam@quicinc.com>
* EHT: Validate puncturing bitmapAloka Dixit2023-03-171-0/+52
| | | | | | Validate preamble puncturing bitmap. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* EHT: Add configuration option for puncturing in AP modeMuna Sinada2023-03-171-0/+1
| | | | | | | | | Add a new option to configure the disabled subchannel bitmap as per IEEE P802.11be/D3.0, Figure 9-1002c (EHT Operation Information field format). Signed-off-by: Muna Sinada <quic_msinada@quicinc.com> Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* FILS: 320 MHz support in FD frameAloka Dixit2023-03-141-0/+3
| | | | | | Indicate 320 MHz channel width in FILS discovery frame if applicable. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* FILS: Fix maximum NSS calculation for FD frameAloka Dixit2023-03-141-3/+26
| | | | | | | | | | Maximum NSS calculation assumed the host to be little endian while retrieving MCS values from HE capabilities which is incorrect. Use WPA_GET_LE16() instead. Add a check for HE as the current NSS calculation assumes HE support. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* FILS: Make HE a requirement for FILS discoveryAloka Dixit2023-03-141-0/+7
| | | | | | | | FILS discovery frame generation currently assumes HE support for calculating the number of spatial streams. Add a check to reject the configuration if the feature is enabled without enabling HE. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* AP: Fix 6 GHz AP setup after disable-enablePooventhiran G2023-03-091-0/+5
| | | | | | | | | | | | | | | Once ACS picks a channel, iface->freq and iface->conf->channel are updated. So, AP comes up in the last operating channel when 'ENABLED' after 'DISABLED' though ACS is configured. But this will fail for 6 GHz APs since configured_fixed_chan_to_freq() checks if iface->conf->channel is filled or not irrespective of ACS configuration, and the checks inside configured_fixed_chan_to_freq() fail the AP setup. Fix this by clearing iface->freq and iface->conf->channel in AP setup for ACS configuration. Fixes: bb781c763f47 ("AP: Populate iface->freq before starting AP") Signed-off-by: Pooventhiran G <quic_pooventh@quicinc.com>
* WPA_AUTH: MLO: Add functions to get the AA and SPAIlan Peer2023-03-071-92/+151
| | | | | | | | | As a preparation to use AP MLD address and non-AP MLD address in the RSN Authenticator state machine, add utility functions to get the current AA and SPA. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* AP: Split check_assoc_ies()Ilan Peer2023-03-071-68/+80
| | | | | | | | | As a preparation for processing an association request with ML element, split the function such that the elements checking would be separate from parsing. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* nl80211: AP MLD support for adding multi link stationsAndrei Otcheretianski2023-03-071-0/+1
| | | | | | | | | | | | Multi link stations are represented in the kernel using a single station with multiple links and the first ADD_STA command also creates the first link. Subsequent links should be added with LINK_ADD commands. Implement this logic and provide the required MLD information per station/link. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* AP: Add some bridge port attribute settingsAnthony Refuerzo2023-03-012-0/+18
| | | | | | | | | "multicast_to_unicast" and "hairpin_mode" are usually set outside of hostapd. However, DFS channel change events pull the BSS out of the bridge causing these attributes to be lost. Make these settings tunable within hostapd so they are retained after the BSS is brought up again. Signed-off-by: Anthony Refuerzo <anthony96922@gmail.com>
* mka: Allow configuration of MACsec hardware offloadEmeel Hakim2023-02-212-0/+14
| | | | | | | Add new configuration parameter macsec_offload to allow user to set up MACsec hardware offload feature. Signed-off-by: Emeel Hakim <ehakim@nvidia.com>
* hostapd: Output country_code and country3 when using STATUSAntonio Prcela2023-02-211-0/+11
| | | | | | | | | | | | | Add the country_code and country3 config parameter to the STATUS output to easier determine the current values for each of an hostapd access point. Currently neither STATUS, GET [country_code/country3] nor GET_CONFIG output it. This is useful if the hostapd access point has been created with wpa_ctrl_request() without using a *.conf file (like hostapd.conf). Signed-off-by: Antonio Prcela <antonio.prcela@gmail.com> Signed-off-by: Antonio Prcela <antonio.prcela@sartura.hr>
* FT: Store PTKSA from FT protocolJouni Malinen2023-02-212-0/+9
| | | | | | | | PTKSA was stored for the 4-way handshake and FILS cases, but not when it was being derived through the use of the FT protocol. Fixes: f2f8e4f45830 ("Add PTKSA cache to hostapd") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* Mark wpa_auth_remove_ptksa() staticJouni Malinen2023-02-211-2/+3
| | | | | | | | This function is not used outside wpa_auth.c and it is not mentioned in any header file either, so it should have been marked static. Fixes: f2f8e4f45830 ("Add PTKSA cache to hostapd") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* FT: Include KDK in FT specific PTK derivation on the APShiva Sankar Gajula2023-02-213-4/+5
| | | | | | | | | | FT AP was silently ignoring EAPOL-Key msg 2/4 due to Key MIC mismatch when the STA advertises support for Secure LTF and derives the KDK while the AP implementation did not derive KDK. Fix this to include KDK while deriving PTK for FT cases on the AP. Signed-off-by: Shiva Sankar Gajula <quic_sgajula@quicinc.com>
* WNM: Event report handling for BSS color collision and in-useYi-Chia Hsieh2023-02-201-0/+131
| | | | | | | | | Add support for WNM event report handling for the BSS color collision and in use events. Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
* hostapd: Output hw_mode when using STATUSAntonio Prcela2023-02-201-0/+28
| | | | | | | | | | | | Adding the hw_mode config parameter to the STATUS output to easier determine the current hw_mode of an hostapd access-point. Currently neither STATUS, GET hw_mode, nor GET_CONFIG output it. Useful if the hostapd access point has been created with wpa_ctrl_request() without using a *.conf file, like hostapd.conf. Signed-off-by: Antonio Prcela <antonio.prcela@gmail.com> Signed-off-by: Antonio Prcela <antonio.prcela@sartura.hr>
* Send broadcast Probe Response frames on the 6 GHz bandHari Chandrakanthan2023-02-171-7/+13
| | | | | | | | | | | Change Probe Response frames to be sent as broadcast for 6 GHz band per IEEE Std 802.11ax‐2021, 26.17.2.3.2: "If a 6 GHz AP receives a Probe Request frame and responds with a Probe Response frame (per 11.1.4.3.4), the Address 1 field of the Probe Response frame shall be set to the broadcast address, unless the AP is not indicating its actual SSID in the SSID element of its Beacon frames." Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
* FT: Store PMK-R0/PMK-R1 after EAPOL-Key msg 2/4 MIC validationJouni Malinen2023-02-143-58/+107
| | | | | | | | | | | | | | | | | | | | | | | | hostapd was previously storing the derived PMK-R0 and PMK-R1 as soon as these keys were derived. While that is fine for most purposes, it is unnecessary to do that so quickly and if anything were to fail before the supplicant is able to return a valid EAPOL-Key msg 2/4, there would not really be any real use for the derived keys. For the special case of FT-PSK and VLAN determination based on the wpa_psk file, the VLAN information is set in the per-STA data structures only after the EAPOL-Key msg 2/4 MIC has been verified. This ended up storing the PMK-R0/PMK-R1 entries without correct VLAN assignment and as such, any use of the FT protocol would not be able to transfer the VLAN information through RRB. Split local storing of the FT key hierarchy for the cases using the FT 4-way handshake so that PMK-R0 and PMK-R1 are first derived and then stored as a separate step after having verified the MIC in the EAPOL-Key msg 2/4 (i.e., after having confirmed the per-STA passphrase/PSK was selected) and VLAN update. This fixes VLAN information for the wpa_psk_file cases with FT-PSK. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* MACsec: Remove EAP Session-Id length constraintJouni Malinen2023-02-101-34/+5
| | | | | | | | | | | | | | | | | The initial MACsec implementation required the EAP Session-Id to be at least 65 octets long and by truncating the value to that length, the practical limit of functional cases was limited to that exact length of 65 octets. While that happens to work with EAP method that use TLS, it does not work with most other EAP methods. Remove the EAP Session-Id length constraint and allow any length of the Session-Id as long as the EAP method provides one. In addition, simplify this be removing the unnecessary copying of the Session Id into a new allocated buffer. Fixes: dd10abccc86d ("MACsec: wpa_supplicant integration") Fixes: a93b369c17b3 ("macsec: Support IEEE 802.1X(EAP)/PSK MACsec Key Agreement in hostapd") Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* P2P: Fix handling Service Discovery Response received by GO deviceShivani Baranwal2023-01-251-4/+4
| | | | | | | | | | The received Service Discovery Response frame follows the ap_mgmt_rx() path in P2P GO mode. If gas_query_rx_frame() doesn't process the frame, call the Public Action frame callbacks if any are registered for further processing of the RX frame. Fixes: 9c2b8204e662 ("DPP: Integration for hostapd") Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
* DPP: Respond to GAS on the same channel it was received onMichal Kazior2022-12-183-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I was testing dpp_auth_init on an AP with Enrollee on a different channel from the AP I was getting failures. This happened on hwsim in UML with time-travel for me. I don't recall seeing this with real devices, presumably because of lax offchan implementation. The DPP authentication would succeed. However the station would then try to get configuration through a GAS request and fail. The AP reported the following logs (grepped): > 1614762426.860212: RX_ACTION category 4 action 10 sa 02:00:00:00:01:00 da 02:00:00:00:00:00 len 227 freq 2412 > 1614762426.860212: wlan0: GAS: GAS Initial Request from 02:00:00:00:01:00 (dialog token 239) > 1614762426.860233: DPP: Wait for Configuration Result > 1614762426.860234: nl80211: Send Action frame (ifindex=5, freq=2462 MHz wait=0 ms no_cck=0 offchanok=0) > 1614762428.861186: DPP: Timeout while waiting for Configuration Result > 1614762428.861186: wlan0: DPP-CONF-FAILED While the STA reported the following logs (grepped): > 1614762426.860193: wlan1: DPP-AUTH-SUCCESS init=0 > 1614762426.860195: DPP: Stop listen on 2412 MHz > 1614762426.860202: wlan1: GAS-QUERY-START addr=02:00:00:00:00:00 dialog_token=239 freq=2412 > 1614762428.861185: GAS: No response received for query to 02:00:00:00:00:00 dialog token 239 > 1614762428.861189: DPP: GAS query did not succeed > 1614762428.861189: wlan1: DPP-CONF-FAILED AP would still receive the GAS request on ch1 but would then try to respond on ch11 while STA was waiting on ch1. Signed-off-by: Michal Kazior <michal@plume.com>
* Make MFPR value from an associated STA available as hostapdMFPRJouni Malinen2022-12-183-2/+6
| | | | | | This can be helpful for testing purposes. Signed-off-by: Jouni Malinen <j@w1.fi>
* EHT: Update EHT Operation element to P802.11be/D2.3 in AP settingsJouni Malinen2022-12-171-2/+9
| | | | | | | | | | | IEEE P802.11be/D2.0 added a 4-octet Basic EHT-MCS And Nss Set field into the EHT Operation element. cfg80211 is now verifying that the EHT Operation element has large enough payload and that check is failing with the previous version. This commit does not really set the correct Basic EHT-MCS And Nss Set values, but the IE length check is now passing to allow initial mac80211_hwsim testing to succeed. Signed-off-by: Jouni Malinen <j@w1.fi>
* SAE: Make sme_sae_auth() return IE offsetAndrei Otcheretianski2022-12-171-2/+4
| | | | | | | | | | | | | | Authentication frames include several fixed body parts (see Table 9-68 (Authentication frame body) and Table 9-69 (Presence of fields and elements in Authentication frames) in IEEE P802.11-REVme/D2.0). To be able to parse the IE part, these fields need to be skipped. Since SAE logic already implements this parsing, change SAE authentication handling functions to return the offset to the IE part. This preparation is needed for future MLD patches that need to parse out the ML related elements in the Authentication frames. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* PASN: Align RSNXE with IEEE P802.11az/D7.0 definitionsAndrei Otcheretianski2022-12-162-2/+2
| | | | | | | | | | | RSNXE bits were modified, so update the relevant places accordingly. Please note, WLAN_RSNX_CAPAB_PROT_RANGE_NEG was renamed to WLAN_RSNX_CAPAB_URNM_MFPR and the bit position is changed to 15 instead of 10, while BIT 10 is used for WLAN_RSNX_CAPAB_URNM_MFPR_X20 and is not supported yet. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* hostapd: Add require_he configurationJohannes Berg2022-12-162-0/+33
| | | | | | | | | Add the ability to require HE, advertising that via the BSS membership selector as well as rejecting association without HE. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* DFS: Clear cac_started when AP is disabledQiwei Cai2022-12-151-0/+1
| | | | | | | | | | | | | | | | | | When AP is started on a DFS channel and DFS is offloaded to the driver, AP setup will be separated to two stages. In the first stage, hostapd will set frequency and initialize BSS, then waits the driver CAC to complete. Once CAC done, in the second stage, hostapd_setup_interface_complete() will be called again from a callback to continue AP/channel setup. But the driver will fail to restart AP if it is disabled/reenabled during a driver CAC procedure because some steps such as setting freq/beacon in the first stage are skipped due to cac_started not cleared when the AP is disabled. Avoid this by clearing cac_started when the AP is disabled. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
* EHT: Use HE operating channel width in MCS length calculationAloka Dixit2022-12-151-8/+29
| | | | | | | | | | | | | | Channel width in HE Capabilities element added to management frames is calculated in hostapd_eid_he_capab() by intersecting the driver capabilities and the operating channel width. Kernel uses this value from the Beacon frames to verify EHT capabilities length. However, EHT MCS length calculation uses only the driver capabilities which results in EHT AP bring up failure in some cases dues to different lengths. Modify the EHT code to use the HE operating channel width as well to determine matching length for the information. Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
* Add more nl80211 info to struct wpa_signal_infoDavid Ruth2022-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Facilitate emitting more station information over D-Bus for use by the connection manager. * Add storage for more NL80211_STA_INFO_* fields to data structures, and move them through the system. * Reorder NL80211_STA_INFO_* fields in driver_nl80211.c to match the ordering in nl80211.h. * Convert signal field to an integer to support holding WPA_INVALID_NOISE and avoid changing logging. * Add fields to hostap_sta_driver_data to capture more information * fcs_error_count * beacon_loss_count * expected_throughput * rx_drop_misc * rx_mpdus * rx_hemcs * tx_hemcs * rx_he_nss * tx_he_nss * avg_signal * avg_beacon_signal * avg_ack_signal * Add struct hostap_sta_driver_data to struct wpa_signal_info and remove redundant fields and redundant attribute parsing * Change logging when printing txrate to handle unsigned long value Signed-off-by: David Ruth <druth@chromium.org>