* [ath9k-devel] Looking for help while using Ath9k to make multi virtual station
@ 2014-11-06 4:47 小伦子
2014-11-06 5:04 ` Ben Greear
0 siblings, 1 reply; 2+ messages in thread
From: 小伦子 @ 2014-11-06 4:47 UTC (permalink / raw)
To: ath9k-devel
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 @@
32083208 return false;
32093209
32103210 if (!consume) {
3211 - skb = skb_copy(skb, GFP_ATOMIC);
3211+ //skb = skb_copy(skb, GFP_ATOMIC);
3212+ // here get a bug if skb_copy over memory use
3213+ // if kernel never change this pkt is ok for clone
3214+ // woolen
3215+ skb = skb_clone(skb, GFP_ATOMIC);
32123216 if (!skb) {
32133217 if (net_ratelimit())
32143218 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_woolen at qq.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141106/2b19414f/attachment-0001.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: status_report.txt
Type: application/octet-stream
Size: 5082 bytes
Desc: not available
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141106/2b19414f/attachment-0001.obj
^ permalink raw reply [flat|nested] 2+ messages in thread* [ath9k-devel] Looking for help while using Ath9k to make multi virtual station
2014-11-06 4:47 [ath9k-devel] Looking for help while using Ath9k to make multi virtual station 小伦子
@ 2014-11-06 5:04 ` Ben Greear
0 siblings, 0 replies; 2+ messages in thread
From: Ben Greear @ 2014-11-06 5:04 UTC (permalink / raw)
To: ath9k-devel
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_woolen at qq.com
>
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-11-06 5:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-06 4:47 [ath9k-devel] Looking for help while using Ath9k to make multi virtual station 小伦子
2014-11-06 5:04 ` Ben Greear
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.