old mode 100644new mode 100755.. | .. |
---|
33 | 33 | COMMON_PARAM(vht_on, true, true) |
---|
34 | 34 | COMMON_PARAM(he_on, true, true) |
---|
35 | 35 | COMMON_PARAM(mcs_map, IEEE80211_VHT_MCS_SUPPORT_0_9, IEEE80211_VHT_MCS_SUPPORT_0_9) |
---|
36 | | - COMMON_PARAM(he_mcs_map, IEEE80211_HE_MCS_SUPPORT_0_9, IEEE80211_HE_MCS_SUPPORT_0_9) |
---|
| 36 | + COMMON_PARAM(he_mcs_map, IEEE80211_HE_MCS_SUPPORT_0_11, IEEE80211_HE_MCS_SUPPORT_0_11) |
---|
37 | 37 | COMMON_PARAM(he_ul_on, false, false) |
---|
38 | 38 | COMMON_PARAM(ldpc_on, true, true) |
---|
39 | 39 | COMMON_PARAM(stbc_on, true, true) |
---|
.. | .. |
---|
64 | 64 | COMMON_PARAM(amsdu_maxnb, NX_TX_PAYLOAD_MAX, NX_TX_PAYLOAD_MAX) |
---|
65 | 65 | // By default, only enable UAPSD for Voice queue (see IEEE80211_DEFAULT_UAPSD_QUEUE comment) |
---|
66 | 66 | COMMON_PARAM(uapsd_queues, IEEE80211_WMM_IE_STA_QOSINFO_AC_VO, IEEE80211_WMM_IE_STA_QOSINFO_AC_VO) |
---|
67 | | - COMMON_PARAM(tdls, true, true) |
---|
| 67 | + COMMON_PARAM(tdls, false, false) |
---|
68 | 68 | COMMON_PARAM(uf, false, false) |
---|
69 | 69 | COMMON_PARAM(ftl, "", "") |
---|
70 | 70 | COMMON_PARAM(dpsm, false, false) |
---|
.. | .. |
---|
973 | 973 | #endif |
---|
974 | 974 | if (rwnx_hw->mod_params->stbc_on) |
---|
975 | 975 | he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ; |
---|
| 976 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0) |
---|
| 977 | + he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM | |
---|
| 978 | + IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 | |
---|
| 979 | + IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU; |
---|
| 980 | +#else |
---|
976 | 981 | he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM | |
---|
977 | 982 | IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 | |
---|
978 | 983 | IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA; |
---|
| 984 | +#endif |
---|
979 | 985 | if (rwnx_hw->mod_params->bfmee) { |
---|
980 | 986 | he_cap->he_cap_elem.phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE; |
---|
981 | 987 | he_cap->he_cap_elem.phy_cap_info[4] |= |
---|
.. | .. |
---|
983 | 989 | } |
---|
984 | 990 | he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK | |
---|
985 | 991 | IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK; |
---|
| 992 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0) |
---|
| 993 | + he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU | |
---|
| 994 | + IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU | |
---|
| 995 | + IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB | |
---|
| 996 | + IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB | |
---|
| 997 | + IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT | |
---|
| 998 | + IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO; |
---|
| 999 | +#else |
---|
986 | 1000 | he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU | |
---|
987 | 1001 | IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU | |
---|
988 | 1002 | IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB | |
---|
989 | 1003 | IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB | |
---|
990 | 1004 | IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT | |
---|
991 | 1005 | IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO; |
---|
| 1006 | +#endif |
---|
992 | 1007 | he_cap->he_cap_elem.phy_cap_info[7] |= IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI; |
---|
993 | 1008 | he_cap->he_cap_elem.phy_cap_info[8] |= IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G; |
---|
994 | 1009 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) |
---|
.. | .. |
---|
1062 | 1077 | #endif |
---|
1063 | 1078 | if (rwnx_hw->mod_params->stbc_on) |
---|
1064 | 1079 | he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ; |
---|
| 1080 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0) |
---|
| 1081 | + he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM | |
---|
| 1082 | + IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 | |
---|
| 1083 | + IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU; |
---|
| 1084 | +#else |
---|
1065 | 1085 | he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM | |
---|
1066 | 1086 | IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 | |
---|
1067 | 1087 | IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA; |
---|
| 1088 | +#endif |
---|
1068 | 1089 | if (rwnx_hw->mod_params->bfmee) { |
---|
1069 | 1090 | he_cap->he_cap_elem.phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE; |
---|
1070 | 1091 | he_cap->he_cap_elem.phy_cap_info[4] |= |
---|
.. | .. |
---|
1072 | 1093 | } |
---|
1073 | 1094 | he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK | |
---|
1074 | 1095 | IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK; |
---|
| 1096 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0) |
---|
| 1097 | + he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU | |
---|
| 1098 | + IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU | |
---|
| 1099 | + IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB | |
---|
| 1100 | + IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB | |
---|
| 1101 | + IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT | |
---|
| 1102 | + IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO; |
---|
| 1103 | +#else |
---|
1075 | 1104 | he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU | |
---|
1076 | 1105 | IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU | |
---|
1077 | 1106 | IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB | |
---|
1078 | 1107 | IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB | |
---|
1079 | 1108 | IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT | |
---|
1080 | 1109 | IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO; |
---|
| 1110 | +#endif |
---|
1081 | 1111 | he_cap->he_cap_elem.phy_cap_info[7] |= IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI; |
---|
1082 | 1112 | he_cap->he_cap_elem.phy_cap_info[8] |= IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G; |
---|
1083 | 1113 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) |
---|