2014-09-20 18:26:09

by jammy

[permalink] [raw]
Subject: compile Failed in openwrt for [PATCH] “add sup port for ack timeout estimation in ath9k driver ”

Hi, all,
I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.

the command window showed that:
patching file drivers/net/wireless/ath/ath9k/hw.h
Hunk #1 FAILED at 1080.
1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.

i have checked the hw.h file, but I can not see anything wrong, how should i do further?

another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?

I am waiting for your suggestions.

from jammy's iPhone


2014-09-26 02:37:20

by jammy

[permalink] [raw]
Subject: Re: compile Failed in openwrt for [PATCH] “add support for ack timeout estimation in ath9k driver ”

Hi Lorenzo,

I see,I will try it later,thank you very much~

from jammy's iPhone

在 2014年9月22日,20:59,Lorenzo Bianconi <[email protected]> 写道:

>> Hi, all,
>
> Hi,
>
>> I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.
>
> please use latest dynack patchset:
> http://www.spinics.net/lists/linux-wireless/msg127038.html
>
>> the command window showed that:
>> patching file drivers/net/wireless/ath/ath9k/hw.h
>> Hunk #1 FAILED at 1080.
>> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.
>>
>> i have checked the hw.h file, but I can not see anything wrong, how should i do further?
>
> You should port dynack on compat-wireless-2014-05-22. E.g:
>
> --- a/drivers/net/wireless/ath/ath9k/hw.h
> +++ b/drivers/net/wireless/ath/ath9k/hw.h
> @@ -1080,6 +1080,10 @@ void ar9002_hw_load_ani_reg(struct ath_hw *ah,
> struct ath9k_channel *chan);
> void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
> void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);
>
> +void ath9k_hw_set_ack_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_set_cts_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_setslottime(struct ath_hw *ah, u32 us);
> +
> #ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
> static inline bool ath9k_hw_btcoex_is_enabled(struct ath_hw *ah)
> {
>
> this chunk will fail since OpenWRT uses CPTCFG_ATH9K_BTCOEX_SUPPORT
> insted of CONFIG_ATH9K_BTCOEX_SUPPORT
>
>> another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?
>
> You should add dynack to OpenWRT mac80211 package Makefile
>
>> I am waiting for your suggestions.
>>
>> from jammy's iPhone--
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Regards,
> Lorenzo
>
> --
> UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
> unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
> umount; make clean; sleep

2014-09-26 14:35:34

by Dan Williams

[permalink] [raw]
Subject: Re: how can we fast roaming between multi-aps

On Fri, 2014-09-26 at 11:22 +0800, jammy wrote:
> Hi all,
>
> I have build a multi-aps network,and there are wifi clients roaming in the network. Now I use the standard ath9k driver,and I found that the time of handoff is as long as 3 to 4 seconds,it is too long to process the Voip service and so on.
> I think the problem can be solved by modify the driver,anyone has tried it?

Are all the SSIDs the same?

What kind of authentication? WPA Enterprise/802.1x? What EAP methods?

Is pre-authentication enabled on the network and in the client?

Is background scanning enabled in wpa_supplicant, and if so what is the
interval?

Some sanitized logs (with -dddt!) showing the slow roaming attempts
would be very helpful in figuring out what might be going wrong. There
are a ton of moving parts, and all of them have to be working correctly
for roaming to happen quickly.

Dan

> Any help will be appreciated.
>
> Waiting for your reply.
>
> from jammy's iPhone
>
> 在 2014年9月22日,20:59,Lorenzo Bianconi <[email protected]> 写道:
>
> >> Hi, all,
> >
> > Hi,
> >
> >> I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.
> >
> > please use latest dynack patchset:
> > http://www.spinics.net/lists/linux-wireless/msg127038.html
> >
> >> the command window showed that:
> >> patching file drivers/net/wireless/ath/ath9k/hw.h
> >> Hunk #1 FAILED at 1080.
> >> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.
> >>
> >> i have checked the hw.h file, but I can not see anything wrong, how should i do further?
> >
> > You should port dynack on compat-wireless-2014-05-22. E.g:
> >
> > --- a/drivers/net/wireless/ath/ath9k/hw.h
> > +++ b/drivers/net/wireless/ath/ath9k/hw.h
> > @@ -1080,6 +1080,10 @@ void ar9002_hw_load_ani_reg(struct ath_hw *ah,
> > struct ath9k_channel *chan);
> > void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
> > void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);
> >
> > +void ath9k_hw_set_ack_timeout(struct ath_hw *ah, u32 us);
> > +void ath9k_hw_set_cts_timeout(struct ath_hw *ah, u32 us);
> > +void ath9k_hw_setslottime(struct ath_hw *ah, u32 us);
> > +
> > #ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
> > static inline bool ath9k_hw_btcoex_is_enabled(struct ath_hw *ah)
> > {
> >
> > this chunk will fail since OpenWRT uses CPTCFG_ATH9K_BTCOEX_SUPPORT
> > insted of CONFIG_ATH9K_BTCOEX_SUPPORT
> >
> >> another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?
> >
> > You should add dynack to OpenWRT mac80211 package Makefile
> >
> >> I am waiting for your suggestions.
> >>
> >> from jammy's iPhone--
> >> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> >> the body of a message to [email protected]
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > Regards,
> > Lorenzo
> >
> > --
> > UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
> > unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
> > umount; make clean; sleep
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html



2014-09-22 12:59:35

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: compile Failed in openwrt for [PATCH] “add support for ack timeout estimation in ath9k driver ”

> Hi, all,

Hi,

> I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.
>

please use latest dynack patchset:
http://www.spinics.net/lists/linux-wireless/msg127038.html

> the command window showed that:
> patching file drivers/net/wireless/ath/ath9k/hw.h
> Hunk #1 FAILED at 1080.
> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.
>
> i have checked the hw.h file, but I can not see anything wrong, how should i do further?
>

You should port dynack on compat-wireless-2014-05-22. E.g:

--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -1080,6 +1080,10 @@ void ar9002_hw_load_ani_reg(struct ath_hw *ah,
struct ath9k_channel *chan);
void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);

