aredn: extend 5GHz channel options from 133 down to 131

In the US, part 97 ham radio lower band edge is 5650.
Channel 131 @ 10MHz channel width is the lowest channel
setting that stays within allocation.

fixes #550
This commit is contained in:
Joe Ayers 2020-08-17 15:31:42 -07:00 committed by Joe AE6XE
parent 437b4780ae
commit 6e579d4d6e
2 changed files with 83 additions and 98 deletions

View File

@ -117,6 +117,8 @@ sub rf_channel_map
},
# 5800 UBNT US Band
'5800ubntus' => {
131 => "131 (5655)",
132 => "132 (5660)",
133 => "133 (5665)",
134 => "134 (5670)",
135 => "135 (5675)",

View File

@ -2,105 +2,88 @@ Index: openwrt/package/kernel/mac80211/patches/ath/301-extended-spectrum.patch
===================================================================
--- /dev/null
+++ openwrt/package/kernel/mac80211/patches/ath/301-extended-spectrum.patch
@@ -0,0 +1,169 @@
@@ -0,0 +1,152 @@
+--- a/drivers/net/wireless/ath/ath9k/common-init.c
++++ b/drivers/net/wireless/ath/ath9k/common-init.c
+@@ -37,6 +37,8 @@
+ * we have calibration data for all cards though to make
+ * this static */
+ static const struct ieee80211_channel ath9k_2ghz_chantable[] = {
++ CHAN2G(2397, 39), /* Channel -2 */
++ CHAN2G(2402, 38), /* Channel -1 */
+ CHAN2G(2412, 0), /* Channel 1 */
+ CHAN2G(2417, 1), /* Channel 2 */
+ CHAN2G(2422, 2), /* Channel 3 */
+@@ -68,6 +70,33 @@ static const struct ieee80211_channel at
+ CHAN5G(5280, 19), /* Channel 56 */
+ CHAN5G(5300, 20), /* Channel 60 */
+ CHAN5G(5320, 21), /* Channel 64 */
++ /* _We_ claim this "For the HAMS" */
++ CHAN5G(5370, 40), /* Channel 74 */
++ CHAN5G(5375, 41), /* Channel 75 */
++ CHAN5G(5380, 42), /* Channel 76 */
++ CHAN5G(5385, 43), /* Channel 77 */
++ CHAN5G(5390, 44), /* Channel 78 */
++ CHAN5G(5395, 45), /* Channel 79 */
++ CHAN5G(5400, 46), /* Channel 80 */
++ CHAN5G(5405, 47), /* Channel 81 */
++ CHAN5G(5410, 48), /* Channel 82 */
++ CHAN5G(5415, 49), /* Channel 83 */
++ CHAN5G(5420, 50), /* Channel 84 */
++ CHAN5G(5425, 51), /* Channel 85 */
++ CHAN5G(5430, 52), /* Channel 86 */
++ CHAN5G(5435, 53), /* Channel 87 */
++ CHAN5G(5440, 54), /* Channel 88 */
++ CHAN5G(5445, 55), /* Channel 89 */
++ CHAN5G(5450, 56), /* Channel 90 */
++ CHAN5G(5455, 57), /* Channel 91 */
++ CHAN5G(5460, 58), /* Channel 92 */
++ CHAN5G(5465, 59), /* Channel 93 */
++ CHAN5G(5470, 60), /* Channel 94 */
++ CHAN5G(5475, 61), /* Channel 95 */
++ CHAN5G(5480, 62), /* Channel 96 */
++ CHAN5G(5485, 63), /* Channel 97 */
++ CHAN5G(5490, 64), /* Channel 98 */
++ CHAN5G(5495, 65), /* Channel 99 */
+ /* _We_ call this "Middle band" */
+ CHAN5G(5500, 22), /* Channel 100 */
+ CHAN5G(5520, 23), /* Channel 104 */
+@@ -86,6 +115,52 @@ static const struct ieee80211_channel at
+ CHAN5G(5785, 35), /* Channel 157 */
+ CHAN5G(5805, 36), /* Channel 161 */
+ CHAN5G(5825, 37), /* Channel 165 */
++ /* _We_ claim this "For the HAMS" x2 */
++ CHAN5G(5665, 66), /* Channel 133 */
++ CHAN5G(5670, 67), /* Channel 134 */
++ CHAN5G(5675, 68), /* Channel 135 */
++ CHAN5G(5685, 69), /* Channel 137 */
++ CHAN5G(5690, 70), /* Channel 138 */
++ CHAN5G(5695, 71), /* Channel 139 */
++ CHAN5G(5705, 72), /* Channel 141 */
++ CHAN5G(5710, 73), /* Channel 142 */
++ CHAN5G(5715, 74), /* Channel 143 */
++ CHAN5G(5720, 75), /* Channel 144 */
++ CHAN5G(5725, 76), /* Channel 145 */
++ CHAN5G(5730, 77), /* Channel 146 */
++ CHAN5G(5735, 78), /* Channel 147 */
++ CHAN5G(5740, 79), /* Channel 148 */
++ CHAN5G(5750, 80), /* Channel 150 */
++ CHAN5G(5755, 81), /* Channel 151 */
++ CHAN5G(5760, 82), /* Channel 152 */
++ CHAN5G(5770, 83), /* Channel 154 */
++ CHAN5G(5775, 84), /* Channel 155 */
++ CHAN5G(5780, 85), /* Channel 156 */
++ CHAN5G(5790, 86), /* Channel 158 */
++ CHAN5G(5795, 87), /* Channel 159 */
++ CHAN5G(5800, 88), /* Channel 160 */
++ CHAN5G(5810, 89), /* Channel 162 */
++ CHAN5G(5815, 90), /* Channel 163 */
++ CHAN5G(5820, 91), /* Channel 164 */
++ CHAN5G(5830, 92), /* Channel 166 */
++ CHAN5G(5835, 93), /* Channel 167 */
++ CHAN5G(5840, 94), /* Channel 168 */
++ CHAN5G(5845, 95), /* Channel 169 */
++ CHAN5G(5850, 96), /* Channel 170 */
++ CHAN5G(5855, 97), /* Channel 171 */
++ CHAN5G(5860, 98), /* Channel 172 */
++ CHAN5G(5865, 99), /* Channel 173 */
++ CHAN5G(5870, 100), /* Channel 174 */
++ CHAN5G(5875, 101), /* Channel 175 */
++ CHAN5G(5880, 102), /* Channel 176 */
++ CHAN5G(5885, 103), /* Channel 177 */
++ CHAN5G(5890, 104), /* Channel 178 */
++ CHAN5G(5895, 105), /* Channel 179 */
++ CHAN5G(5900, 106), /* Channel 180 */
++ CHAN5G(5905, 107), /* Channel 181 */
++ CHAN5G(5910, 108), /* Channel 182 */
++ CHAN5G(5915, 109), /* Channel 183 */
++ CHAN5G(5920, 110), /* Channel 184 */
+ };
+
+ /* Atheros hardware rate code addition for short premble */
+39a40,41
+> CHAN2G(2397, 39), /* Channel -2 */
+> CHAN2G(2402, 38), /* Channel -1 */
+70a73,99
+> /* _We_ claim this "For the HAMS" */
+> CHAN5G(5370, 40), /* Channel 74 */
+> CHAN5G(5375, 41), /* Channel 75 */
+> CHAN5G(5380, 42), /* Channel 76 */
+> CHAN5G(5385, 43), /* Channel 77 */
+> CHAN5G(5390, 44), /* Channel 78 */
+> CHAN5G(5395, 45), /* Channel 79 */
+> CHAN5G(5400, 46), /* Channel 80 */
+> CHAN5G(5405, 47), /* Channel 81 */
+> CHAN5G(5410, 48), /* Channel 82 */
+> CHAN5G(5415, 49), /* Channel 83 */
+> CHAN5G(5420, 50), /* Channel 84 */
+> CHAN5G(5425, 51), /* Channel 85 */
+> CHAN5G(5430, 52), /* Channel 86 */
+> CHAN5G(5435, 53), /* Channel 87 */
+> CHAN5G(5440, 54), /* Channel 88 */
+> CHAN5G(5445, 55), /* Channel 89 */
+> CHAN5G(5450, 56), /* Channel 90 */
+> CHAN5G(5455, 57), /* Channel 91 */
+> CHAN5G(5460, 58), /* Channel 92 */
+> CHAN5G(5465, 59), /* Channel 93 */
+> CHAN5G(5470, 60), /* Channel 94 */
+> CHAN5G(5475, 61), /* Channel 95 */
+> CHAN5G(5480, 62), /* Channel 96 */
+> CHAN5G(5485, 63), /* Channel 97 */
+> CHAN5G(5490, 64), /* Channel 98 */
+> CHAN5G(5495, 65), /* Channel 99 */
+88a118,164
+> /* _We_ claim this "For the HAMS" x2 */
+> CHAN5G(5655, 66), /* Channel 131 */
+> CHAN5G(5665, 67), /* Channel 133 */
+> CHAN5G(5670, 68), /* Channel 134 */
+> CHAN5G(5675, 69), /* Channel 135 */
+> CHAN5G(5685, 70), /* Channel 137 */
+> CHAN5G(5690, 71), /* Channel 138 */
+> CHAN5G(5695, 72), /* Channel 139 */
+> CHAN5G(5705, 73), /* Channel 141 */
+> CHAN5G(5710, 74), /* Channel 142 */
+> CHAN5G(5715, 75), /* Channel 143 */
+> CHAN5G(5720, 76), /* Channel 144 */
+> CHAN5G(5725, 77), /* Channel 145 */
+> CHAN5G(5730, 78), /* Channel 146 */
+> CHAN5G(5735, 79), /* Channel 147 */
+> CHAN5G(5740, 80), /* Channel 148 */
+> CHAN5G(5750, 81), /* Channel 150 */
+> CHAN5G(5755, 82), /* Channel 151 */
+> CHAN5G(5760, 83), /* Channel 152 */
+> CHAN5G(5770, 84), /* Channel 154 */
+> CHAN5G(5775, 85), /* Channel 155 */
+> CHAN5G(5780, 86), /* Channel 156 */
+> CHAN5G(5790, 87), /* Channel 158 */
+> CHAN5G(5795, 88), /* Channel 159 */
+> CHAN5G(5800, 89), /* Channel 160 */
+> CHAN5G(5810, 90), /* Channel 162 */
+> CHAN5G(5815, 91), /* Channel 163 */
+> CHAN5G(5820, 92), /* Channel 164 */
+> CHAN5G(5830, 93), /* Channel 166 */
+> CHAN5G(5835, 94), /* Channel 167 */
+> CHAN5G(5840, 95), /* Channel 168 */
+> CHAN5G(5845, 96), /* Channel 169 */
+> CHAN5G(5850, 97), /* Channel 170 */
+> CHAN5G(5855, 98), /* Channel 171 */
+> CHAN5G(5860, 99), /* Channel 172 */
+> CHAN5G(5865, 100), /* Channel 173 */
+> CHAN5G(5870, 101), /* Channel 174 */
+> CHAN5G(5875, 102), /* Channel 175 */
+> CHAN5G(5880, 103), /* Channel 176 */
+> CHAN5G(5885, 104), /* Channel 177 */
+> CHAN5G(5890, 105), /* Channel 178 */
+> CHAN5G(5895, 106), /* Channel 179 */
+> CHAN5G(5900, 107), /* Channel 180 */
+> CHAN5G(5905, 108), /* Channel 181 */
+> CHAN5G(5910, 109), /* Channel 182 */
+> CHAN5G(5915, 110), /* Channel 183 */
+> CHAN5G(5920, 111), /* Channel 184 */
+--- a/drivers/net/wireless/ath/ath9k/hw.h
++++ b/drivers/net/wireless/ath/ath9k/hw.h
+@@ -71,7 +71,7 @@
@ -108,7 +91,7 @@ Index: openwrt/package/kernel/mac80211/patches/ath/301-extended-spectrum.patch
+ #define ATH9K_RSSI_BAD -128
+
+-#define ATH9K_NUM_CHANNELS 38
++#define ATH9K_NUM_CHANNELS 111
++#define ATH9K_NUM_CHANNELS 112
+
+ /* Register read/write primitives */
+ #define REG_WRITE(_ah, _reg, _val) \