[ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread greearb
From: Ben Greear gree...@candelatech.com

Otherwise, can't get the Sparklan AR9380 NICs to be
5Ghz APs, since they are in world-roaming domain by
default.  Add this to /etc/modprobe.d/ath9k.conf:

options ath9k override_eeprom_regdomain=0

Signed-off-by: Ben Greear gree...@candelatech.com
---
:100644 100644 af932c9... dee91a2... M  drivers/net/wireless/ath/ath9k/init.c
 drivers/net/wireless/ath/ath9k/init.c |   21 +
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c 
b/drivers/net/wireless/ath/ath9k/init.c
index af932c9..dee91a2 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -56,6 +56,12 @@ static int ath9k_enable_diversity;
 module_param_named(enable_diversity, ath9k_enable_diversity, int, 0444);
 MODULE_PARM_DESC(enable_diversity, Enable Antenna diversity for AR9565);
 
+static int modparam_override_eeprom_regdomain = -1;
+module_param_named(override_eeprom_regdomain,
+  modparam_override_eeprom_regdomain, int, 0444);
+MODULE_PARM_DESC(override_eeprom_regdomain, Override regdomain hardcoded in 
EEPROM with this value (DANGEROUS).);
+
+
 bool is_ath9k_unloaded;
 /* We use the hw_value as an index into our private channel structure */
 
@@ -740,6 +746,21 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct 
ieee80211_hw *hw)
struct ath_hw *ah = sc-sc_ah;
struct ath_common *common = ath9k_hw_common(ah);
 
+   if (modparam_override_eeprom_regdomain != -1) {
+#ifdef CONFIG_CFG80211_CERTIFICATION_ONUS
+   struct ath_regulatory *regulatory = 
ath9k_hw_regulatory(sc-sc_ah);
+   printk(KERN_ERR ath9k: DANGER! You're overriding 
EEPROM-defined regulatory domain,
+  \nfrom: 0x%x to 0x%x\n,
+  regulatory-current_rd, 
modparam_override_eeprom_regdomain);
+   printk(KERN_ERR ath9k: Your card was not certified to operate 
in the domain you chose.\n);
+   printk(KERN_ERR ath9k: This might result in a violation of 
your local regulatory rules.\n);
+   printk(KERN_ERR ath9k: Do not ever do this unless you really 
know what you are doing!\n);
+   regulatory-current_rd = modparam_override_eeprom_regdomain;
+#else
+   printk(KERN_ERR ath9k: ERROR:  override_eeprom_regdomain 
request will be ignored because CF80211_CERTIFICATION_ONUS was not selected 
when compiling the kernel.\n);
+#endif
+   }
+
hw-flags = IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
IEEE80211_HW_SIGNAL_DBM |
-- 
1.7.3.4

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] Questions in 802.11 n timestamps traces for aggregated frames ?

2013-03-11 Thread abhinav narain
 Is this being recorded on transmit, or transmit completion? I'm
 guessing this is transmit completion on the transmit side.

Is this information coming from the driver, or from some completion
 status going up to mac80211?

 Partly from the driver (timestamp and tx aggr flag) and partly from the
status going to mac80211 (the bitrate array, retx count) and partly from
the mac header ( sequence number)
All of them are stored in the radiotap or mac header for each frame
delivered in userspace in monitor mode.

The data is recorded from transmit status(You might be referring to it as
transmit complete)
i.e net/mac80211/status.c

The *attempted rates *array is extracted from *struct ieee80211_tx_info *
which is part of skb control buffer.I don't really get how is this
populated/copied from.
The* timestamp* is got from *ath_tx_status*, which is later stored in the
ieee80211_tx_info struct to be given to mac80211. Population of timestamp
is done in driver (ath_tx_complete_buf() )
The *aggr flag *is populated using struct ath_buf field
bf-bf_state.bf_type.




 I can tell you what's going on with the hardware. I can't guarantee
 that the driver or mac80211 isn't messing things up along the line.

 Can you tell what happens if the whole aggregate frame is tried and does
