diff --git a/src/core/devices/wifi/nm-device-wifi.c b/src/core/devices/wifi/nm-device-wifi.c index 747f42831f..1fd096426e 100644 --- a/src/core/devices/wifi/nm-device-wifi.c +++ b/src/core/devices/wifi/nm-device-wifi.c @@ -3257,7 +3257,11 @@ act_stage1_prepare(NMDevice *device, NMDeviceStateReason *out_failure_reason) static void ensure_hotspot_frequency(NMDeviceWifi *self, NMSettingWireless *s_wifi, NMWifiAP *ap) { - guint32 freqs_a[] = {5180, 5200, 5220, 5745, 5765, 5785, 5805, 0}; + guint32 freqs_a[] = {5180, /* only U-NII-1 channels: non-DFS and available everywhere */ + 5200, + 5220, + 5240, + 0}; guint32 freqs_bg[] = {2412, 2437, 2462, 2472, 0}; guint32 freqs_6ghz[] = {5975, /* only U-NII-5 PSC channels, for better compatibility */ 6055, diff --git a/src/libnm-core-impl/nm-utils.c b/src/libnm-core-impl/nm-utils.c index fea2822dd8..ad7eea438b 100644 --- a/src/libnm-core-impl/nm-utils.c +++ b/src/libnm-core-impl/nm-utils.c @@ -3699,18 +3699,58 @@ struct cf_pair { }; static const struct cf_pair table_5ghz[] = { - {7, 5035}, {8, 5040}, {9, 5045}, {11, 5055}, {12, 5060}, {16, 5080}, {34, 5170}, - {36, 5180}, {38, 5190}, {40, 5200}, {42, 5210}, {44, 5220}, {46, 5230}, {48, 5240}, - {50, 5250}, {52, 5260}, {56, 5280}, {58, 5290}, {60, 5300}, {64, 5320}, {100, 5500}, - {104, 5520}, {108, 5540}, {112, 5560}, {116, 5580}, {120, 5600}, {124, 5620}, {128, 5640}, - {132, 5660}, {136, 5680}, {140, 5700}, {149, 5745}, {152, 5760}, {153, 5765}, {157, 5785}, - {160, 5800}, {161, 5805}, {165, 5825}, {183, 4915}, {184, 4920}, {185, 4925}, {187, 4935}, - {188, 4945}, {192, 4960}, {196, 4980}, {0, 0}}; + /* Special, 20MHz only */ + {32, 5160}, + + /* UNII-1 (Indoor) */ + {36, 5180}, + {40, 5200}, + {44, 5220}, + {48, 5240}, + + /* UNII-2 (DFS) */ + {52, 5260}, + {56, 5280}, + {60, 5300}, + {64, 5320}, + + /* UNII-2C (DFS) */ + {100, 5500}, + {104, 5520}, + {108, 5540}, + {112, 5560}, + {116, 5580}, + {120, 5600}, + {124, 5620}, + {128, 5640}, + {132, 5660}, + {136, 5680}, + {140, 5700}, + {144, 5720}, + + /* UNII-3 */ + {149, 5745}, + {153, 5765}, + {157, 5785}, + {161, 5805}, + {165, 5825}, + + /* 4.9 GHz Public Safety Band (802.11y/j) */ + {183, 4915}, + {184, 4920}, + {185, 4925}, + {187, 4935}, + {188, 4940}, + {189, 4945}, + {192, 4960}, + {196, 4980}, + + {0, 0}}; static const guint table_5ghz_freqs[G_N_ELEMENTS(table_5ghz)] = { - 5035, 5040, 5045, 5055, 5060, 5080, 5170, 5180, 5190, 5200, 5210, 5220, 5230, 5240, 5250, 5260, - 5280, 5290, 5300, 5320, 5500, 5520, 5540, 5560, 5580, 5600, 5620, 5640, 5660, 5680, 5700, 5745, - 5760, 5765, 5785, 5800, 5805, 5825, 4915, 4920, 4925, 4935, 4945, 4960, 4980, 0, + 5160, 5180, 5200, 5220, 5240, 5260, 5280, 5300, 5320, 5500, 5520, 5540, + 5560, 5580, 5600, 5620, 5640, 5660, 5680, 5700, 5720, 5745, 5765, 5785, + 5805, 5825, 4915, 4920, 4925, 4935, 4940, 4945, 4960, 4980, 0, }; static const struct cf_pair table_2ghz[] = {{1, 2412},