diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -965,6 +965,13 @@ /* Hardware supported ciphers; including the TKIP MIC HW support */ ieee80211_set_hardware_ciphers(ic, cryptocaps); + /* Supported key management suites */ + ieee80211_set_driver_keymgmt_suites(ic, + IEEE80211_KEYMGMT_RSN_UNSPEC_802_1X | + IEEE80211_KEYMGMT_RSN_PSK_OVER_802_1X | + IEEE80211_KEYMGMT_RSN_802_1X_SHA256 | + IEEE80211_KEYMGMT_RSN_PSK_SHA256); + sc->sc_hasclrkey = ath_hal_ciphersupported(ah, HAL_CIPHER_CLR); /* * Check for multicast key search support. diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -587,6 +587,13 @@ /* No hardware cipher support in this driver */ ieee80211_set_hardware_ciphers(ic, 0); + /* Supported key management suites */ + ieee80211_set_driver_keymgmt_suites(ic, + IEEE80211_KEYMGMT_RSN_UNSPEC_802_1X | + IEEE80211_KEYMGMT_RSN_PSK_OVER_802_1X | + IEEE80211_KEYMGMT_RSN_802_1X_SHA256 | + IEEE80211_KEYMGMT_RSN_PSK_SHA256); + /* Read MAC address, channels, etc from EEPROM. */ if ((error = iwn_read_eeprom(sc, ic->ic_macaddr)) != 0) { device_printf(dev, "could not read EEPROM, error %d\n", diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -248,6 +248,13 @@ IEEE80211_CRYPTO_AES_CCM); } + /* Supported key management suites */ + ieee80211_set_driver_keymgmt_suites(ic, + IEEE80211_KEYMGMT_RSN_UNSPEC_802_1X | + IEEE80211_KEYMGMT_RSN_PSK_OVER_802_1X | + IEEE80211_KEYMGMT_RSN_802_1X_SHA256 | + IEEE80211_KEYMGMT_RSN_PSK_SHA256); + ic->ic_htcaps = IEEE80211_HTCAP_SHORTGI20 /* short GI in 20MHz */ | IEEE80211_HTCAP_MAXAMSDU_3839 /* max A-MSDU length */