not get transmitted.
Does the hardware return it back to driver, and the driver
1)splits the aggregate frame into subframe and retries later
2) hardware does not return the aggregate buffer until its done transmitted
it ?

There's one TX status for each aggregate being transmitted. If there's
 some per-buffer completion information being sent up to mac80211 about
 the state of that frame, it _should_ be stamped with the completion
 status from the single TX status that represents all the successfully
 transmitted frames for that buffer.

Yes, I have understood this part from your previous mails, and I am glad
that holds true.
In this case, I was fine with the above trace if the normal frame had the
same timestamp,
as it might be in the same buffer while sending. But the tx aggregate flag
and different attempted bitrate shows something is wrong.



There's no way at all to get an A-MPDU transmission with different TX
 rates for each sub-frame. The hardware just doesn't do it; there's no
 possible way to get that information from a single TX completion /
 status descriptor. So I'd go looking at what the ath9k driver is doing
 to mark completion status in the face of completion and software
 retransmit. It may be that something is messed up along the way and
 it's storing the wrong timestamp, or the previous rate control
 attempt, or something similar.

(I had an issue in FreeBSD where I was processing the rate control
 information from the last descriptor in the last buffer, but not
 taking a copy of it before I processed the aggregate - so if the final
 aggregate succeeded, I'd end up looking at a descriptor from a
 just-freed buffer. That caused all kinds of weird behaviour.)

 Sure, I was also confused if I am seeing the last descriptor value,
but it was too complicated to know how to find out.

I will try to dig more. Can someone confirm if there can be a discrepancy
in the status sent to mac80211 and what driver does.
I did not understand how the hooks to rate control (rc.c functions) so I
could not confirm myself :(
-
Abhinav



 Adrian

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] Questions in 802.11 n timestamps traces for aggregated frames ?

2013-03-11 Thread Felix Fietkau
On 2013-03-11 7:20 PM, abhinav narain wrote:
 
 Is this being recorded on transmit, or transmit completion? I'm
 guessing this is transmit completion on the transmit side.
 
 Is this information coming from the driver, or from some completion
 status going up to mac80211?
 
 Partly from the driver (timestamp and tx aggr flag) and partly from the
 status going to mac80211 (the bitrate array, retx count) and partly from
 the mac header ( sequence number)
 All of them are stored in the radiotap or mac header for each frame
 delivered in userspace in monitor mode.
 
 The data is recorded from transmit status(You might be referring to it
 as transmit complete)
 i.e net/mac80211/status.c 
 
 The *attempted rates *array is extracted from *struct ieee80211_tx_info *
 which is part of skb control buffer.I don't really get how is this
 populated/copied from.
 The*timestamp* is got from *ath_tx_status*, which is later stored in the
 ieee80211_tx_info struct to be given to mac80211. Population of
 timestamp is done in driver (ath_tx_complete_buf() ) 
 The *aggr flag *is populated using struct ath_buf
 field  bf-bf_state.bf_type.
One reason I told you to look into rate control is these lines in
minstrel_ht_tx_status:

/* This packet was aggregated but doesn't carry status info */
if ((info-flags  IEEE80211_TX_CTL_AMPDU) 
!(info-flags  IEEE80211_TX_STAT_AMPDU))
return;

Any packet with IEEE80211_TX_CTL_AMPDU and not IEEE80211_TX_STAT_AMPDU
does not carry valid rate/retry information. Did you filter your debug
stuff accordingly?

- Felix
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread John W. Linville
On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com
 
 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:
 
 options ath9k override_eeprom_regdomain=0
 
 Signed-off-by: Ben Greear gree...@candelatech.com

Why =0 to enable it?  Just to make it more confusing?

Do the Atheros folks have an opinion on this?

John
-- 
John W. LinvilleSomeday the world will need a hero, and you
linvi...@tuxdriver.com  might be all we have.  Be ready.
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Ben Greear
On 03/11/2013 12:05 PM, John W. Linville wrote:
 On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com

 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:

 options ath9k override_eeprom_regdomain=0

 Signed-off-by: Ben Greear gree...@candelatech.com

 Why =0 to enable it?  Just to make it more confusing?

You are just setting the country code...and country-code 0 seems
to at least open up the US regulatory domain so we use it
by default.

You can use any country code you wish here.

Thanks,
Ben


 Do the Atheros folks have an opinion on this?

 John



-- 
Ben Greear gree...@candelatech.com
Candela Technologies Inc  http://www.candelatech.com

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread John W. Linville
On Mon, Mar 11, 2013 at 12:51:41PM -0700, Ben Greear wrote:
 On 03/11/2013 12:05 PM, John W. Linville wrote:
 On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com
 
 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:
 
 options ath9k override_eeprom_regdomain=0
 
 Signed-off-by: Ben Greear gree...@candelatech.com
 
 Why =0 to enable it?  Just to make it more confusing?
 
 You are just setting the country code...and country-code 0 seems
 to at least open up the US regulatory domain so we use it
 by default.
 
 You can use any country code you wish here.

Ah, sorry -- I brain-locked on it being a logic value...

-- 
John W. LinvilleSomeday the world will need a hero, and you
linvi...@tuxdriver.com  might be all we have.  Be ready.
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Felix Fietkau
On 2013-03-11 8:51 PM, Ben Greear wrote:
 On 03/11/2013 12:05 PM, John W. Linville wrote:
 On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com

 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:

 options ath9k override_eeprom_regdomain=0

 Signed-off-by: Ben Greear gree...@candelatech.com

 Why =0 to enable it?  Just to make it more confusing?
 
 You are just setting the country code...and country-code 0 seems
 to at least open up the US regulatory domain so we use it
 by default.
 
 You can use any country code you wish here.
I'd like to have less fugly module parameter hackery please. How about
either using CONFIG_CFG80211_CERTIFICATION_ONUS the way it was intended,
or adding another config option that makes it bail out of
ath_regd_init_wiphy() early, thus still processing the EEPROM regdomain
hint and not making it binding.

- Felix
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Ben Greear
On 03/11/2013 01:17 PM, Felix Fietkau wrote:
 On 2013-03-11 8:51 PM, Ben Greear wrote:
 On 03/11/2013 12:05 PM, John W. Linville wrote:
 On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com

 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:

 options ath9k override_eeprom_regdomain=0

 Signed-off-by: Ben Greear gree...@candelatech.com

 Why =0 to enable it?  Just to make it more confusing?

 You are just setting the country code...and country-code 0 seems
 to at least open up the US regulatory domain so we use it
 by default.

 You can use any country code you wish here.
 I'd like to have less fugly module parameter hackery please. How about
 either using CONFIG_CFG80211_CERTIFICATION_ONUS the way it was intended,
 or adding another config option that makes it bail out of
 ath_regd_init_wiphy() early, thus still processing the EEPROM regdomain
 hint and not making it binding.

I am not sure what you are suggesting.  I enabled this override
only when ONUS is selected because I wanted it clear that users
were taking their regulatory compliance into their own hands.

I always want the module option at least visible so that
you don't have to muck with modprobe.conf just to get ath9k.ko
to load when it's compiled differently.

For the second part, you want the ability to set the regdomain
be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
or something like that?

Thanks,
Ben


 - Felix



-- 
Ben Greear gree...@candelatech.com
Candela Technologies Inc  http://www.candelatech.com

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Felix Fietkau
On 2013-03-11 10:01 PM, Ben Greear wrote:
 On 03/11/2013 01:17 PM, Felix Fietkau wrote:
 On 2013-03-11 8:51 PM, Ben Greear wrote:
 On 03/11/2013 12:05 PM, John W. Linville wrote:
 On Mon, Mar 11, 2013 at 09:45:06AM -0700, gree...@candelatech.com wrote:
 From: Ben Greear gree...@candelatech.com

 Otherwise, can't get the Sparklan AR9380 NICs to be
 5Ghz APs, since they are in world-roaming domain by
 default.  Add this to /etc/modprobe.d/ath9k.conf:

 options ath9k override_eeprom_regdomain=0

 Signed-off-by: Ben Greear gree...@candelatech.com

 Why =0 to enable it?  Just to make it more confusing?

 You are just setting the country code...and country-code 0 seems
 to at least open up the US regulatory domain so we use it
 by default.

 You can use any country code you wish here.
 I'd like to have less fugly module parameter hackery please. How about
 either using CONFIG_CFG80211_CERTIFICATION_ONUS the way it was intended,
 or adding another config option that makes it bail out of
 ath_regd_init_wiphy() early, thus still processing the EEPROM regdomain
 hint and not making it binding.
 
 I am not sure what you are suggesting.  I enabled this override
 only when ONUS is selected because I wanted it clear that users
 were taking their regulatory compliance into their own hands.
