[PATCH] Revert openwrt patch which caused too high tx powers

Christian Dresel fff at chrisi01.de
So Jan 21 11:22:02 CET 2018


Hallo

Tested-by: Christian Dresel <fff at chrisi01.de>

Getestet wurde, ob die dbm Anzeige stimmt, dies kann ich bestätigen hier
sind die Werte dann wieder richtig.
Weiterhin hab ich einen ganz groben Test mit dem Handy durchgeführt, ich
hab versucht es exakt genauso wie mit der alten Firmware zu platzieren
(direkt an der Antenne) und ich konnte den Wert der vorher problemlos
erreichbar war nicht mehr erreichen. Gefühlt hat sich also die
Sendeleistung verringert wobei das natürlich nicht gerade ein genauer
Test ist. Allerdings waren es am Ende tatsächlich ziemlich genau diese
6db am 1043er die ich durch dieses Patch "verloren" habe. Es hat also
eine Auswirkung ob allerdings vorher "richtig" war oder jetzt "richtig"
ist kann ich nicht sagen.

Ich würde dieses Patch so erstmal einbauen für einen reviewed-by begreif
ich aber einfach viel zu wenig was es überhaupt tut.

mfg

Christian

On 20.01.2018 15:50, Fabian Bläse wrote:
> Since the reverted patch, device specific antenna gain is not set for some reason.
> Reverting the patch in question fixes this issue.
> 
> THIS SHOULD BE ONLY CONSIDERD AS A TEMPORARY FIX UNTIL THE ISSUE IS FIXED PROPERLY!
> 
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> Tested-by: Fabian Bläse <fabian at blaese.de>
> ---
>  ...do-not-apply-broken-power-limits-with-ATH.patch | 173 +++++++++++++++++++++
>  1 file changed, 173 insertions(+)
>  create mode 100644 build_patches/openwrt/0020-Revert-ath-do-not-apply-broken-power-limits-with-ATH.patch
> 
> diff --git a/build_patches/openwrt/0020-Revert-ath-do-not-apply-broken-power-limits-with-ATH.patch b/build_patches/openwrt/0020-Revert-ath-do-not-apply-broken-power-limits-with-ATH.patch
> new file mode 100644
> index 0000000..760a454
> --- /dev/null
> +++ b/build_patches/openwrt/0020-Revert-ath-do-not-apply-broken-power-limits-with-ATH.patch
> @@ -0,0 +1,173 @@
> +From e1fb372bc2466a04fdf57d2f806e362931a43daf Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian at blaese.de>
> +Date: Sat, 20 Jan 2018 02:33:59 +0100
> +Subject: [PATCH] Revert "ath: do not apply broken power limits with
> + ATH_USER_REGD"
> +
> +This reverts commit a9728799bc41e68de4d50995bb4ad689784ef55e.
> +This is a workaround to fix txpower calculation
> +---
> + .../mac80211/patches/402-ath_regd_optional.patch   | 44 +++-------------------
> + .../mac80211/patches/403-world_regd_fixup.patch    |  4 +-
> + .../patches/406-ath_relax_default_regd.patch       |  8 ++--
> + 3 files changed, 12 insertions(+), 44 deletions(-)
> +
> +diff --git a/package/kernel/mac80211/patches/402-ath_regd_optional.patch b/package/kernel/mac80211/patches/402-ath_regd_optional.patch
> +index c8ede7f583..0d6d3dbdbd 100644
> +--- a/package/kernel/mac80211/patches/402-ath_regd_optional.patch
> ++++ b/package/kernel/mac80211/patches/402-ath_regd_optional.patch
> +@@ -1,14 +1,6 @@
> + --- a/drivers/net/wireless/ath/regd.c
> + +++ b/drivers/net/wireless/ath/regd.c
> +-@@ -24,6 +24,7 @@
> +- #include "regd_common.h"
> +- 
> +- static int __ath_regd_init(struct ath_regulatory *reg);
> +-+static struct reg_dmn_pair_mapping *ath_get_regpair(int regdmn);
> +- 
> +- /*
> +-  * This is a set of common rules used by our world regulatory domains.
> +-@@ -116,6 +117,9 @@ static const struct ieee80211_regdomain
> ++@@ -116,6 +116,9 @@ static const struct ieee80211_regdomain
> +  
> +  static bool dynamic_country_user_possible(struct ath_regulatory *reg)
> +  {
> +@@ -18,7 +10,7 @@
> +  	if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
> +  		return true;
> +  
> +-@@ -188,6 +192,8 @@ static bool dynamic_country_user_possibl
> ++@@ -188,6 +191,8 @@ static bool dynamic_country_user_possibl
> +  
> +  static bool ath_reg_dyn_country_user_allow(struct ath_regulatory *reg)
> +  {
> +@@ -27,7 +19,7 @@
> +  	if (!IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_REG_HINTS))
> +  		return false;
> +  	if (!dynamic_country_user_possible(reg))
> +-@@ -341,6 +347,9 @@ ath_reg_apply_beaconing_flags(struct wip
> ++@@ -341,6 +346,9 @@ ath_reg_apply_beaconing_flags(struct wip
> +  	struct ieee80211_channel *ch;
> +  	unsigned int i;
> +  
> +@@ -37,7 +29,7 @@
> +  	for (band = 0; band < NUM_NL80211_BANDS; band++) {
> +  		if (!wiphy->bands[band])
> +  			continue;
> +-@@ -374,6 +383,9 @@ ath_reg_apply_ir_flags(struct wiphy *wip
> ++@@ -374,6 +382,9 @@ ath_reg_apply_ir_flags(struct wiphy *wip
> +  {
> +  	struct ieee80211_supported_band *sband;
> +  
> +@@ -47,7 +39,7 @@
> +  	sband = wiphy->bands[NL80211_BAND_2GHZ];
> +  	if (!sband)
> +  		return;
> +-@@ -402,6 +414,9 @@ static void ath_reg_apply_radar_flags(st
> ++@@ -402,6 +413,9 @@ static void ath_reg_apply_radar_flags(st
> +  	struct ieee80211_channel *ch;
> +  	unsigned int i;
> +  
> +@@ -57,19 +49,7 @@
> +  	if (!wiphy->bands[NL80211_BAND_5GHZ])
> +  		return;
> +  
> +-@@ -539,6 +554,11 @@ void ath_reg_notifier_apply(struct wiphy
> +- 		ath_reg_dyn_country(wiphy, reg, request);
> +- 		break;
> +- 	}
> +-+
> +-+	/* Prevent broken CTLs from being applied */
> +-+	if (IS_ENABLED(CPTCFG_ATH_USER_REGD) &&
> +-+	    reg->regpair != common->reg_world_copy.regpair)
> +-+		reg->regpair = ath_get_regpair(WOR0_WORLD);
> +- }
> +- EXPORT_SYMBOL(ath_reg_notifier_apply);
> +- 
> +-@@ -634,6 +654,10 @@ ath_regd_init_wiphy(struct ath_regulator
> ++@@ -634,6 +648,10 @@ ath_regd_init_wiphy(struct ath_regulator
> +  	const struct ieee80211_regdomain *regd;
> +  
> +  	wiphy->reg_notifier = reg_notifier;
> +@@ -80,18 +60,6 @@
> +  	wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
> +  				   REGULATORY_CUSTOM_REG;
> +  
> +-@@ -762,10 +786,7 @@ ath_regd_init(struct ath_regulatory *reg
> +- 	if (r)
> +- 		return r;
> +- 
> +--	if (ath_is_world_regd(reg))
> +--		memcpy(&common->reg_world_copy, reg,
> +--		       sizeof(struct ath_regulatory));
> +--
> +-+	memcpy(&common->reg_world_copy, reg, sizeof(struct ath_regulatory));
> +- 	ath_regd_init_wiphy(reg, wiphy, reg_notifier);
> +- 
> +- 	return 0;
> + --- a/drivers/net/wireless/ath/Kconfig
> + +++ b/drivers/net/wireless/ath/Kconfig
> + @@ -23,6 +23,9 @@ config WLAN_VENDOR_ATH
> +diff --git a/package/kernel/mac80211/patches/403-world_regd_fixup.patch b/package/kernel/mac80211/patches/403-world_regd_fixup.patch
> +index 2043083158..2b04309ce5 100644
> +--- a/package/kernel/mac80211/patches/403-world_regd_fixup.patch
> ++++ b/package/kernel/mac80211/patches/403-world_regd_fixup.patch
> +@@ -1,6 +1,6 @@
> + --- a/drivers/net/wireless/ath/regd.c
> + +++ b/drivers/net/wireless/ath/regd.c
> +-@@ -44,7 +44,8 @@ static struct reg_dmn_pair_mapping *ath_
> ++@@ -43,7 +43,8 @@ static int __ath_regd_init(struct ath_re
> +  					 NL80211_RRF_NO_OFDM)
> +  
> +  /* We allow IBSS on these on a case by case basis by regulatory domain */
> +@@ -10,7 +10,7 @@
> +  					 NL80211_RRF_NO_IR)
> +  #define ATH9K_5GHZ_5470_5850	REG_RULE(5470-10, 5850+10, 80, 0, 30,\
> +  					 NL80211_RRF_NO_IR)
> +-@@ -62,57 +63,56 @@ static struct reg_dmn_pair_mapping *ath_
> ++@@ -61,57 +62,56 @@ static int __ath_regd_init(struct ath_re
> +  #define ATH9K_5GHZ_NO_MIDBAND	ATH9K_5GHZ_5150_5350, \
> +  				ATH9K_5GHZ_5725_5850
> +  
> +diff --git a/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch b/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
> +index 35b0f2b76e..b6190b9363 100644
> +--- a/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
> ++++ b/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
> +@@ -1,6 +1,6 @@
> + --- a/drivers/net/wireless/ath/regd.c
> + +++ b/drivers/net/wireless/ath/regd.c
> +-@@ -115,6 +115,16 @@ static const struct ieee80211_regdomain
> ++@@ -114,6 +114,16 @@ static const struct ieee80211_regdomain
> +  	)
> +  };
> +  
> +@@ -17,7 +17,7 @@
> +  static bool dynamic_country_user_possible(struct ath_regulatory *reg)
> +  {
> +  	if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
> +-@@ -123,6 +133,9 @@ static bool dynamic_country_user_possibl
> ++@@ -122,6 +132,9 @@ static bool dynamic_country_user_possibl
> +  	if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
> +  		return true;
> +  
> +@@ -27,7 +27,7 @@
> +  	switch (reg->country_code) {
> +  	case CTRY_UNITED_STATES:
> +  	case CTRY_JAPAN1:
> +-@@ -208,11 +221,6 @@ static inline bool is_wwr_sku(u16 regd)
> ++@@ -207,11 +220,6 @@ static inline bool is_wwr_sku(u16 regd)
> +  		(regd == WORLD));
> +  }
> +  
> +@@ -39,7 +39,7 @@
> +  bool ath_is_world_regd(struct ath_regulatory *reg)
> +  {
> +  	return is_wwr_sku(ath_regd_get_eepromRD(reg));
> +-@@ -658,6 +666,9 @@ ath_regd_init_wiphy(struct ath_regulator
> ++@@ -652,6 +660,9 @@ ath_regd_init_wiphy(struct ath_regulator
> +  	if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
> +  		return 0;
> +  
> +-- 
> +2.11.0
> +
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180121/0e20fd1a/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev