From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?5bCP5Lym5a2Q?= Date: Thu, 6 Nov 2014 12:47:34 +0800 Subject: [ath9k-devel] Looking for help while using Ath9k to make multi virtual station Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org 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