And as far as I understand, CONFIG_CFG80211_CERTIFICATION_ONUS already
enables some code in cfg80211 that allows a special type of regulatory
change request from user space that bypasses intersection.

 I always want the module option at least visible so that
 you don't have to muck with modprobe.conf just to get ath9k.ko
 to load when it's compiled differently.
 
 For the second part, you want the ability to set the regdomain
 be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
 or something like that?
Something like that, yes. It should depend on
CONFIG_CFG80211_CERTIFICATION_ONUS and should contain a help text that
strongly discourages any distribution from enabling it in their kernel
builds.

- Felix
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Ben Greear
On 03/11/2013 02:36 PM, Felix Fietkau wrote:
 On 2013-03-11 10:01 PM, Ben Greear wrote:
 On 03/11/2013 01:17 PM, Felix Fietkau wrote:

 I am not sure what you are suggesting.  I enabled this override
 only when ONUS is selected because I wanted it clear that users
 were taking their regulatory compliance into their own hands.
 And as far as I understand, CONFIG_CFG80211_CERTIFICATION_ONUS already
 enables some code in cfg80211 that allows a special type of regulatory
 change request from user space that bypasses intersection.

 I always want the module option at least visible so that
 you don't have to muck with modprobe.conf just to get ath9k.ko
 to load when it's compiled differently.

 For the second part, you want the ability to set the regdomain
 be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
 or something like that?
 Something like that, yes. It should depend on
 CONFIG_CFG80211_CERTIFICATION_ONUS and should contain a help text that
 strongly discourages any distribution from enabling it in their kernel
 builds.

It seems to me that this doesn't gain much.  The ONUS configuration is already
strongly discouraged from vendor kernels.  If you are already compiling
with ONUS set, is there any reason you'd care to disable the override
module option?  When you don't set the module option, nothing happens
anyway...

Thanks,
Ben

-- 
Ben Greear gree...@candelatech.com
Candela Technologies Inc  http://www.candelatech.com

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Felix Fietkau
On 2013-03-11 10:44 PM, Ben Greear wrote:
 On 03/11/2013 02:36 PM, Felix Fietkau wrote:
 On 2013-03-11 10:01 PM, Ben Greear wrote:
 On 03/11/2013 01:17 PM, Felix Fietkau wrote:
 
 I am not sure what you are suggesting.  I enabled this override
 only when ONUS is selected because I wanted it clear that users
 were taking their regulatory compliance into their own hands.
 And as far as I understand, CONFIG_CFG80211_CERTIFICATION_ONUS already
 enables some code in cfg80211 that allows a special type of regulatory
 change request from user space that bypasses intersection.

 I always want the module option at least visible so that
 you don't have to muck with modprobe.conf just to get ath9k.ko
 to load when it's compiled differently.

 For the second part, you want the ability to set the regdomain
 be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
 or something like that?
 Something like that, yes. It should depend on
 CONFIG_CFG80211_CERTIFICATION_ONUS and should contain a help text that
 strongly discourages any distribution from enabling it in their kernel
 builds.
 
 It seems to me that this doesn't gain much.  The ONUS configuration is already
 strongly discouraged from vendor kernels.  If you are already compiling
 with ONUS set, is there any reason you'd care to disable the override
 module option?  When you don't set the module option, nothing happens
 anyway...