+void ath9k_hw_set_ack_timeout(struct ath_hw *ah, u32 us);
+void ath9k_hw_set_cts_timeout(struct ath_hw *ah, u32 us);
+void ath9k_hw_setslottime(struct ath_hw *ah, u32 us);
+
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
static inline bool ath9k_hw_btcoex_is_enabled(struct ath_hw *ah)
{

this chunk will fail since OpenWRT uses CPTCFG_ATH9K_BTCOEX_SUPPORT
insted of CONFIG_ATH9K_BTCOEX_SUPPORT

> another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?
>

You should add dynack to OpenWRT mac80211 package Makefile

> I am waiting for your suggestions.
>
> from jammy's iPhone--
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

Regards,
Lorenzo

--
UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
umount; make clean; sleep

2014-09-26 03:18:59

by jammy

[permalink] [raw]
Subject: Re: compile Failed in openwrt for [PATCH] “add support for ack timeout estimation in ath9k driver ”

I have patch the file successful. I have not test it. The further question is:
The wifi card in my two boards are communicated with ad hoc mode,does the patches are useful for that?


from jammy's iPhone

在 2014年9月22日,20:59,Lorenzo Bianconi <[email protected]> 写道:

>> Hi, all,
>
> Hi,
>
>> I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.
>
> please use latest dynack patchset:
> http://www.spinics.net/lists/linux-wireless/msg127038.html
>
>> the command window showed that:
>> patching file drivers/net/wireless/ath/ath9k/hw.h
>> Hunk #1 FAILED at 1080.
>> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.
>>
>> i have checked the hw.h file, but I can not see anything wrong, how should i do further?
>
> You should port dynack on compat-wireless-2014-05-22. E.g:
>
> --- a/drivers/net/wireless/ath/ath9k/hw.h
> +++ b/drivers/net/wireless/ath/ath9k/hw.h
> @@ -1080,6 +1080,10 @@ void ar9002_hw_load_ani_reg(struct ath_hw *ah,
> struct ath9k_channel *chan);
> void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
> void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);
>
> +void ath9k_hw_set_ack_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_set_cts_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_setslottime(struct ath_hw *ah, u32 us);
> +
> #ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
> static inline bool ath9k_hw_btcoex_is_enabled(struct ath_hw *ah)
> {
>
> this chunk will fail since OpenWRT uses CPTCFG_ATH9K_BTCOEX_SUPPORT
> insted of CONFIG_ATH9K_BTCOEX_SUPPORT
>
>> another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?
>
> You should add dynack to OpenWRT mac80211 package Makefile
>
>> I am waiting for your suggestions.
>>
>> from jammy's iPhone--
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Regards,
> Lorenzo
>
> --
> UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
> unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
> umount; make clean; sleep

2014-09-26 03:23:17

by jammy

[permalink] [raw]
Subject: how can we fast roaming between multi-aps

Hi all,

I have build a multi-aps network,and there are wifi clients roaming in the network. Now I use the standard ath9k driver,and I found that the time of handoff is as long as 3 to 4 seconds,it is too long to process the Voip service and so on.
I think the problem can be solved by modify the driver,anyone has tried it?

Any help will be appreciated.

Waiting for your reply.

from jammy's iPhone

在 2014年9月22日,20:59,Lorenzo Bianconi <[email protected]> 写道:

>> Hi, all,
>
> Hi,
>
>> I have read the http://www.spinics.net/lists/linux-wireless/msg124980.html for patching the ath9k driver in compat-wireless-2014-05-22 in openwrt trunk, but when I patch, for example, “the [PATCH 01/10] ath9k: export methods related to ack timeout estimation”, it failed.
>
> please use latest dynack patchset:
> http://www.spinics.net/lists/linux-wireless/msg127038.html
>
>> the command window showed that:
>> patching file drivers/net/wireless/ath/ath9k/hw.h
>> Hunk #1 FAILED at 1080.
>> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/hw.h.rej.
>>
>> i have checked the hw.h file, but I can not see anything wrong, how should i do further?
>
> You should port dynack on compat-wireless-2014-05-22. E.g:
>
> --- a/drivers/net/wireless/ath/ath9k/hw.h
> +++ b/drivers/net/wireless/ath/ath9k/hw.h
> @@ -1080,6 +1080,10 @@ void ar9002_hw_load_ani_reg(struct ath_hw *ah,
> struct ath9k_channel *chan);
> void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
> void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);
>
> +void ath9k_hw_set_ack_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_set_cts_timeout(struct ath_hw *ah, u32 us);
> +void ath9k_hw_setslottime(struct ath_hw *ah, u32 us);
> +
> #ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
> static inline bool ath9k_hw_btcoex_is_enabled(struct ath_hw *ah)
> {
>
> this chunk will fail since OpenWRT uses CPTCFG_ATH9K_BTCOEX_SUPPORT
> insted of CONFIG_ATH9K_BTCOEX_SUPPORT
>
>> another question is,if I patch them manualy,I can not see the dnyack choice in the menuconfig,what should I do then?
>
> You should add dynack to OpenWRT mac80211 package Makefile
>
>> I am waiting for your suggestions.
>>
>> from jammy's iPhone--
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Regards,
> Lorenzo
>
> --
> UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
> unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
> umount; make clean; sleep

2014-09-27 08:18:54

by jammy

[permalink] [raw]
Subject: Re: how can we fast roaming between multi-aps

Hi DAN,
1,Are all the SSIDs the same?
A:yes,SSIDs are same.
2,What kind of authentication? WPA Enterprise/802.1x? What EAP methods?
A:there are no authentication,and no EAP methods
3,Is pre-authentication enabled on the network and in the client?
A:how to enable pre-authentication?My linux kernel is build by OpenWRT.
4,Is background scanning enabled in wpa_supplicant, and if so what is the interval?
A:How to enable the background scanning in wpa_supplicant?

thanks.
from jammy's iPhone

2014-09-29 18:53:46

by Dan Williams

[permalink] [raw]
Subject: Re: how can we fast roaming between multi-aps

On Sat, 2014-09-27 at 16:18 +0800, jammy wrote:
> Hi DAN,
> 1,Are all the SSIDs the same?
> A:yes,SSIDs are same.
> 2,What kind of authentication? WPA Enterprise/802.1x? What EAP methods?
> A:there are no authentication,and no EAP methods
> 3,Is pre-authentication enabled on the network and in the client?
> A:how to enable pre-authentication?My linux kernel is build by OpenWRT.
> 4,Is background scanning enabled in wpa_supplicant, and if so what is the interval?
> A:How to enable the background scanning in wpa_supplicant?

Given your answers, I think the problem is that background scanning is
not enabled in the supplicant. The reason it's necessary for better
roaming is that when the signal from your current AP becomes weak, the
supplicant needs to know what AP to roam *to*. It cannot do that unless
it has an up-to-date picture of the network, and what other APs it can
see.

Background scanning will initiate a scan when the current signal drops
below a certain threshold, so that when the current AP becomes unusable,
the supplicant can immediately switch to a better AP without delay.

If background scanning is not enabled, when the current AP goes out of
range the supplicant has to run a scan *after* it has disconnected,
which can take a few seconds. That is likely the source of your issue.

In the supplicant configuration file, in the network block for your
SSID, put something like:

bgscan="simple:30:-45:300"

Dan