I would try a smaller number of stations to start with, and a smaller number of 
NICs.

You could also try using one of these kernels:

git clone git://dmz2.candelatech.com/linux-3.14.dev.y

git clone git://dmz2.candelatech.com/linux-3.17.dev.y

3.14 has worked well for us, and I recently got 3.17 working
as well, though we have not tested 3.17 as much.  It does have some
ath9k fixes to the tx hang issues (mostly from Felix I think).

If you find bugs in or improvements for my kernels, please let me know.

Thanks,
Ben


On 11/05/2014 08:47 PM, 小伦子 wrote:
> Dear ALL:
>          I am tring to use ath9k driver with AR9380 chips to make multi 
> virtual station to connect to an ap.Here is the problem i have meet.
>          I am using linux kernel 3.14.8 #14 SMP PREEMPT‍
>          As the (http://www.candelatech.com/vsta.php) web suggest i create 
> vif and using wpa_supplicant to connect to the ap. Then i got some very 
> strange problem :
>          1. the AR9380 is support ht_40 and the ap i got is support ht_40 
> too, but i can't connect with in 300Mbps, all i can connect is 150Mbps. i 
> have google the same problem that find out in kernel 3.8 seems have the 
> problem in intel 
> card(https://bugzilla.kernel.org/show_bug.cgi?id=54851#c17,https://bbs.archlinux.org/viewtopic.php?id=161056).‍‍
>          2. system is getting very slow and the kernel memory kmalloc-4096 
> object was increase very fast , the system's memory was running out very 
> quick. so i dig the kernel code and find out that every one phy receive pkt 
> will copy to each vif in /net/mac80211/rx.c:3211 so i change it to skb_clone, 
> it seems the system went well and the kmalloc-4096 object is not increase 
> that fast, memory looks ok.But i don't known is that i am right to make that 
> change? and it seems that it bring another problem to me (problems 3)‍‍‍
> kernel/linux-3.14.dev.y/net/mac80211/rx.c‍
> @@ -3208,7 +3208,11 @@
> 3208 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3208_3208>
>      3208 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3208_3208>
>        return false;
> 3209 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3209_3209>
>      3209 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3209_3209>
>        
> 3210 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3210_3210>
>      3210 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3210_3210>
>        if (!consume) {
> 3211 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3211_3211>
>      
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3211_3211>
>     - skb = skb_copy(skb, GFP_ATOMIC);
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3211>
>   3211 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3211>
>        + //skb = skb_copy(skb, GFP_ATOMIC);
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3212>
>   3212 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3212>
>        + // here get a bug if skb_copy over memory use
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3213>
>   3213 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3213>
>        + // if kernel never change this pkt is ok for clone
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3214>
>   3214 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3214>
>        + // woolen
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3215>
>   3215 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3215>
>        + skb = skb_clone(skb, GFP_ATOMIC);
> 3212 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3216>
>      3216 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3212_3216>
>        if (!skb) {
> 3213 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3213_3217>
>      3217 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3213_3217>
>        if (net_ratelimit())
> 3214 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3214_3218>
>      3218 
> <http://200.200.0.36/20314/wns_test_tool/commit/c9c3537ba4186a7b395dc4966a85180d5f346171#44519d3239bfa5cfb7af446d95f40dbb025bce40_3214_3218>
>        wiphy_debug(local->hw.wiphy, ‍
>
>           3. when i use the change i make in problem 2, i use 7 AR9380 card 
> connect to 24 aps each one ap connects 60 vif stations.Each card phy make 240 
> sta, while the wpa_supplicant start to connect to the ap ,the driver get some 
> error message :
> tx hung, queue: %i axq-depth: %i, ampdu-depth: %i resetting the chip.‍
> i found the message in kernel/drivers/net/wireless/ath/ath9k/link.c : 46. it 
> seems like while tx process the hardware didn't push the pkt out to the 
> ap.This problem almost make me crazy. I have try many way to fix( ignore the 
> hung and continue, reinvoke the tx pkt tasklet to tx the pkt and then reset 
> chips) but faile.So i am ask for help~! ‍
>
>          the attach is some env info.
>
>         Thank you all
> ------------------
> 王沃伦  Mail:just_woo...@qq.com
>

-- 
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

Reply via email to