mac80211_hwsim: add more 5GHz channels, 5/10 MHz support
authorRamon Fontes <ramonreisfontes@gmail.com>
Thu, 10 Oct 2019 18:13:06 +0000 (15:13 -0300)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 11 Oct 2019 08:33:01 +0000 (10:33 +0200)
These new 5GHz channels and 5/10 MHz support should be
available for OCB usage (802.11p).

Signed-off-by: Ramon Fontes <ramonreisfontes@gmail.com>
Link: https://lore.kernel.org/r/20191010181307.11821-1-ramonreisfontes@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c

index 1aeb38296ec3bf5e910354fc17fd6fb38c8f7905..e638553d3c8242a300a7007133803a515706040d 100644 (file)
@@ -148,23 +148,25 @@ static const char *hwsim_alpha2s[] = {
 };
 
 static const struct ieee80211_regdomain hwsim_world_regdom_custom_01 = {
-       .n_reg_rules = 4,
+       .n_reg_rules = 5,
        .alpha2 =  "99",
        .reg_rules = {
                REG_RULE(2412-10, 2462+10, 40, 0, 20, 0),
                REG_RULE(2484-10, 2484+10, 40, 0, 20, 0),
                REG_RULE(5150-10, 5240+10, 40, 0, 30, 0),
                REG_RULE(5745-10, 5825+10, 40, 0, 30, 0),
+               REG_RULE(5855-10, 5925+10, 40, 0, 33, 0),
        }
 };
 
 static const struct ieee80211_regdomain hwsim_world_regdom_custom_02 = {
-       .n_reg_rules = 2,
+       .n_reg_rules = 3,
        .alpha2 =  "99",
        .reg_rules = {
                REG_RULE(2412-10, 2462+10, 40, 0, 20, 0),
                REG_RULE(5725-10, 5850+10, 40, 0, 30,
                         NL80211_RRF_NO_IR),
+               REG_RULE(5855-10, 5925+10, 40, 0, 33, 0),
        }
 };
 
@@ -354,6 +356,24 @@ static const struct ieee80211_channel hwsim_channels_5ghz[] = {
        CHAN5G(5805), /* Channel 161 */
        CHAN5G(5825), /* Channel 165 */
        CHAN5G(5845), /* Channel 169 */
+
+       CHAN5G(5855), /* Channel 171 */
+       CHAN5G(5860), /* Channel 172 */
+       CHAN5G(5865), /* Channel 173 */
+       CHAN5G(5870), /* Channel 174 */
+
+       CHAN5G(5875), /* Channel 175 */
+       CHAN5G(5880), /* Channel 176 */
+       CHAN5G(5885), /* Channel 177 */
+       CHAN5G(5890), /* Channel 178 */
+       CHAN5G(5895), /* Channel 179 */
+       CHAN5G(5900), /* Channel 180 */
+       CHAN5G(5905), /* Channel 181 */
+
+       CHAN5G(5910), /* Channel 182 */
+       CHAN5G(5915), /* Channel 183 */
+       CHAN5G(5920), /* Channel 184 */
+       CHAN5G(5925), /* Channel 185 */
 };
 
 static const struct ieee80211_rate hwsim_rates[] = {
@@ -1604,6 +1624,8 @@ mac80211_hwsim_beacon(struct hrtimer *timer)
 }
 
 static const char * const hwsim_chanwidths[] = {
+       [NL80211_CHAN_WIDTH_5] = "ht5",
+       [NL80211_CHAN_WIDTH_10] = "ht10",
        [NL80211_CHAN_WIDTH_20_NOHT] = "noht",
        [NL80211_CHAN_WIDTH_20] = "ht20",
        [NL80211_CHAN_WIDTH_40] = "ht40",
@@ -2846,6 +2868,8 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
        } else {
                data->if_combination.num_different_channels = 1;
                data->if_combination.radar_detect_widths =
+                                       BIT(NL80211_CHAN_WIDTH_5) |
+                                       BIT(NL80211_CHAN_WIDTH_10) |
                                        BIT(NL80211_CHAN_WIDTH_20_NOHT) |
                                        BIT(NL80211_CHAN_WIDTH_20) |
                                        BIT(NL80211_CHAN_WIDTH_40) |