I'd like to avoid accumulating more hackish driver specific module
options for working around a generic issue.

- Felix

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Ben Greear
On 03/11/2013 02:51 PM, Felix Fietkau wrote:
 On 2013-03-11 10:44 PM, Ben Greear wrote:
 On 03/11/2013 02:36 PM, Felix Fietkau wrote:
 On 2013-03-11 10:01 PM, Ben Greear wrote:
 On 03/11/2013 01:17 PM, Felix Fietkau wrote:

 I am not sure what you are suggesting.  I enabled this override
 only when ONUS is selected because I wanted it clear that users
 were taking their regulatory compliance into their own hands.
 And as far as I understand, CONFIG_CFG80211_CERTIFICATION_ONUS already
 enables some code in cfg80211 that allows a special type of regulatory
 change request from user space that bypasses intersection.

 I always want the module option at least visible so that
 you don't have to muck with modprobe.conf just to get ath9k.ko
 to load when it's compiled differently.

 For the second part, you want the ability to set the regdomain
 be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
 or something like that?
 Something like that, yes. It should depend on
 CONFIG_CFG80211_CERTIFICATION_ONUS and should contain a help text that
 strongly discourages any distribution from enabling it in their kernel
 builds.

 It seems to me that this doesn't gain much.  The ONUS configuration is 
 already
 strongly discouraged from vendor kernels.  If you are already compiling
 with ONUS set, is there any reason you'd care to disable the override
 module option?  When you don't set the module option, nothing happens
 anyway...
 I'd like to avoid accumulating more hackish driver specific module
 options for working around a generic issue.

I don't think I'm up for any significant re-write of the
regdomain logic, and I'm not sure it's worth the effort
of anyone doing this for code that will be compiled out
of all vendor kernels anyway...

Thanks,
Ben

-- 
Ben Greear gree...@candelatech.com
Candela Technologies Inc  http://www.candelatech.com

___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [PATCH] ath9k: Allow over-riding reg-domain.

2013-03-11 Thread Felix Fietkau
On 2013-03-11 11:00 PM, Ben Greear wrote:
 On 03/11/2013 02:51 PM, Felix Fietkau wrote:
 On 2013-03-11 10:44 PM, Ben Greear wrote:
 On 03/11/2013 02:36 PM, Felix Fietkau wrote:
 On 2013-03-11 10:01 PM, Ben Greear wrote:
 On 03/11/2013 01:17 PM, Felix Fietkau wrote:

 I am not sure what you are suggesting.  I enabled this override
 only when ONUS is selected because I wanted it clear that users
 were taking their regulatory compliance into their own hands.
 And as far as I understand, CONFIG_CFG80211_CERTIFICATION_ONUS already
 enables some code in cfg80211 that allows a special type of regulatory
 change request from user space that bypasses intersection.

 I always want the module option at least visible so that
 you don't have to muck with modprobe.conf just to get ath9k.ko
 to load when it's compiled differently.

 For the second part, you want the ability to set the regdomain
 be a compile-time option like CONFIG_ATH9K_OVERRIDE_REGDOMAIN
 or something like that?
 Something like that, yes. It should depend on
 CONFIG_CFG80211_CERTIFICATION_ONUS and should contain a help text that
 strongly discourages any distribution from enabling it in their kernel
 builds.

 It seems to me that this doesn't gain much.  The ONUS configuration is 
 already
 strongly discouraged from vendor kernels.  If you are already compiling
 with ONUS set, is there any reason you'd care to disable the override
 module option?  When you don't set the module option, nothing happens
 anyway...
 I'd like to avoid accumulating more hackish driver specific module
 options for working around a generic issue.
 
 I don't think I'm up for any significant re-write of the
 regdomain logic, and I'm not sure it's worth the effort
 of anyone doing this for code that will be compiled out
 of all vendor kernels anyway...
Who said anything about rewriting the regdomain logic? The code is
already there. If you make it a compile time option that gets rid of the
code in ath_regd_init_wiphy, it doesn't need a module parameter - iw reg
set will do the job, and the default still comes from EEPROM.

- Felix
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel