Re: [ath9k-devel] How to set a scan with ath9k driver

2013-05-22 Thread Mohammed Shafi Shajakhan
On Wed, May 22, 2013 at 02:12:13PM +0200, Francisco Cuesta wrote:
 Hello,
 
 I would like to know whether someone might point out where a  sta-mode
 scan in ath9k driver is carried out. I mean, if I want to perform such
 a scan, I have seen that hostapd or wpa supplicant requests the driver
 through nl80211 interface such a petition. But I cannot understand how
 this petition is made, in terms of assigning the parameters of the
 scan. How or where is the frequency or channel imposed for such a
 scan?

nl80211 nl80211_trigger_scan-rdev_scan which
calls mac80211's callback iee80211_scan 

iee80211_scan - ieee80211_request_scan - ieee80211_start_scan
-ieee80211_start_sw_scan - queues ieee80211_scan_work

ieee80211_scan_work has the states 
SCAN_DECISION/SET_CHANNEL/PROBE etc

SCAN_SET_CHANNEL calls drivers ath9k_config with CONF_CHANGE_CHANNEL
flag set, please follow from there for the driver code.


 
 I really appreciate any hint,
 
 Regards,
 ___
 HostAP mailing list
 hos...@lists.shmoo.com
 http://lists.shmoo.com/mailman/listinfo/hostap
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] [Question] About WoW in ath9k

2013-04-01 Thread Mohammed Shafi
On Thu, Mar 28, 2013 at 4:41 PM, Ryo Matsuura matsu...@silex.jp wrote:
 Hello

 I'm using Atheros 9280 device.
 I find interesting mailing list message about WoW.

 -
 Title:[PATCH v4 00/10] Add support for WOW in ath9k
 Mohammed Shafi Shajakhan Tue, 10 Jul 2012 02:23:08 -0700
 -

 I would like to try a WoW function.
 Is there any information on Chipset which checked WoW by ath9k?

AR9462, your chip needs to be wow enabled in the hardware.


 Regards

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



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


Re: [ath9k-devel] AR9287; BT Coexistence working in WiFi AP, Client and Hybrid Mode

2013-03-20 Thread Mohammed Shafi
On Wed, Mar 20, 2013 at 11:33 AM, sandeep suresh
sandeep.sur...@yahoo.co.in wrote:
 Hello Mr.Adrian  other experts,
 Thanks for the quick response.

 1. So, does it mean that coexistence (BTCOEX) is independent of the WiFi
 operating modes like Access Point, client and Hybrid?

nope BTCOEX is to have BT operating while WLAN is running.


 2. Also, I wanted to understand if anyone has ath9k with AR9287 with BTCOEX
 enabled has been tested in WiFi AP mode? Sorry if this is a basic question.
 Because I am with the information that when WiFi is not active during BTCOEX
 mode, it has to be put in sleep. And Sleep mode cannot be handled with WiFi
 chipset configured as Access Point.

STA mode tested, not sure about AP mode


 3. Is there any documentation on some guidelines, application notes for
 tweaking the weights for operation on 2-wire/3-wire? If there are some
 examples it will be helpful. Because could not find any
 details/documentation on this topic :-(.

http://linuxwireless.org/en/users/Drivers/ath9k/btcoex


 4. In ath9k, how can we configure 2-wire or 3-wire for AR9287?

 Thanks  regards
 Sandeep.

 From: Adrian Chadd adr...@freebsd.org
 To: sandeep suresh sandeep.sur...@yahoo.co.in
 Cc: ath9k-devel@lists.ath9k.org ath9k-devel@lists.ath9k.org
 Sent: Wednesday, 20 March 2013 9:30 AM
 Subject: Re: [ath9k-devel] AR9287; BT Coexistence working in WiFi AP, Client
 and Hybrid Mode

 Hi,

 The bluetooth coexistence in ath9k implements a static btcoex method.
 You can tweak the various BT weights based on BT and wifi traffic
 patterns in order to implement whatever you wish.



 Adrian

 On 19 March 2013 20:00, sandeep suresh sandeep.sur...@yahoo.co.in wrote:
 Good morning Dear Experts,
This is a query regarding WiFi Bluetooth co-existence for AR9287. From
 the datasheet I understand that it supports 2-wire/3-wire co-existence.
 But
 does AR9287 supports WiFi and BT co-existence in:
 (a) WiFi in Access Point Mode.
 (b) WiFi in Client Mode.
 (c) WiFi in Hybrid Mode (combination of AP and Client mode).
 Please clarify.
 Thanks  regards
 Sandeep

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




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




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


Re: [ath9k-devel] which chipsets have WoW support for ath9k?

2013-02-25 Thread Mohammed Shafi
On Sat, Feb 23, 2013 at 7:41 AM, Colin Williams co...@seattlesoft.com wrote:
 I'm wondering if these 3 chipsets AR9285,AR9287,AR9485 all support WoW
 with the ath9k driver. Only AR9495 is listed as having WoW support on
 the atheros page
 http://www.atheros.com/computing/technology.php?nav1=28 . Are there
 any advantages of the three chipsets?

I had validated AR9485 and AR9462, and they work fine. But you got
to confirm from the vendor, whether they had provided you wow enabled h/w.

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



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


Re: [ath9k-devel] Performance degradation when monitor interface is enabled

2012-12-30 Thread Mohammed Shafi
On Thu, Dec 20, 2012 at 10:11 PM, Ali Abedi a2ab...@uwaterloo.ca wrote:
 Hi,
 I am writing this response to my own question since I have found a
 workaround for this problem and this may help others as well.
 So the problem is that if you have an interface wlan0 in managed mode
 and then add another interface wlan1 in monitor mode it lowers your
 outgoing throughput. It does not affect the incoming traffic though. The
 trick is to add the monitor interface wlan1 then remove wlan0 by using
 iw dev wlan0 del and then create wlan0 again. This way the incoming
 and outgoing traffic is not affected by the monitor interface. This can
 be caused by a bug in the driver. Those folks who know more about this
 part of the driver may figure out what is going on after seeing this
 solution.

sure, lets take a look at this(new year). if its a straight forward one
we should go ahead and fix it.


 Best,
 Ali

 On 23/10/2012 3:06 PM, Ali Abedi wrote:
 Hello,

 I asked this question once before but didn't get a satisfying answer. In
 our experiments, with two laptops running Ath9k driver we get about 29
 Mbps bandwidth (802.11g configuration  + UDP traffic), but when the
 monitor mode interface is enabled on the sender the throughput drops to
 25 Mbps. This is not a performance issue. The performance is unaffected
 if monitor mode interface is enabled on the receiver (no monitor
 interface on sender). I really appropriate your answer.

 Regards,
 Ali Abedi
 ___
 ath9k-devel mailing list
 ath9k-devel@lists.ath9k.org
 https://lists.ath9k.org/mailman/listinfo/ath9k-devel



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



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


Re: [ath9k-devel] [PATCH] ath9k_htc: update RSSI values only when the device is associated

2012-12-02 Thread Mohammed Shafi
Hi Bernhard,

On Sun, Dec 2, 2012 at 1:56 AM, Bernhard Urban lew...@gmail.com wrote:
 On Sat, Dec 1, 2012 at 9:21 PM, Bernhard Urban lew...@gmail.com wrote:
 add an if-guard, otherwise iw(8) reports weird signal strengths.

 The behaviour was fine before this commit:
 7c277349ecbd66e19fad3d949fa6ef6c131a3b62
 This patch is therefore a partially revert of it.

 Tested with TP-Link TL-WN722N

 Thanks to indoo.rs http://indoo.rs/ for sponsoring

 Reported-by: Markus Krainz mar...@indoo.rs
 Tested-by: Markus Krainz mar...@indoo.rs
 Signed-off-by: Bernhard Urban lew...@gmail.com
 ---
  drivers/net/wireless/ath/ath9k/htc.h  |1 +
  drivers/net/wireless/ath/ath9k/htc_drv_txrx.c |   29 
 +++--
  2 files changed, 19 insertions(+), 11 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/htc.h 
 b/drivers/net/wireless/ath/ath9k/htc.h
 index 936e920..00ebf1c 100644
 --- a/drivers/net/wireless/ath/ath9k/htc.h
 +++ b/drivers/net/wireless/ath/ath9k/htc.h
 @@ -22,6 +22,7 @@
  #include linux/firmware.h
  #include linux/skbuff.h
  #include linux/netdevice.h
 +#include linux/etherdevice.h
  #include linux/leds.h
  #include linux/slab.h
  #include net/mac80211.h
 diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c 
 b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
 index 47e61d0..8b4da3d 100644
 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
 +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
 @@ -969,6 +969,7 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
 int hdrlen, padpos, padsize;
 int last_rssi = ATH_RSSI_DUMMY_MARKER;
 __le16 fc;
 +   u8 is_mybeacon;

 if (skb-len  HTC_RX_FRAME_HEADER_SIZE) {
 ath_err(common, Corrupted RX frame, dropping (len: %d)\n,
 @@ -1060,22 +1061,28 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv 
 *priv,
 ath9k_process_rate(hw, rx_status, rxbuf-rxstatus.rs_rate,
rxbuf-rxstatus.rs_flags);

 -   if (rxbuf-rxstatus.rs_rssi != ATH9K_RSSI_BAD 
 -   !rxbuf-rxstatus.rs_moreaggr)
 -   ATH_RSSI_LPF(priv-rx.last_rssi,
 -rxbuf-rxstatus.rs_rssi);
 +   is_mybeacon = ieee80211_is_beacon(fc) 
 +   !is_zero_ether_addr(common-curbssid) 
 +   ether_addr_equal(hdr-addr3, common-curbssid);

 -   last_rssi = priv-rx.last_rssi;
 +   if (is_mybeacon  priv-ah-opmode == NL80211_IFTYPE_STATION) {
 +   if (rxbuf-rxstatus.rs_rssi != ATH9K_RSSI_BAD 
 +   !rxbuf-rxstatus.rs_moreaggr)
 +   ATH_RSSI_LPF(priv-rx.last_rssi,
 +rxbuf-rxstatus.rs_rssi);

should we account for IBSS mode ?


 -   if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER))
 -   rxbuf-rxstatus.rs_rssi = ATH_EP_RND(last_rssi,
 -ATH_RSSI_EP_MULTIPLIER);
 +   last_rssi = priv-rx.last_rssi;

 -   if (rxbuf-rxstatus.rs_rssi  0)
 -   rxbuf-rxstatus.rs_rssi = 0;
 +   if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER)) {
 +   s8 rssi = ATH_EP_RND(last_rssi, 
 ATH_RSSI_EP_MULTIPLIER);
 +   rxbuf-rxstatus.rs_rssi = rssi;
 +   }
 +
 +   if (rxbuf-rxstatus.rs_rssi  0)
 +   rxbuf-rxstatus.rs_rssi = 0;

 -   if (ieee80211_is_beacon(fc))
 priv-ah-stats.avgbrssi = rxbuf-rxstatus.rs_rssi;
 +   }


please cross-verify with ath9k's ath9k_process_rssi, otherwise should be fine.


 rx_status-mactime = be64_to_cpu(rxbuf-rxstatus.rs_tstamp);
 rx_status-band = hw-conf.channel-band;
 --
 1.7.9.5


 I'm sending this patch again, because I'm not sure if I messed up
 something with my mail client in this reply:
 http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg09470.html

 It doesn't show up on gmane for linux-wireless and I didn't get an
 answer so far.


 Thanks,
 Bernhard
 --
 To unsubscribe from this list: send the line unsubscribe linux-wireless in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html



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


Re: [ath9k-devel] Ubiquiti WiFiStation has two USB ids: 0cf3:b002/b003

2012-10-16 Thread Mohammed Shafi
On Tue, Oct 16, 2012 at 6:40 PM, Roger Price rpr...@rogerprice.org wrote:
 On Mon, 15 Oct 2012, Mohammed Shafi wrote:

 please find the attached patch, and see if works. thanks
 pls go to your compat and to patch -p1  ./the attached patch
 pls let me know if any issues.

 Hi Mohammed, I applied the patch and compiled using the Suse recommended
 procedure.  No problem.  But the Suse installation procedure doesn't seem
 to have any effect on the modules to be loaded. It's at least 15 years
 since I last did any kernel compiling and the problem is probably my
 misunderstanding of the current Suse procedures.

 Thanks for your help - I'm happy knowing the update will appear in the
 next version of the distribution.

if you have time/interested check/install compat wireless with the patch :)
http://linuxwireless.org/en/users/Download/stable/#compat-wireless_3.6_stable_releases
sure i will send it.


 Best Regards, Roger
 ___
 ath9k-devel mailing list
 ath9k-devel@lists.ath9k.org
 https://lists.ath9k.org/mailman/listinfo/ath9k-devel



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


[ath9k-devel] [PATCH] ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation

2012-10-16 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Roger says, Ubiquiti produce 2 versions of their WiFiStation USB adapter.  One
has an internal antenna, the other has an external antenna and
name suffix EXT.  They have separate USB ids and in distribution
openSUSE 12.2 (kernel 3.4.6), file /usr/share/usb.ids shows:

  0cf3  Atheros Communications, Inc.
   ...
   b002  Ubiquiti WiFiStation 802.11n [Atheros AR9271]
   b003  Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271]

Add b002 Ubiquiti WiFiStation in the PID/VID list.

Reported-by: Roger Price at...@rogerprice.org
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/hif_usb.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c 
b/drivers/net/wireless/ath/ath9k/hif_usb.c
index 924c461..f5dda84 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -38,6 +38,7 @@ static struct usb_device_id ath9k_hif_usb_ids[] = {
{ USB_DEVICE(0x04CA, 0x4605) }, /* Liteon */
{ USB_DEVICE(0x040D, 0x3801) }, /* VIA */
{ USB_DEVICE(0x0cf3, 0xb003) }, /* Ubiquiti WifiStation Ext */
+   { USB_DEVICE(0x0cf3, 0xb002) }, /* Ubiquiti WifiStation */
{ USB_DEVICE(0x057c, 0x8403) }, /* AVM FRITZ!WLAN 11N v2 USB */
 
{ USB_DEVICE(0x0cf3, 0x7015),
-- 
1.7.0.4

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


Re: [ath9k-devel] Ubiquiti WiFiStation has two USB ids: 0cf3:b002/b003

2012-10-15 Thread Mohammed Shafi
Hi,

On Sun, Oct 14, 2012 at 2:34 PM, Roger Price at...@rogerprice.org wrote:
 Hi, Ubiquiti produce 2 versions of their WiFiStation USB adapter.  One
 has an internal antenna, the other has an external antenna and
 name suffix EXT.  They have separate USB ids and in distribution
 openSUSE 12.2 (kernel 3.4.6), file /usr/share/usb.ids shows:

   0cf3  Atheros Communications, Inc.
...
b002  Ubiquiti WiFiStation 802.11n [Atheros AR9271]
b003  Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271]

 The b003 works well.  With openSUSE, it's sufficient to install
 package kernel-firmware, plug in the USB adapter and the unit is
 operational, ready for network configuration.  When configured as a
 client I had no problem transferring 80 Gbyte.  As a happy user I
 offer a loud Well done! to the ath9k list.

 However the b002 version is not recognised.  Command modinfo ath9k_htc 
 reports

   filename:   
 /lib/modules/3.4.6-2.10-desktop/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
   firmware:   htc_9271.fw
   firmware:   htc_7010.fw
   description:Atheros driver 802.11n HTC based wireless devices
   license:Dual BSD/GPL
   author: Atheros Communications
   srcversion: F6195E0E0F01262F08F04C2
   ...
   alias:  usb:v0CF3pB003d*dc*dsc*dp*ic*isc*ip*
   ...
   depends:ath9k_hw,ath9k_common,mac80211,ath,cfg80211
   intree: Y
   vermagic:   3.4.6-2.10-desktop SMP preempt mod_unload modversions
   parm:   debug:Debugging mask (uint)
   parm:   nohwcrypt:Disable hardware encryption (int)

 but there is no

   alias:  usb:v0CF3pB002d*dc*dsc*dp*ic*isc*ip*

 How should I request that the b002 be added to list of adapters supported
 by ath9k_htc?  Are there other places where 0cf3:b002 needs to be declared?

i shall add the id for you to verify by today evening. thanks for
reporting this!


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



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


Re: [ath9k-devel] Ubiquiti WiFiStation has two USB ids: 0cf3:b002/b003

2012-10-15 Thread Mohammed Shafi
On Mon, Oct 15, 2012 at 2:53 PM, Roger Price at...@rogerprice.org wrote:
 On Mon, 15 Oct 2012, Mohammed Shafi wrote:

 but there is no
   alias:  usb:v0CF3pB002d*dc*dsc*dp*ic*isc*ip*

 i shall add the id for you to verify by today evening. thanks for
 reporting this!

 Hi Mohammed, Thanks! Roger


please find the attached patch, and see if works. thanks
pls go to your compat and to patch -p1  ./the attached patch
pls let me know if any issues.

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



-- 
thanks,
shafi


enable-ubquiti.patch
Description: Binary data
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] Support for 5MHz and 10MHz channel bandwidths in AR9280

2012-10-12 Thread Mohammed Shafi
On Fri, Oct 12, 2012 at 7:07 PM, vikranth reddy
vikranth.reddydevelo...@gmail.com wrote:
 Hi All,

 Iam new to ath9k.

 Is there a support for 5MHz and 10MHz channel bandwidths in AR9280? If yes,
 how to enable them in ath9k? Any patches are available for it?

http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg07593.html
openwrt ?


 Any help on this would be highly appreciated.

 Thanks  Regards
 Vikranth

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




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


Re: [ath9k-devel] IPerf and Frame Aggregation and Ath9k

2012-10-12 Thread Mohammed Shafi
Hi,

by default AMPDU is enabled in ath9k.
rx AMSDU is supported , while not so in the tx side.

On Fri, Oct 12, 2012 at 7:28 PM, Eduardo Rocha eduardoro...@ua.pt wrote:
 Dear Shafi,

 thanks for your reply. What I intend to do is actually enable AMPDU. How can
 I do that? BTW, is AMSDU supported in ath9k?

 Thanks for all your help,
 Best regards,
 Eduardo


 On 10/11/2012 11:31 AM, Mohammed Shafi wrote:

 hi,

 pls go through
 http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg08627.html.

 pls try the attached patch to disable aggr


 On Thu, Oct 11, 2012 at 2:58 PM, Eduardo Rocha eduardoro...@ua.pt wrote:

 Hi.,

 thanks for your reply:). Sure, I'll ping you in case you forget.

 Best regards and, once again, thanks for your help
 Eduardo



 On 10/10/2012 04:20 PM, Mohammed Shafi wrote:

 sorry for the delayed reply, i will surely get back to you with a
 patch to enable/disable
 for your testing. please do ping me if i forget :)

 On Wed, Oct 10, 2012 at 4:20 PM, Eduardo Rocha eduardoro...@ua.pt
 wrote:

 Dear Shafi,

 how are you? Thanks for your answer in the Ath9K mailing list. However,
 can
 you provide me with some more details regarding your proposed
 solutions.


 alone, you can a somewhat old package and clear
 SC_OP_TXAGGR/SC_OP_RXAGGR

 How can I perform this?


 *another idea is to disable ht with the latest package.

 by disabling HT am I not preventing the use of aggregation?


 *send delba from the other side to disable aggregation

 didn't really understand it...

 Thanks for all your help.

 Best regards,
 Eduardo


 --
 Eduardo Rocha, Ph.D. - Post-Doctoral Researcher
 http://atnog.av.it.pt/



 --
 Eduardo Rocha, Ph.D. - Post-Doctoral Researcher
 http://atnog.av.it.pt/





 --
 Eduardo Rocha, Ph.D. - Post-Doctoral Researcher
 http://atnog.av.it.pt/




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


Re: [ath9k-devel] Support for 5MHz and 10MHz channel bandwidths in AR9280

2012-10-12 Thread Mohammed Shafi
Hi,

On Fri, Oct 12, 2012 at 8:06 PM, vikranth reddy
vikranth.reddydevelo...@gmail.com wrote:
 Hi Shafi,

 Thanks for the reply.

 Earlier replies in the same message chain says that, 5MHz and 10MHz are not
 supported in AR9280 hardware and software.

 Later someone has replied saying, it is supported. Iam little confused,
 whether it is supported or not?

It seems to be supported in openwrt as Felix says. Please
take a look at openwrt.i will just check with him.


 thanks in advance for reply.

 Thanks  Regards
 Vikranth


 On Fri, Oct 12, 2012 at 7:21 PM, Mohammed Shafi shafi.wirel...@gmail.com
 wrote:

 On Fri, Oct 12, 2012 at 7:07 PM, vikranth reddy
 vikranth.reddydevelo...@gmail.com wrote:
  Hi All,
 
  Iam new to ath9k.
 
  Is there a support for 5MHz and 10MHz channel bandwidths in AR9280? If
  yes,
  how to enable them in ath9k? Any patches are available for it?

 http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg07593.html
 openwrt ?

 
  Any help on this would be highly appreciated.
 
  Thanks  Regards
  Vikranth
 
  ___
  ath9k-devel mailing list
  ath9k-devel@lists.ath9k.org
  https://lists.ath9k.org/mailman/listinfo/ath9k-devel
 



 --
 thanks,
 shafi





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


Re: [ath9k-devel] [RFC 1/2] ath9k_htc: Advertize allowed vif combinations

2012-10-10 Thread Mohammed Shafi
Hi Antonio,


 Hi Mohammed,

 thank you for having taken care of this. Is it possible to have more details
 about this impossibility? I still have to understand, because on one side we
 all agreed on the fact that IBSS+AP coexistence will create problems on the 
 STA
 (connected to the AP) because of the TSF jumps, but this would still work. 
 On
 the other side the maintainer is claiming this would not work at all :-) At 
 this
 point, I'd like to clearly understand why he is claiming so: is it for the
 same reason explained above (TSF jumps) or is there something else?

completely agree with your point, but one thing I am not sure about is
there something
specific with ath9k_htc firmware/ h/w code limitations(beacon.c). I
need to take a close
look at this. I will just check again with the ath9k_htc maintainer(if
I can reach him !).
But if you had tested this better please go ahead and send the patch,
as it wouldn't be
breaking. Since the maintainer himself has better understanding about
ath9k_htc(also its firmware)
he certainly might have a better reason to say so. Certainly ath9k_htc
has some limitations
in firmware and some know issues too!.

I have limited time as i am working in some other project!


 Cheers,


 --
 Antonio Quartulli

 ..each of us alone is worth nothing..
 Ernesto Che Guevara



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


Re: [ath9k-devel] [RFC 1/2] ath9k_htc: Advertize allowed vif combinations

2012-10-08 Thread Mohammed Shafi
On Sat, Sep 29, 2012 at 3:01 PM, Antonio Quartulli or...@autistici.org wrote:
 On Fri, Sep 28, 2012 at 04:12:40 +0530, Sujith Manoharan wrote:
 Mohammed Shafi Shajakhan wrote:
  oh yeah, you are saying that we will have some issues with IBSS
  coexistence with other modes because of TSF sync.

 Yes, this is a problem.

 Is there anyway to overcome this problem? Can we bind the single TSF to 
 multiple
 virtualTSF? or must the device somehow support us?

Antonio, agained i checked with the ath9k_htc maintainer, he said the
IBSS coexistence is not
possible. So i would go with my current patch. Please do feel free to
enhance. Currently
i am working in some other project, not sure i would be able to take this up.


 Cheers,


 --
 Antonio Quartulli

 ..each of us alone is worth nothing..
 Ernesto Che Guevara



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


[ath9k-devel] [PATCH 1/4] ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle

2012-10-08 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

When WLAN is idle ensure we downgrade to FTP_STOMP_LOW weight
(from STOMP_LOW) to provide more bandwidth for BT FTP profile.
WLAN's idleness can be estimated by taking into account of the
rx data packets and just ignore beacons, qos nullfunc etc.

Also update bt_wait_time even if the chip is in NETWORK SLEEP
mode. This should help BT throughput when WLAN is idle.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |2 +-
 drivers/net/wireless/ath/ath9k/recv.c |5 -
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index d9ed141..c722ded 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -204,6 +204,7 @@ static void ath_btcoex_period_timer(unsigned long data)
 
spin_lock_irqsave(sc-sc_pm_lock, flags);
if (sc-sc_ah-power_mode == ATH9K_PM_NETWORK_SLEEP) {
+   btcoex-bt_wait_time += btcoex-btcoex_period;
spin_unlock_irqrestore(sc-sc_pm_lock, flags);
goto skip_hw_wakeup;
}
@@ -214,7 +215,6 @@ static void ath_btcoex_period_timer(unsigned long data)
ath_detect_bt_priority(sc);
is_btscan = test_bit(BT_OP_SCAN, btcoex-op_flags);
 
-   btcoex-bt_wait_time += btcoex-btcoex_period;
if (btcoex-bt_wait_time  ATH_BTCOEX_RX_WAIT_TIME) {
if (ar9003_mci_state(ah, MCI_STATE_NEED_FTP_STOMP) 
(mci-num_pan || mci-num_other_acl))
diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 83d16e7..a04028b 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1105,7 +1105,10 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool 
hp)
else
rs.is_mybeacon = false;
 
-   sc-rx.num_pkts++;
+   if (ieee80211_is_data_present(hdr-frame_control) 
+   !ieee80211_is_qos_nullfunc(hdr-frame_control))
+   sc-rx.num_pkts++;
+
ath_debug_stat_rx(sc, rs);
 
/*
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 2/4] ath9k_htc: Advertise interface combinations supported

2012-10-08 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

This will allow us to create virtual interface the driver supports.
Also this ensures multivif support and limitation advertised
by the driver is taken care in cfg80211 itself.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |   17 +
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index d98255e..5ecf128 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -694,6 +694,20 @@ err_hw:
return ret;
 }
 
+static const struct ieee80211_iface_limit if_limits[] = {
+   { .max = 2, .types = BIT(NL80211_IFTYPE_STATION) |
+BIT(NL80211_IFTYPE_P2P_CLIENT) },
+   { .max = 2, .types = BIT(NL80211_IFTYPE_AP) |
+BIT(NL80211_IFTYPE_P2P_GO) },
+};
+
+static const struct ieee80211_iface_combination if_comb = {
+   .limits = if_limits,
+   .n_limits = ARRAY_SIZE(if_limits),
+   .max_interfaces = 2,
+   .num_different_channels = 1,
+};
+
 static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
   struct ieee80211_hw *hw)
 {
@@ -716,6 +730,9 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
BIT(NL80211_IFTYPE_P2P_GO) |
BIT(NL80211_IFTYPE_P2P_CLIENT);
 
+   hw-wiphy-iface_combinations = if_comb;
+   hw-wiphy-n_iface_combinations = 1;
+
hw-wiphy-flags = ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
 
hw-wiphy-flags |= WIPHY_FLAG_IBSS_RSN |
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 3/4] ath9k_htc: Remove interface combination specific checks

2012-10-08 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Once the driver advertizes interface combination logic
based on its firmware/hardware limitation, cfg80211
takes care of all the necessary logic such as maximum
beaconing vifs, standlone interface etc.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index ca78e33..66f6a74 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1036,26 +1036,6 @@ static int ath9k_htc_add_interface(struct ieee80211_hw 
*hw,
 
mutex_lock(priv-mutex);
 
-   if (priv-nvifs = ATH9K_HTC_MAX_VIF) {
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
-   if (priv-num_ibss_vif ||
-   (priv-nvifs  vif-type == NL80211_IFTYPE_ADHOC)) {
-   ath_err(common, IBSS coexistence with other modes is not 
allowed\n);
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
-   if (((vif-type == NL80211_IFTYPE_AP) ||
-(vif-type == NL80211_IFTYPE_ADHOC)) 
-   ((priv-num_ap_vif + priv-num_ibss_vif) = ATH9K_HTC_MAX_BCN_VIF)) 
{
-   ath_err(common, Max. number of beaconing interfaces 
reached\n);
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
ath9k_htc_ps_wakeup(priv);
memset(hvif, 0, sizeof(struct ath9k_htc_target_vif));
memcpy(hvif.myaddr, vif-addr, ETH_ALEN);
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 4/4] ath9k: Advertize beacon_int_infra_match

2012-10-08 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Currently ath9k need to have beacon interval matched
between STA mode and beaconing mode. Advertize this
through interface combinations.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/init.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c 
b/drivers/net/wireless/ath/ath9k/init.c
index fad3ccd..546bae9 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -687,6 +687,7 @@ static const struct ieee80211_iface_combination if_comb = {
.n_limits = ARRAY_SIZE(if_limits),
.max_interfaces = 2048,
.num_different_channels = 1,
+   .beacon_int_infra_match = true,
 };
 
 void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
-- 
1.7.0.4

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


Re: [ath9k-devel] IPerf and Frame Aggregation and Ath9k

2012-10-03 Thread Mohammed Shafi
On Wed, Oct 3, 2012 at 8:26 PM, Eduardo Rocha eduardoro...@ua.pt wrote:
 Hi everyone,

 I wanted to evaluate the performance of frame aggregation in 802.11n
 networks. I was planning on using IPerf to measure throughputs,
 bandwidths and packet losses. How can I enable frame aggregation in ath9k?

by default its enabled in the STA mode. if you want to specifically
test aggregation
alone, you can a somewhat old package and clear SC_OP_TXAGGR/SC_OP_RXAGGR.
*another idea is to disable ht with the latest package.
*send delba from the other side to disable aggregation.


 Your help is highly appreciated.

 Best regards,
 Eduardo

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



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


Re: [ath9k-devel] [RFC] Where are the sanity checks in ath9k done?

2012-10-03 Thread Mohammed Shafi
On Tue, Oct 2, 2012 at 2:44 PM, Torsten Zimmermann
flotteto...@googlemail.com wrote:
 Hi,

 can anyone point out where the driver does the very early frame sanity
 checks for the received frames? Up to know i'm getting a little confused
 (after reading some source code files) what is done by the hardware itself
 and what still needs to be done by the driver. Point of all this is that i
 would like to define a non-standard (802.11) frame format (just for own
 interest) and i don't want to use the monitor mode, as i don't want to
 receive more than needed.

recv.c
ath9k_rx_skb_preprocess will give some idea.
hardware does the de-aggregation stuff


 I'm using a AR9285.

 Thanks for any hints in advance,

 Torsten

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




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


Re: [ath9k-devel] [PATCH] ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle

2012-09-28 Thread Mohammed Shafi Shajakhan
Hi Holger,


On Friday 28 September 2012 02:30 PM, Holger Schurig wrote:
 We WLAN is idle we can some better bandwidth to FTP by
 setting STOMP_LOW_FTP where stomping the FTP BT is pretty
 much reduced when compared to setting STOMP_LOW weight.

 I understand that english isn't your first language (and neither is it
 mine). But this is quite unintelligible.

:) :)
apologies, I simply missed the commit log line, Its been sent as an RFC 
sometime and yesterday I sent the patch, apparently not much looking 
into the commit log :). Definitely its not correct and thanks for 
pointing this out.  Will send a v2!


 Beside wrong words (We/When) it doesn't also really say what is going
 on. What, for example, is FTP ?  How can you assume that this is
 generally known?  For sure it's not the file transfer protocol. Same
 with FTP BT.

sure I would make it clear in the v2.


 Also, we can some better bandwidth misses a verb. take into account
 of data packets is weird, too.

sure, I will change in v2.


 Confused.


thanks a lot for your review and comments!


-- 
thanks,
shafi


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


[ath9k-devel] [PATCH] ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle

2012-09-27 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We WLAN is idle we can some better bandwidth to FTP by
setting STOMP_LOW_FTP where stomping the FTP BT is pretty
much reduced when compared to setting STOMP_LOW weight.
we calculate WLAN is idle by taking into account of the
rx data packets, so ensure that we take into account
of data packets(ignore beacons).

Also update bt_wait_time even if the chip is NETWORK SLEEP
mode. This should help BT throughput when WLAN is idle,
when everything else is fine :)

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |2 +-
 drivers/net/wireless/ath/ath9k/recv.c |5 -
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index bf7d29e..97d1ed4 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -204,6 +204,7 @@ static void ath_btcoex_period_timer(unsigned long data)
 
spin_lock_irqsave(sc-sc_pm_lock, flags);
if (sc-sc_ah-power_mode == ATH9K_PM_NETWORK_SLEEP) {
+   btcoex-bt_wait_time += btcoex-btcoex_period;
spin_unlock_irqrestore(sc-sc_pm_lock, flags);
goto skip_hw_wakeup;
}
@@ -214,7 +215,6 @@ static void ath_btcoex_period_timer(unsigned long data)
ath_detect_bt_priority(sc);
is_btscan = test_bit(BT_OP_SCAN, btcoex-op_flags);
 
-   btcoex-bt_wait_time += btcoex-btcoex_period;
if (btcoex-bt_wait_time  ATH_BTCOEX_RX_WAIT_TIME) {
if (ar9003_mci_state(ah, MCI_STATE_NEED_FTP_STOMP) 
(mci-num_pan || mci-num_other_acl))
diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 4480c0c..9b2a8cc 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1105,7 +1105,10 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool 
hp)
else
rs.is_mybeacon = false;
 
-   sc-rx.num_pkts++;
+   if (ieee80211_is_data_present(hdr-frame_control) 
+   !ieee80211_is_qos_nullfunc(hdr-frame_control))
+   sc-rx.num_pkts++;
+
ath_debug_stat_rx(sc, rs);
 
/*
-- 
1.7.0.4

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


[ath9k-devel] [RFC/RFT] ath9k: Advertize beacon_int_infra_match

2012-09-27 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Currently ath9k need to have beacon interval matched
between STA mode and beaconing mode. Advertize this
through interface combinations. Need to test this
properly.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/init.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c 
b/drivers/net/wireless/ath/ath9k/init.c
index fad3ccd..546bae9 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -687,6 +687,7 @@ static const struct ieee80211_iface_combination if_comb = {
.n_limits = ARRAY_SIZE(if_limits),
.max_interfaces = 2048,
.num_different_channels = 1,
+   .beacon_int_infra_match = true,
 };
 
 void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
-- 
1.7.0.4

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


[ath9k-devel] [RFC 2/2] ath9k_htc: Remove interface combination specific checks

2012-09-27 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Once the driver advertizes interface combination logic
based on its firmware/hardware limitation, cfg80211
takes care of all the necessary logic such as maximum
beaconing vifs, standlone interface etc.

Signed-off-by: Antonio Quartulli or...@autistici.org
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index ca78e33..66f6a74 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1036,26 +1036,6 @@ static int ath9k_htc_add_interface(struct ieee80211_hw 
*hw,
 
mutex_lock(priv-mutex);
 
-   if (priv-nvifs = ATH9K_HTC_MAX_VIF) {
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
-   if (priv-num_ibss_vif ||
-   (priv-nvifs  vif-type == NL80211_IFTYPE_ADHOC)) {
-   ath_err(common, IBSS coexistence with other modes is not 
allowed\n);
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
-   if (((vif-type == NL80211_IFTYPE_AP) ||
-(vif-type == NL80211_IFTYPE_ADHOC)) 
-   ((priv-num_ap_vif + priv-num_ibss_vif) = ATH9K_HTC_MAX_BCN_VIF)) 
{
-   ath_err(common, Max. number of beaconing interfaces 
reached\n);
-   mutex_unlock(priv-mutex);
-   return -ENOBUFS;
-   }
-
ath9k_htc_ps_wakeup(priv);
memset(hvif, 0, sizeof(struct ath9k_htc_target_vif));
memcpy(hvif.myaddr, vif-addr, ETH_ALEN);
-- 
1.7.0.4

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


[ath9k-devel] [RFC 1/2] ath9k_htc: Advertize allowed vif combinations

2012-09-27 Thread Mohammed Shafi Shajakhan
From: Antonio Quartulli or...@autistici.org

Advertize allowed VIFs combinations to the cfg80211 sublayer.
Other than that, practical tests shown that ath9k_htc devices allow an
IBSS VIF to coexist with VIF set up on other modes, so advertize
that to. We can also further add p2p/mesh mode to be advertized
in the combinations allowed.

Signed-off-by: Antonio Quartulli or...@autistici.org
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |   35 +
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index d98255e..4d65af1 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -694,6 +694,38 @@ err_hw:
return ret;
 }
 
+/*
+ * It is possible to have atmost ATH9K_HTC_MAX_BCN_VIF beaconing interfaces
+ * therefore either we have 1 IBSS + ATH9K_HTC_MAX_BCN_VIF - 1 AP's, or we
+ * have only ATH9K_HTC_MAX_BCN_VIF AP's
+ */
+
+static const struct ieee80211_iface_limit if_limits_ibss[] = {
+   {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_STATION)},
+   {.max = ATH9K_HTC_MAX_VIF - 1, .types = BIT(NL80211_IFTYPE_AP)},
+   {.max = 1, .types = BIT(NL80211_IFTYPE_ADHOC)},
+};
+
+static const struct ieee80211_iface_limit if_limits_no_ibss[] = {
+   {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_STATION)},
+   {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_AP)},
+};
+
+static const struct ieee80211_iface_combination if_comb[] = {
+   {.limits = if_limits_ibss,
+.n_limits = ARRAY_SIZE(if_limits_ibss),
+.max_interfaces = ATH9K_HTC_MAX_VIF,
+.num_different_channels = 1,
+.beacon_int_infra_match = true,
+   },
+   {.limits = if_limits_no_ibss,
+.n_limits = ARRAY_SIZE(if_limits_no_ibss),
+.max_interfaces = ATH9K_HTC_MAX_VIF,
+.num_different_channels = 1,
+.beacon_int_infra_match = true,
+   },
+};
+
 static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
   struct ieee80211_hw *hw)
 {
@@ -716,6 +748,9 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
BIT(NL80211_IFTYPE_P2P_GO) |
BIT(NL80211_IFTYPE_P2P_CLIENT);
 
+   hw-wiphy-iface_combinations = if_comb;
+   hw-wiphy-n_iface_combinations = ARRAY_SIZE(if_comb);
+
hw-wiphy-flags = ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
 
hw-wiphy-flags |= WIPHY_FLAG_IBSS_RSN |
-- 
1.7.0.4

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


Re: [ath9k-devel] [RFC 1/2] ath9k_htc: Advertize allowed vif combinations

2012-09-27 Thread Mohammed Shafi Shajakhan
On Thursday 27 September 2012 09:22 PM, Mohammed Shafi Shajakhan wrote:
 From: Antonio Quartulli or...@autistici.org

 Advertize allowed VIFs combinations to the cfg80211 sublayer.
 Other than that, practical tests shown that ath9k_htc devices allow an
 IBSS VIF to coexist with VIF set up on other modes, so advertize
 that to. We can also further add p2p/mesh mode to be advertized
 in the combinations allowed.

Antonio tomorrow evening i will just do a sanity test and send these
stuff as patch. thank you so much for your patience!


 Signed-off-by: Antonio Quartulli or...@autistici.org
 Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
 ---
   drivers/net/wireless/ath/ath9k/htc_drv_init.c |   35 
 +
   1 files changed, 35 insertions(+), 0 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c 
 b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
 index d98255e..4d65af1 100644
 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
 +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
 @@ -694,6 +694,38 @@ err_hw:
   return ret;
   }

 +/*
 + * It is possible to have atmost ATH9K_HTC_MAX_BCN_VIF beaconing interfaces
 + * therefore either we have 1 IBSS + ATH9K_HTC_MAX_BCN_VIF - 1 AP's, or we
 + * have only ATH9K_HTC_MAX_BCN_VIF AP's
 + */
 +
 +static const struct ieee80211_iface_limit if_limits_ibss[] = {
 + {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_STATION)},
 + {.max = ATH9K_HTC_MAX_VIF - 1, .types = BIT(NL80211_IFTYPE_AP)},
 + {.max = 1, .types = BIT(NL80211_IFTYPE_ADHOC)},
 +};
 +
 +static const struct ieee80211_iface_limit if_limits_no_ibss[] = {
 + {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_STATION)},
 + {.max = ATH9K_HTC_MAX_VIF, .types = BIT(NL80211_IFTYPE_AP)},
 +};
 +
 +static const struct ieee80211_iface_combination if_comb[] = {
 + {.limits = if_limits_ibss,
 +  .n_limits = ARRAY_SIZE(if_limits_ibss),
 +  .max_interfaces = ATH9K_HTC_MAX_VIF,
 +  .num_different_channels = 1,
 +  .beacon_int_infra_match = true,
 + },
 + {.limits = if_limits_no_ibss,
 +  .n_limits = ARRAY_SIZE(if_limits_no_ibss),
 +  .max_interfaces = ATH9K_HTC_MAX_VIF,
 +  .num_different_channels = 1,
 +  .beacon_int_infra_match = true,
 + },
 +};
 +
   static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
  struct ieee80211_hw *hw)
   {
 @@ -716,6 +748,9 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv 
 *priv,
   BIT(NL80211_IFTYPE_P2P_GO) |
   BIT(NL80211_IFTYPE_P2P_CLIENT);

 + hw-wiphy-iface_combinations = if_comb;
 + hw-wiphy-n_iface_combinations = ARRAY_SIZE(if_comb);
 +
   hw-wiphy-flags = ~WIPHY_FLAG_PS_ON_BY_DEFAULT;

   hw-wiphy-flags |= WIPHY_FLAG_IBSS_RSN |



-- 
thanks,
shafi


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


Re: [ath9k-devel] [RFC 1/2] ath9k_htc: Advertize allowed vif combinations

2012-09-27 Thread Mohammed Shafi Shajakhan
Hi Sujith,

On Friday 28 September 2012 07:53 AM, Sujith Manoharan wrote:
 Mohammed Shafi Shajakhan wrote:
 From: Antonio Quartulli or...@autistici.org

 Advertize allowed VIFs combinations to the cfg80211 sublayer.
 Other than that, practical tests shown that ath9k_htc devices allow an
 IBSS VIF to coexist with VIF set up on other modes, so advertize
 that to. We can also further add p2p/mesh mode to be advertized
 in the combinations allowed.

 I don't think IBSS can co-exist with other op-modes.


oh yeah, you are saying that we will have some issues with IBSS
coexistence with other modes because of TSF sync.

Antonio seems to be testing this sometime back and came up with the 
following observation :

ath9k_htc is running since some hours with AP+IBSS without any 
problems.What I think that the maintainer was referring to is a general 
problem of IBSS+AP: in most devices, TFS is unique among VIFs, therefore 
TSF jumps introduced by IBSS can be reflected in a bad way on the AP VIF.

please let us know if you have further thoughts about this.
I will just look into the code if we have some more limitations.
thanks for your review!

-- 
thanks,
shafi


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


[ath9k-devel] [PATCH] ath9k: Fix rx filtering issue for older chips

2012-09-25 Thread Mohammed Shafi Shajakhan
From: Thomas Wagner thomas.wag...@hs-rm.de

We need to have the promiscuous mode enabled for older
chipsets so that the olderchips hardware does not
filters out some valid/necessary frames that need
to be sent to mac80211. Fix this by enabling promiscus
mode for all the chipsets whose macversion = AR9160
chipsets. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=45591

shafi: made the fix generic by having the frame filtering
disabled for chipsets older than AR9280.

Cc: Javier Cardona jav...@cozybit.com
Signed-off-by: Thomas Wagner thomas.wag...@hs-rm.de
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/recv.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 9b2a8cc..a04028b 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
rfilt |= ATH9K_RX_FILTER_COMP_BAR;
 
if (sc-nvifs  1 || (sc-rx.rxfilter  FIF_OTHER_BSS)) {
-   /* The following may also be needed for other older chips */
-   if (sc-sc_ah-hw_version.macVersion == AR_SREV_VERSION_9160)
+   /* This is needed for older chips */
+   if (sc-sc_ah-hw_version.macVersion = AR_SREV_VERSION_9160)
rfilt |= ATH9K_RX_FILTER_PROM;
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
}
-- 
1.7.0.4

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


Re: [ath9k-devel] No free RX buffer with AR9271 + kernel oops

2012-09-24 Thread Mohammed Shafi
Hi,

On Mon, Sep 17, 2012 at 8:26 AM, Mark Shroyer mshro...@awaredigital.com wrote:
 I'm attempting to use an AR9271-based USB adapter on Linux 3.2.23 (arm)
 with ath9k_htc from compat-wireless 2012-04-17 and 2012-09-07, but I'm
 having trouble when I run the adapter in AP mode and dump traffic across
 it (e.g. with iperf):

 I start out seeing good performance, but after running the test for
 several minutes the throughput will drop to about 1.5 mbit/s, around
 which point the dmesg buffer shows the repeated message:

 [  810.832427] ath: phy0: No free RX buffer

 And if I continue this test I eventually see the attached kernel oops
 message.

 Can anybody offer troubleshooting advice on this?  And I'll be happy to
 provide any additional information required of course.

sorry for the delayed reply. Will try to recreate and debug when i
find some free time(working in something else :))


 Thanks,
 Mark


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




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


Re: [ath9k-devel] :

2012-09-23 Thread Mohammed Shafi Shajakhan
Hi Ravi,

I was on leave, will soon share the complete data that might help you..
p2p concurrency (having P2P go has some issues).

regards,
shafi

On Thursday 20 September 2012 04:07 PM, Ravi Sharma wrote:
 Hi,

 I am trying to setup concurrent mode for TL-WL722N (TP-LINK) (ath9k)
 and upgraded used the driver with the latest compat release. I am
 trying to run STA  P2P concurrently with two supplicant. Is this
 configuration possible?



 I am using Ubuntu with kernel 3.2

 Can you please share the setup you are using to validate the ath9k
 mac80211 for concurrent mode?

 Regards,
 Ravi

 On Tue, Aug 21, 2012 at 10:43 AM, Mohammed Shafi Shajakhan
 moham...@qca.qualcomm.com wrote:
 Hi,


 On Friday 17 August 2012 12:42 PM, Sunil Mehta wrote:


 Hi


 We are using AR9331 and are currently using the device in - AP mode, and
 Station mode.

 We would like to use the device for a P2P application. Can you suggest
 what we need to do.


 sorry for the delayed reply, i was on leave(did not check any mails!) for
 the past 6 days.

 please read this and check this out, if it helps and works for you
 http://linuxwireless.org/en/developers/p2p/howto.

 please let me know if there any basic configuration issues.

 technical issues related to p2p are discussed in hostap mailing lists
 http://lists.shmoo.com/mailman/listinfo/hostap




 Regards,
 Sunil.




 --
 thanks,
 shafi



 --
 To unsubscribe from this list: send the line unsubscribe linux-wireless in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
thanks,
shafi


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


Re: [ath9k-devel] [PATCH v2] ath9k: Fix mesh related rx filtering issue for older chips

2012-09-17 Thread Mohammed Shafi Shajakhan
Hi Tom,


On Monday 17 September 2012 10:47 AM, Mohammed Shafi Shajakhan wrote:
 Hi Tom,

 + linux-wireless

 On Saturday 15 September 2012 12:24 AM, Thomas Wagner wrote:
 Hi,

 I'm really not sure about this being tied to sc-nvifs.
 If it's mesh related, how about just adding a check for the number of
 mesh interfaces [...]
 No, it is not mesh related!
 Several frames where filtered out.
 I discovered this on trying to set up a mesh.
 But the where filtered frames beyond  the mesh: e.g. a beacon of
 802.11b Sitecom Router

 @Felix: Pleas forward this mail to:
 linux-wirel...@vger.kernel.org
 ath9k-de...@venema.h4ckr.net



 thanks for the clarification.



will send a v3 soon changing the subject and commit log mentioning 
generically that the  older hardware chipsets seem to filter some 
necessary wifi frames ?. thanks!


-- 
thanks,
shafi


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


Re: [ath9k-devel] [PATCH v2] ath9k: Fix mesh related rx filtering issue for older chips

2012-09-16 Thread Mohammed Shafi Shajakhan
Hi Tom,

+ linux-wireless

On Saturday 15 September 2012 12:24 AM, Thomas Wagner wrote:
 Hi,

 I'm really not sure about this being tied to sc-nvifs.
 If it's mesh related, how about just adding a check for the number of mesh 
 interfaces [...]
 No, it is not mesh related!
 Several frames where filtered out.
 I discovered this on trying to set up a mesh.
 But the where filtered frames beyond  the mesh: e.g. a beacon of 802.11b 
 Sitecom Router

 @Felix: Pleas forward this mail to:
 linux-wirel...@vger.kernel.org
 ath9k-de...@venema.h4ckr.net



thanks for the clarification.


-- 
thanks,
shafi


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


[ath9k-devel] [PATCH] ath9k: update hw_timer_enabled to false when we stop generic timers

2012-09-14 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Update the 'hw_timer_enabled' to 'false' wherever we are stopping
hardware generic timers, excecpt the case where we start them
again immediately.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |   14 +-
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 45f2422..8aeb4a2 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -314,8 +314,10 @@ void ath9k_btcoex_timer_resume(struct ath_softc *sc)
ath_dbg(ath9k_hw_common(ah), BTCOEX, Starting btcoex timers\n);
 
/* make sure duty cycle timer is also stopped when resuming */
-   if (btcoex-hw_timer_enabled)
+   if (btcoex-hw_timer_enabled) {
ath9k_gen_timer_stop(sc-sc_ah, btcoex-no_stomp_timer);
+   btcoex-hw_timer_enabled = false;
+   }
 
btcoex-bt_priority_cnt = 0;
btcoex-bt_priority_time = jiffies;
@@ -336,18 +338,20 @@ void ath9k_btcoex_timer_pause(struct ath_softc *sc)
 
del_timer_sync(btcoex-period_timer);
 
-   if (btcoex-hw_timer_enabled)
+   if (btcoex-hw_timer_enabled) {
ath9k_gen_timer_stop(ah, btcoex-no_stomp_timer);
-
-   btcoex-hw_timer_enabled = false;
+   btcoex-hw_timer_enabled = false;
+   }
 }
 
 void ath9k_btcoex_stop_gen_timer(struct ath_softc *sc)
 {
struct ath_btcoex *btcoex = sc-btcoex;
 
-   if (btcoex-hw_timer_enabled)
+   if (btcoex-hw_timer_enabled) {
ath9k_gen_timer_stop(sc-sc_ah, btcoex-no_stomp_timer);
+   btcoex-hw_timer_enabled = false;
+   }
 }
 
 u16 ath9k_btcoex_aggr_limit(struct ath_softc *sc, u32 max_4ms_framelen)
-- 
1.7.0.4

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


[ath9k-devel] [PATCH] ath9k: Fix mesh related filtering issue for older chips

2012-09-14 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We need to have the promiscus mode enabled for older
chipset(ie rule out many frames being filtered in the
hardware itself)if 'FIF_OTHER_BSS' flag is set, when we
start the mesh mode. Fix this by enabling promiscus
mode for all chipsets whose macversion = AR9160
chipsets. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=45591

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/recv.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 4480c0c..76db0b3 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
rfilt |= ATH9K_RX_FILTER_COMP_BAR;
 
if (sc-nvifs  1 || (sc-rx.rxfilter  FIF_OTHER_BSS)) {
-   /* The following may also be needed for other older chips */
-   if (sc-sc_ah-hw_version.macVersion == AR_SREV_VERSION_9160)
+   /* This is needed for older chips, especially for mesh mode */
+   if (sc-sc_ah-hw_version.macVersion = AR_SREV_VERSION_9160)
rfilt |= ATH9K_RX_FILTER_PROM;
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
}
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v2] ath9k: Fix mesh related rx filtering issue for older chips

2012-09-14 Thread Mohammed Shafi Shajakhan
From: Thomas Wagner thomas.wag...@hs-rm.de

We need to have the promiscus mode enabled for older
chipsets(i.e, rule out many frames being filtered in the
hardware itself) if 'FIF_OTHER_BSS' flag is set, when we
start the mesh mode. Fix this by enabling promiscus
mode for all the chipsets whose macversion = AR9160
chipsets. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=45591

shafi: made the fix generic by having the frame filtering
disabled for chipsets older than AR9280.

Cc: Javier Cardona jav...@cozybit.com
Signed-off-by: Thomas Wagner thomas.wag...@hs-rm.de
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/recv.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 4480c0c..76db0b3 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
rfilt |= ATH9K_RX_FILTER_COMP_BAR;
 
if (sc-nvifs  1 || (sc-rx.rxfilter  FIF_OTHER_BSS)) {
-   /* The following may also be needed for other older chips */
-   if (sc-sc_ah-hw_version.macVersion == AR_SREV_VERSION_9160)
+   /* This is needed for older chips, especially for mesh mode */
+   if (sc-sc_ah-hw_version.macVersion = AR_SREV_VERSION_9160)
rfilt |= ATH9K_RX_FILTER_PROM;
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
}
-- 
1.7.0.4

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


Re: [ath9k-devel] [PATCH] ath9k: Fix mesh related filtering issue for older chips

2012-09-14 Thread Mohammed Shafi Shajakhan
On Friday 14 September 2012 08:16 PM, Mohammed Shafi Shajakhan wrote:
 From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

 We need to have the promiscus mode enabled for older
 chipset(ie rule out many frames being filtered in the
 hardware itself)if 'FIF_OTHER_BSS' flag is set, when we
 start the mesh mode. Fix this by enabling promiscus
 mode for all chipsets whose macversion = AR9160
 chipsets. This should fix
 https://bugzilla.kernel.org/show_bug.cgi?id=45591

 Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
 ---
   drivers/net/wireless/ath/ath9k/recv.c |4 ++--
   1 files changed, 2 insertions(+), 2 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
 b/drivers/net/wireless/ath/ath9k/recv.c
 index 4480c0c..76db0b3 100644
 --- a/drivers/net/wireless/ath/ath9k/recv.c
 +++ b/drivers/net/wireless/ath/ath9k/recv.c
 @@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
   rfilt |= ATH9K_RX_FILTER_COMP_BAR;

   if (sc-nvifs  1 || (sc-rx.rxfilter  FIF_OTHER_BSS)) {
 - /* The following may also be needed for other older chips */
 - if (sc-sc_ah-hw_version.macVersion == AR_SREV_VERSION_9160)
 + /* This is needed for older chips, especially for mesh mode */
 + if (sc-sc_ah-hw_version.macVersion = AR_SREV_VERSION_9160)
   rfilt |= ATH9K_RX_FILTER_PROM;
   rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
   }


John, kindly drop this. Had resent the v2 with proper author
name (Thomas) who suggested the change.


-- 
thanks,
shafi


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


[ath9k-devel] [RFC] ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle

2012-09-12 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We WLAN is idle we can some better bandwidth to FTP by
setting STOMP_LOW_FTP where stomping the FTP BT is pretty
much reduced when compared to setting STOMP_LOW weight.
we calculate WLAN is idle by taking into account of the
rx data packets, so ensure that we take into account
of data packets(ignore beacons).

Also update bt_wait_time even if the chip is NETWORK SLEEP
mode. This should help BT throughput when WLAN is idle,
when everything else is fine :)

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |2 +-
 drivers/net/wireless/ath/ath9k/recv.c |5 -
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 45f2422..09d517e 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -198,6 +198,7 @@ static void ath_btcoex_period_timer(unsigned long data)
 
spin_lock_irqsave(sc-sc_pm_lock, flags);
if (sc-sc_ah-power_mode == ATH9K_PM_NETWORK_SLEEP) {
+   btcoex-bt_wait_time += btcoex-btcoex_period;
spin_unlock_irqrestore(sc-sc_pm_lock, flags);
goto skip_hw_wakeup;
}
@@ -208,7 +209,6 @@ static void ath_btcoex_period_timer(unsigned long data)
ath_detect_bt_priority(sc);
is_btscan = test_bit(BT_OP_SCAN, btcoex-op_flags);
 
-   btcoex-bt_wait_time += btcoex-btcoex_period;
if (btcoex-bt_wait_time  ATH_BTCOEX_RX_WAIT_TIME) {
if (ar9003_mci_state(ah, MCI_STATE_NEED_FTP_STOMP) 
(mci-num_pan || mci-num_other_acl))
diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
b/drivers/net/wireless/ath/ath9k/recv.c
index 4480c0c..9b2a8cc 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1105,7 +1105,10 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool 
hp)
else
rs.is_mybeacon = false;
 
-   sc-rx.num_pkts++;
+   if (ieee80211_is_data_present(hdr-frame_control) 
+   !ieee80211_is_qos_nullfunc(hdr-frame_control))
+   sc-rx.num_pkts++;
+
ath_debug_stat_rx(sc, rs);
 
/*
-- 
1.7.0.4

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


Re: [ath9k-devel] [PATCH -next v1] wireless: ath9k-htc: only load firmware in need

2012-09-10 Thread Mohammed Shafi
Hi,

On Sat, Sep 1, 2012 at 10:41 AM, Ming Lei ming@canonical.com wrote:
 On Tue, Aug 21, 2012 at 4:04 PM, Ming Lei ming@canonical.com wrote:
 It is not necessary to hold the firmware memory during the whole
 driver lifetime, and obviously it does waste memory. Suppose there
 are 4 ath9k-htc usb dongles working, kernel has to consume about
 4*50KBytes RAM to cache firmware for all dongles. After applying the
 patch, kernel only caches one single firmware image in RAM for
 all ath9k-htc devices just during system suspend/resume cycle.

 When system is ready for loading firmware, ath9k-htc can request
 the loading from usersapce. During system resume, ath9k-htc still
 can load the firmware which was cached in kernel memory before
 system suspend.

 Cc: ath9k-devel@lists.ath9k.org
 Cc: Luis R. Rodriguez mcg...@qca.qualcomm.com
 Cc: Jouni Malinen jo...@qca.qualcomm.com
 Cc: Vasanthakumar Thiagarajan vthia...@qca.qualcomm.com
 Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
 Cc: John W. Linville linvi...@tuxdriver.com
 Signed-off-by: Ming Lei ming@canonical.com
 ---
 v1:
 fix double free of firmware in failue path of
 ath9k_hif_usb_firmware_cb

 Gentle ping, :-)

this patch is now in wireless-testing :-)



 Thanks,
 --
 Ming Lei
 --
 To unsubscribe from this list: send the line unsubscribe linux-wireless in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html



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


[ath9k-devel] [PATCH] ath9k: Add Generic hardware timer interrupt in debugfs

2012-09-07 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Having generic hardware timer interrupt in debugfs
would come handy when we are debugging 3 WIRE
BTCOEX issues.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/debug.c |3 +++
 drivers/net/wireless/ath/ath9k/debug.h |3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/debug.c 
b/drivers/net/wireless/ath/ath9k/debug.c
index 68b643c..ab3bc85 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -373,6 +373,8 @@ void ath_debug_stat_interrupt(struct ath_softc *sc, enum 
ath9k_int status)
sc-debug.stats.istats.tsfoor++;
if (status  ATH9K_INT_MCI)
sc-debug.stats.istats.mci++;
+   if (status  ATH9K_INT_GENTIMER)
+   sc-debug.stats.istats.gen_timer++;
 }
 
 static ssize_t read_file_interrupt(struct file *file, char __user *user_buf,
@@ -418,6 +420,7 @@ static ssize_t read_file_interrupt(struct file *file, char 
__user *user_buf,
PR_IS(DTIM, dtim);
PR_IS(TSFOOR, tsfoor);
PR_IS(MCI, mci);
+   PR_IS(GENTIMER, gen_timer);
PR_IS(TOTAL, total);
 
len += snprintf(buf + len, mxlen - len,
diff --git a/drivers/net/wireless/ath/ath9k/debug.h 
b/drivers/net/wireless/ath/ath9k/debug.h
index 8b9d080..61341cd 100644
--- a/drivers/net/wireless/ath/ath9k/debug.h
+++ b/drivers/net/wireless/ath/ath9k/debug.h
@@ -74,6 +74,8 @@ enum ath_reset_type {
  * from a beacon differs from the PCU's internal TSF by more than a
  * (programmable) threshold
  * @local_timeout: Internal bus timeout.
+ * @mci: MCI interrupt, specific to MCI based BTCOEX chipsets
+ * @gen_timer: Generic hardware timer interrupt
  */
 struct ath_interrupt_stats {
u32 total;
@@ -100,6 +102,7 @@ struct ath_interrupt_stats {
u32 bb_watchdog;
u32 tsfoor;
u32 mci;
+   u32 gen_timer;
 
/* Sync-cause stats */
u32 sync_cause_all;
-- 
1.7.0.4

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


Re: [ath9k-devel] AR9330 hornet board stops beaconing after a few days (0xdeadbeef)

2012-09-05 Thread Mohammed Shafi
Hi Simon/Sven,


 I'm living at a small village, and one or two neighbors may have access 
 points too,
 but that's it - this should be far from beeing busy. We mostly use these APs 
 for
 surfing with smart phones, this is also far from congesting them. ;)

 TBH I don't really understand what you are talking about regarding WAR, etc, 
 can
 you please explain? What can we do to analyse the problem better?


work arounds(WAR) for beacon stuck in congested environment,
there may be quite a few that may not be not yet ported for ath9k,
but as your environment is not a congested, then the issue can be
something different. Have not got much information/change list
from the query posted internally.


 Thanks,
 Simon

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)

 iEYEARECAAYFAlBGNm8ACgkQrzg/fFk7axbuNwCg626AvtDTWoeaSrVGjB92XN+7
 5tEAnAjEXI04gSS102VwlSKQqBHEPFyG
 =9pIv
 -END PGP SIGNATURE-




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


Re: [ath9k-devel] [PATCHv2 1/2] ath9k_htc: remove driver specific checks for interfaces combinations

2012-09-04 Thread Mohammed Shafi
Hi Antonio,


 the
 ath9k_htc maintainer said
 TSF sync may be an issue if we have IBSS interface coexistence, any
 thoughts about this (or)
 this should be fine based on your testing. please let me know!


 Well, during my test I didn't hit any problem, but since the ath9k_htc
 maintainer has much more experience then me I will perform a more stressful 
 test
 and see what happens. I'll let you know!

sure, thanks a lot!


 Thanks,



 --
 Antonio Quartulli

 ..each of us alone is worth nothing..
 Ernesto Che Guevara



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


[ath9k-devel] [PATCH 1/8] ath9k_hw: Fix invalid MCI GPM index access/caching

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

There is a possibility that AR_MCI_GPM_1 register can
return 0xdeadbeef and this results in caching of invalid
GPM index in ar9003_mci_is_gpm_valid. Ensure we
have appropriate checks to avoid this.

Cc: xijin luo xi...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ar9003_mci.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mci.c 
b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
index 9a34fca..995b866 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mci.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
@@ -1327,6 +1327,10 @@ u32 ar9003_mci_get_next_gpm_offset(struct ath_hw *ah, 
bool first, u32 *more)
 
if (first) {
gpm_ptr = MS(REG_READ(ah, AR_MCI_GPM_1), AR_MCI_GPM_WRITE_PTR);
+
+   if (gpm_ptr = mci-gpm_len)
+   gpm_ptr = 0;
+
mci-gpm_idx = gpm_ptr;
return gpm_ptr;
}
@@ -1371,6 +1375,10 @@ u32 ar9003_mci_get_next_gpm_offset(struct ath_hw *ah, 
bool first, u32 *more)
more_gpm = MCI_GPM_NOMORE;
 
temp_index = mci-gpm_idx;
+
+   if (temp_index = mci-gpm_len)
+   temp_index = 0;
+
mci-gpm_idx++;
 
if (mci-gpm_idx = mci-gpm_len)
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 2/8] ath9k: Fix BTCOEX timer triggering comparision

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Its more correct to convert btcoex_period to 'us' while
comparing with btcoex_no_stomp which is in 'us'.
Did not find any functionality issues being fixed,
as the generic hardware timer triggers are usually
refreshed with the newer duty cycle.

Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ath9k.h |2 +-
 drivers/net/wireless/ath/ath9k/gpio.c  |7 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h 
b/drivers/net/wireless/ath/ath9k/ath9k.h
index 7373e4b..2bb89b1 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -473,7 +473,7 @@ struct ath_btcoex {
unsigned long op_flags;
int bt_stomp_type; /* Types of BT stomping */
u32 btcoex_no_stomp; /* in usec */
-   u32 btcoex_period; /* in usec */
+   u32 btcoex_period; /* in msec */
u32 btscan_no_stomp; /* in usec */
u32 duty_cycle;
u32 bt_wait_time;
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index bacdb8f..273eb67 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -228,7 +228,12 @@ static void ath_btcoex_period_timer(unsigned long data)
ath9k_hw_btcoex_enable(ah);
spin_unlock_bh(btcoex-btcoex_lock);
 
-   if (btcoex-btcoex_period != btcoex-btcoex_no_stomp) {
+   /*
+* btcoex_period is in msec while (btocex/btscan_)no_stomp are in usec,
+* ensure that we properly convert btcoex_period to usec
+* for any comparision with (btcoex/btscan_)no_stomp.
+*/
+   if (btcoex-btcoex_period * 1000 != btcoex-btcoex_no_stomp) {
if (btcoex-hw_timer_enabled)
ath9k_gen_timer_stop(ah, btcoex-no_stomp_timer);
 
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 3/8] ath9k: Make use of ath_stop_ani wrapper

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Additionally it has a neat debug message informing us
that we are stopping the ANI algorithm.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/main.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c 
b/drivers/net/wireless/ath/ath9k/main.c
index 8a2b04d..a0bdb4b 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2260,7 +2260,7 @@ static int ath9k_suspend(struct ieee80211_hw *hw,
mutex_lock(sc-mutex);
 
ath_cancel_work(sc);
-   del_timer_sync(common-ani.timer);
+   ath_stop_ani(sc);
del_timer_sync(sc-rx_poll_timer);
 
if (test_bit(SC_OP_INVALID, sc-sc_flags)) {
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 4/8] ath9k: Remove an obselete function declaration

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ath9k.h |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h 
b/drivers/net/wireless/ath/ath9k/ath9k.h
index 2bb89b1..96b8331 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -423,7 +423,6 @@ void ath9k_beacon_assign_slot(struct ath_softc *sc, struct 
ieee80211_vif *vif);
 void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif);
 void ath9k_set_tsfadjust(struct ath_softc *sc, struct ieee80211_vif *vif);
 void ath9k_set_beacon(struct ath_softc *sc);
-void ath9k_set_beaconing_status(struct ath_softc *sc, bool status);
 
 /***/
 /* Link Monitoring */
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 5/8] ath9k: Cleanup add/change_interface callbacks

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

*Remove all the checks that will be handled by cfg80211
based on the interface combination advertised. For instance,
driver supports at the maximum 8 beaconing interface, while
we advertise maximum 8 beaconing interface in the interface
combination support.

*cfg80211 will take care of not allowing
us to add an interface that is not supported by the
driver, further if the change_interface changes the
old interface to a beaconing interface while we had
reached the max limit of 8 beaconing interface, again
cfg80211 takes care of this stuff!
So remove all these checks.

*Beautify placing PS wrappers in the appropriate
position.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/main.c |   57 ++---
 1 files changed, 10 insertions(+), 47 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c 
b/drivers/net/wireless/ath/ath9k/main.c
index a0bdb4b..3923ad9 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -986,47 +986,21 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
struct ath_softc *sc = hw-priv;
struct ath_hw *ah = sc-sc_ah;
struct ath_common *common = ath9k_hw_common(ah);
-   int ret = 0;
 
-   ath9k_ps_wakeup(sc);
mutex_lock(sc-mutex);
 
-   switch (vif-type) {
-   case NL80211_IFTYPE_STATION:
-   case NL80211_IFTYPE_WDS:
-   case NL80211_IFTYPE_ADHOC:
-   case NL80211_IFTYPE_AP:
-   case NL80211_IFTYPE_MESH_POINT:
-   break;
-   default:
-   ath_err(common, Interface type %d not yet supported\n,
-   vif-type);
-   ret = -EOPNOTSUPP;
-   goto out;
-   }
-
-   if (ath9k_uses_beacons(vif-type)) {
-   if (sc-nbcnvifs = ATH_BCBUF) {
-   ath_err(common, Not enough beacon buffers when adding
-new interface of type: %i\n,
-   vif-type);
-   ret = -ENOBUFS;
-   goto out;
-   }
-   }
-
ath_dbg(common, CONFIG, Attach a VIF of type: %d\n, vif-type);
-
sc-nvifs++;
 
+   ath9k_ps_wakeup(sc);
ath9k_calculate_summary_state(hw, vif);
+   ath9k_ps_restore(sc);
+
if (ath9k_uses_beacons(vif-type))
ath9k_beacon_assign_slot(sc, vif);
 
-out:
mutex_unlock(sc-mutex);
-   ath9k_ps_restore(sc);
-   return ret;
+   return 0;
 }
 
 static int ath9k_change_interface(struct ieee80211_hw *hw,
@@ -1036,21 +1010,9 @@ static int ath9k_change_interface(struct ieee80211_hw 
*hw,
 {
struct ath_softc *sc = hw-priv;
struct ath_common *common = ath9k_hw_common(sc-sc_ah);
-   int ret = 0;
 
ath_dbg(common, CONFIG, Change Interface\n);
-
mutex_lock(sc-mutex);
-   ath9k_ps_wakeup(sc);
-
-   if (ath9k_uses_beacons(new_type) 
-   !ath9k_uses_beacons(vif-type)) {
-   if (sc-nbcnvifs = ATH_BCBUF) {
-   ath_err(common, No beacon slot available\n);
-   ret = -ENOBUFS;
-   goto out;
-   }
-   }
 
if (ath9k_uses_beacons(vif-type))
ath9k_beacon_remove_slot(sc, vif);
@@ -1058,14 +1020,15 @@ static int ath9k_change_interface(struct ieee80211_hw 
*hw,
vif-type = new_type;
vif-p2p = p2p;
 
+   ath9k_ps_wakeup(sc);
ath9k_calculate_summary_state(hw, vif);
+   ath9k_ps_restore(sc);
+
if (ath9k_uses_beacons(vif-type))
ath9k_beacon_assign_slot(sc, vif);
 
-out:
-   ath9k_ps_restore(sc);
mutex_unlock(sc-mutex);
-   return ret;
+   return 0;
 }
 
 static void ath9k_remove_interface(struct ieee80211_hw *hw,
@@ -1076,7 +1039,6 @@ static void ath9k_remove_interface(struct ieee80211_hw 
*hw,
 
ath_dbg(common, CONFIG, Detach Interface\n);
 
-   ath9k_ps_wakeup(sc);
mutex_lock(sc-mutex);
 
sc-nvifs--;
@@ -1084,10 +1046,11 @@ static void ath9k_remove_interface(struct ieee80211_hw 
*hw,
if (ath9k_uses_beacons(vif-type))
ath9k_beacon_remove_slot(sc, vif);
 
+   ath9k_ps_wakeup(sc);
ath9k_calculate_summary_state(hw, NULL);
+   ath9k_ps_restore(sc);
 
mutex_unlock(sc-mutex);
-   ath9k_ps_restore(sc);
 }
 
 static void ath9k_enable_ps(struct ath_softc *sc)
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 6/8] ath9k_htc: minor cleanup in ath9k_htc_add_station

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |   14 +-
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index c32f6e3..61d096e 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -489,24 +489,20 @@ static int ath9k_htc_add_station(struct ath9k_htc_priv 
*priv,
ista = (struct ath9k_htc_sta *) sta-drv_priv;
memcpy(tsta.macaddr, sta-addr, ETH_ALEN);
memcpy(tsta.bssid, common-curbssid, ETH_ALEN);
-   tsta.is_vif_sta = 0;
ista-index = sta_idx;
+   tsta.is_vif_sta = 0;
+   maxampdu = 1  (IEEE80211_HT_MAX_AMPDU_FACTOR +
+sta-ht_cap.ampdu_factor);
+   tsta.maxampdu = cpu_to_be16(maxampdu);
} else {
memcpy(tsta.macaddr, vif-addr, ETH_ALEN);
tsta.is_vif_sta = 1;
+   tsta.maxampdu = cpu_to_be16(0x);
}
 
tsta.sta_index = sta_idx;
tsta.vif_index = avp-index;
 
-   if (!sta) {
-   tsta.maxampdu = cpu_to_be16(0x);
-   } else {
-   maxampdu = 1  (IEEE80211_HT_MAX_AMPDU_FACTOR +
-sta-ht_cap.ampdu_factor);
-   tsta.maxampdu = cpu_to_be16(maxampdu);
-   }
-
WMI_CMD_BUF(WMI_NODE_CREATE_CMDID, tsta);
if (ret) {
if (sta)
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 7/8] ath9k_htc: Add a modparam to enable BTCOEX rather than default

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Enable BTCOEX for WB193(which seems to be the only supported
ath9k_htc BTCOEX chipset)only when it is enabled via modparam,
rather than enabling it by default.

Cc: Vivek Natarajan natar...@qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_gpio.c |9 +
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |5 +
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
index 07df279..fe4836b 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
@@ -182,8 +182,17 @@ void ath9k_htc_stop_btcoex(struct ath9k_htc_priv *priv)
 void ath9k_htc_init_btcoex(struct ath9k_htc_priv *priv, char *product)
 {
struct ath_hw *ah = priv-ah;
+   struct ath_common *common = ath9k_hw_common(ah);
int qnum;
 
+   /*
+* Check if BTCOEX is globally disabled.
+*/
+   if (!common-btcoex_enabled) {
+   ah-btcoex_hw.scheme = ATH_BTCOEX_CFG_NONE;
+   return;
+   }
+
if (product  strncmp(product, ATH_HTC_BTCOEX_PRODUCT_ID, 5) == 0) {
ah-btcoex_hw.scheme = ATH_BTCOEX_CFG_3WIRE;
}
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index a035a38..d98255e 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -30,6 +30,10 @@ int htc_modparam_nohwcrypt;
 module_param_named(nohwcrypt, htc_modparam_nohwcrypt, int, 0444);
 MODULE_PARM_DESC(nohwcrypt, Disable hardware encryption);
 
+static int ath9k_htc_btcoex_enable;
+module_param_named(btcoex_enable, ath9k_htc_btcoex_enable, int, 0444);
+MODULE_PARM_DESC(btcoex_enable, Enable wifi-BT coexistence);
+
 #define CHAN2G(_freq, _idx)  { \
.center_freq = (_freq), \
.hw_value = (_idx), \
@@ -635,6 +639,7 @@ static int ath9k_init_priv(struct ath9k_htc_priv *priv,
common-hw = priv-hw;
common-priv = priv;
common-debug_mask = ath9k_debug;
+   common-btcoex_enabled = ath9k_htc_btcoex_enable == 1;
 
spin_lock_init(priv-beacon_lock);
spin_lock_init(priv-tx.tx_lock);
-- 
1.7.0.4

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


[ath9k-devel] [PATCH 8/8] ath9k_htc: Cancel BTCOEX related work before disabling BTCOEX

2012-09-04 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Before disabling BTCOEX in the h/w cancel all BTCOEX related
works. This is similar to the commit in ath9k(c32cdbd8)
ath9k: Stop the BTCOEX timers before disabling BTCOEX

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/htc_drv_gpio.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c 
b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
index fe4836b..8fd64a6 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
@@ -173,9 +173,9 @@ void ath9k_htc_stop_btcoex(struct ath9k_htc_priv *priv)
 
if (ah-btcoex_hw.enabled 
ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) {
-   ath9k_hw_btcoex_disable(ah);
if (ah-btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE)
ath_htc_cancel_btcoex_work(priv);
+   ath9k_hw_btcoex_disable(ah);
}
 }
 
-- 
1.7.0.4

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


Re: [ath9k-devel] [PATCHv2 1/2] ath9k_htc: remove driver specific checks for interfaces combinations

2012-09-03 Thread Mohammed Shafi
Hi Antonio,

 Other than that, patch 2/6 should be modified to take into account IBSS mode.

 yeah saw your patch, that in ath9k_htc IBSS interface can coexist with
 one more interface.

sorry for the delayed response(almost tortoise's pace :) ), the
ath9k_htc maintainer said
TSF sync may be an issue if we have IBSS interface coexistence, any
thoughts about this (or)
this should be fine based on your testing. please let me know!

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


Re: [ath9k-devel] Help regarding ath9k source code!

2012-09-03 Thread Mohammed Shafi
On Mon, Sep 3, 2012 at 4:08 PM, Yashashree Jadhav
yashashreejadha...@gmail.com wrote:
 Hello Sir,

 This days I am studying ath9k aggregation source code.

 According to observation I found out MPDUs having a different TIDs (means
 all type of traffic bundle in one frame irrespective of QoS requirement )
 But in case of A-MSDU it consider formation of only similar TIDs.

 My understanding is right ? Is A-MPDU aggregation have different TID ?

yes.
http://ergodicthoughts.blogspot.in/2012/02/difference-between-mpdu-msdu-ampdu-and.html

AMSDU aggregation not yet supported.



 Regards,
 Yashashree





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




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


[ath9k-devel] [RFC] ath9k: update hw_timer_enabled to false when we stop generic timers

2012-09-03 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Update the 'hw_timer_enabled' to 'false' wherever we are stopping
hardware generic timers, excecpt the case where we start them
again immediately. I will just test the case the generic hardware
timer is stopped again and again even though they had been already
stopped.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |9 +++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index bacdb8f..9e3471c 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -309,8 +309,10 @@ void ath9k_btcoex_timer_resume(struct ath_softc *sc)
ath_dbg(ath9k_hw_common(ah), BTCOEX, Starting btcoex timers\n);
 
/* make sure duty cycle timer is also stopped when resuming */
-   if (btcoex-hw_timer_enabled)
+   if (btcoex-hw_timer_enabled) {
ath9k_gen_timer_stop(sc-sc_ah, btcoex-no_stomp_timer);
+   btcoex-hw_timer_enabled = false;
+   }
 
btcoex-bt_priority_cnt = 0;
btcoex-bt_priority_time = jiffies;
@@ -341,7 +343,10 @@ void ath9k_btcoex_stop_gen_timer(struct ath_softc *sc)
 {
struct ath_btcoex *btcoex = sc-btcoex;
 
-   ath9k_gen_timer_stop(sc-sc_ah, btcoex-no_stomp_timer);
+   if (btcoex-hw_timer_enabled)
+   ath9k_gen_timer_stop(sc-sc_ah, btcoex-no_stomp_timer);
+
+   btcoex-hw_timer_enabled = false;
 }
 
 u16 ath9k_btcoex_aggr_limit(struct ath_softc *sc, u32 max_4ms_framelen)
-- 
1.7.0.4

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


Re: [ath9k-devel] [PATCH] ath9k: Add PID/VID support for AR1111

2012-08-05 Thread Mohammed Shafi Shajakhan
Hi Tim/Luis,

On Friday 03 August 2012 12:20 AM, Tim and Alison Bentley wrote:
 On 2 August 2012 19:13, John W. Linville linvi...@tuxdriver.com wrote:

 On Thu, Aug 02, 2012 at 07:05:12PM +0100, Tim and Alison Bentley wrote:
 On 2 August 2012 18:43, Luis R. Rodriguez rodri...@qca.qualcomm.com
 wrote:

 On Wed, Aug 1, 2012 at 11:28 PM, Mohammed Shafi Shajakhan
 moham...@qca.qualcomm.com wrote:
 From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

 AR is same as AR9485. The h/w
 difference between them is quite insignificant,
 Felix suggests only very few baseband features
 may not be available in AR. The h/w code for
 AR9485 is already present, so AR should
 work fine with the addition of its PID/VID.

 Cc: sta...@vger.kernel.org [2.6.39+]
 Cc: Felix Bitterli fel...@qca.qualcomm.com
 Reported-by: Tim and Alison Bentley h...@trarbentley.net
 Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

 Nice! I'd be happy with this going in once we get a Tested-by: report.
 Dan, Tim?



 Will test tomorrow when I have time

 Hmmm...well, I just pushed it to wireless.git.  I won't push it to
 Dave until sometime tomorrow, to give a chance for some test.

 John
 --
 John W. LinvilleSomeday the world will need a hero, and you
 linvi...@tuxdriver.com  might be all we have.  Be ready.


 Have tested patch and can confirm it is fine and works. (Connected now).
 Can you amend the reported by and Tested by lines to
 Tim Bentley tim.bent...@gmail.com
 instead of the family email address.
 Sorry for any trouble.


thanks for testing this.


-- 
thanks,
shafi


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


[ath9k-devel] [PATCH] ath9k: Add PID/VID support for AR1111

2012-08-02 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

AR is same as AR9485. The h/w
difference between them is quite insignificant,
Felix suggests only very few baseband features
may not be available in AR. The h/w code for
AR9485 is already present, so AR should
work fine with the addition of its PID/VID.

Cc: sta...@vger.kernel.org [2.6.39+]
Cc: Felix Bitterli fel...@qca.qualcomm.com
Reported-by: Tim and Alison Bentley h...@trarbentley.net
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/hw.c  |1 +
 drivers/net/wireless/ath/ath9k/hw.h  |1 +
 drivers/net/wireless/ath/ath9k/pci.c |1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c 
b/drivers/net/wireless/ath/ath9k/hw.c
index cfa91ab..60b6a9d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -730,6 +730,7 @@ int ath9k_hw_init(struct ath_hw *ah)
case AR9300_DEVID_QCA955X:
case AR9300_DEVID_AR9580:
case AR9300_DEVID_AR9462:
+   case AR9485_DEVID_AR:
break;
default:
if (common-bus_ops-ath_bus_type == ATH_USB)
diff --git a/drivers/net/wireless/ath/ath9k/hw.h 
b/drivers/net/wireless/ath/ath9k/hw.h
index dd0c146..ce7332c 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -49,6 +49,7 @@
 #define AR9300_DEVID_AR94620x0034
 #define AR9300_DEVID_AR93300x0035
 #define AR9300_DEVID_QCA955X   0x0038
+#define AR9485_DEVID_AR0x0037
 
 #define AR5416_AR9100_DEVID0x000b
 
diff --git a/drivers/net/wireless/ath/ath9k/pci.c 
b/drivers/net/wireless/ath/ath9k/pci.c
index 87b89d5..d455de9 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -37,6 +37,7 @@ static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = {
{ PCI_VDEVICE(ATHEROS, 0x0032) }, /* PCI-E  AR9485 */
{ PCI_VDEVICE(ATHEROS, 0x0033) }, /* PCI-E  AR9580 */
{ PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E  AR9462 */
+   { PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E  AR/AR9485 */
{ 0 }
 };
 
-- 
1.7.0.4

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


Re: [ath9k-devel] bluetooth does not work (AR9485).

2012-07-31 Thread Mohammed Shafi
Hi,

On Tue, Jul 31, 2012 at 8:00 PM, Yevgeniy Melnichuk
yevgeniy.melnic...@googlemail.com wrote:
 Hi Mohammed,

 i made a mistake while patching ath3k.c, but now i got it working.
 Thx for your help. Patch is attached.

awesome!  just now figured out for 3012 devices we have to add VID/PID
some thing like this
http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/00062.html

Please send a public patch for this
for bluetooth you will want to send them to Marcel Holtmann and cc the
linux-bluetooth mailing list, maintainers of ath3k
and cc me to0.
i think you go to see the following maintainer too
Gustavo Padovan gust...@padovan.org

pls let me know if you need any help


 Yevgeniy


 2012/7/30 Yevgeniy Melnichuk yevgeniy.melnic...@googlemail.com

 Hi Mohammed,

 thx again for the answer.
 My mistake was to think AR9485 is responsible for wireless and bluetooth.

 i followed the instructions on
 http://wireless.kernel.org/en/users/Drivers/ath3k
 According to the instructions it is a AR3012.
 i had to patch ath3k.c and btusb.c and add my device to the
 support/blacklist list.
 i copied ar3k folder from the kernel gitr-repository to /lib.
 Now i get the following error when loading ath3k:
 Bluetooth: Error in firmware loading err = -110,len = 0, size = 4096

 what does it mean?

 Bye,
 Yevgeniy


 2012/7/30 Mohammed Shafi shafi.at...@gmail.com

 On Fri, Jul 27, 2012 at 6:20 PM, Yevgeniy Melnichuk
 yevgeniy.melnic...@googlemail.com wrote:
  Hi Mohammed,
 
  thx for your reply.
 
 
  it was previously working right ?
 
  no, it was not working previously... neither with the stock kernel in
  ubuntu
  12.04, nor with vanilla 3.5.0
 
 
  could please point me to the
  firmware or something you are using for BT, where i could
  just try this out ?
 
  I have never used bluetooth before, so i am not sure, where to look for
  the
  information, you ask me for.
  How can i tell what firmware i am using?

 please follow the procedure mentioned in the link
 http://wireless.kernel.org/en/users/Drivers/ath3k

 if its AR3012 you need to create a dir
 like
 /lib/firmware/ar3k/
 and then put those dfu
 For AR3012, you can find the AthrBT_0x01020200.dfu and
 ramps_0x01020200_26.dfu or ramps_0x01020200_40.dfu on the
 linux-firmware git tree:


 
  here is some information, that may help.
  output by lspci -s 02:00.0
  02:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless
  Network Adapter (rev 01)
  Subsystem: Foxconn International, Inc. Device e044
  Flags: bus master, fast devsel, latency 0, IRQ 16
  Memory at c300 (64-bit, non-prefetchable) [size=512K]
  Expansion ROM at c000 [disabled] [size=64K]
  Capabilities: [40] Power Management version 2
  Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
  Capabilities: [70] Express Endpoint, MSI 00
  Capabilities: [100] Advanced Error Reporting
  Capabilities: [140] Virtual Channel
  Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
  Kernel driver in use: ath9k
  Kernel modules: ath9k
 
  output by rfkill list
  0: sony-wifi: Wireless LAN
  Soft blocked: no
  Hard blocked: no
  1: sony-bluetooth: Bluetooth
  Soft blocked: no
  Hard blocked: no
  3: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
  4: hci0: Bluetooth
  Soft blocked: no
  Hard blocked: no
 
  output by hciconfig
  hci0:Type: BR/EDR  Bus: USB
  BD Address: 08:ED:B9:CD:C0:70  ACL MTU: 1022:8  SCO MTU: 183:5
  UP RUNNING PSCAN
  RX bytes:822 acl:0 sco:0 events:33 errors:0
  TX bytes:877 acl:0 sco:0 commands:33 errors:0
 
  the following modules related to ath/bluetooth are loaded
  ath9k
  ath9k_common
  ath9k_hw
  ath
  mac80211
  bluetooth
  bnet
  rfcomm
  btusb
 
  i do the following steps to check whether it works or not.
  i enable bluetooth with the bluetooth-applet in unity.
  i check with rfkill list whether everything is unblocked
  i run bluetooth-wizard from gnome-bluetooth package and start
  scanning
  for devices. No devices ever show up.
 
  is this informtion sufficient?
 
  bye,
  Yevgeniy
 
  ___
  ath9k-devel mailing list
  ath9k-devel@lists.ath9k.org
  https://lists.ath9k.org/mailman/listinfo/ath9k-devel
 



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


Re: [ath9k-devel] bluetooth does not work (AR9485).

2012-07-31 Thread Mohammed Shafi
Hi,

ensure if you are using WLAN + BT, make sure you enable BTCOEX in
.config and as a module param
http://linuxwireless.org/en/users/Drivers/ath9k/btcoex
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] bluetooth does not work (AR9485).

2012-07-31 Thread Mohammed Shafi
On Tue, Jul 31, 2012 at 9:01 PM, Yevgeniy Melnichuk
yevgeniy.melnic...@googlemail.com wrote:
 hi Mohammed,

 CONFIG_ATH9K_BTCOEX_SUPPORT is set to Y and it looks like btcoex_enable is
 enabled by default, because wlan+bt work together without me changing any
 module-parameters.

no . i think you got to do sudo modprobe -v ath9k btcoex_enable=1
this ensures smooth coexistence between wifi and BTcoex..
other wise its a bug!



 Yevgeniy



 2012/7/31 Mohammed Shafi shafi.at...@gmail.com

 Hi,

 ensure if you are using WLAN + BT, make sure you enable BTCOEX in
 .config and as a module param
 http://linuxwireless.org/en/users/Drivers/ath9k/btcoex




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




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


Re: [ath9k-devel] TP-Link WDN4800 (AR9300): regression in DHCP request handling between kernel 3.2.10 and 3.3.6.

2012-07-30 Thread Mohammed Shafi
On Sun, Jul 29, 2012 at 4:21 PM, Frederic Crozat f...@crozat.net wrote:
 Hi all,

 while upgrading my openSUSE 12.1 to 12.2RC2, I've noted a (big)
 regression for my PCI-express wifi card (TP-Link WDN4800), which uses
 a AR9300 (168c:0030) chipset.

 With openSUSE 12.2 RC2, Wifi link (WPA2-PSK) is established (according
 to iwconfig) but DHCP requests aren't acknowledged (I've checked with
 wireshark, nothing is coming back). openSUSE 12.2 RC2 is using kernel
 3.4.4.

 I've reverted only the kernel to 12.1 kernel (3.1.10) has Wifi is
 working again (DHCP request answered).

 Then, I tried kernel 3.5.0 with no success (no DHCP answer) and I also
 tried installing latest compat-wireless stable on 3.1.10 kernel and it
 also broke Wifi.

could you please provide some more information regarding 2ghz/5ghz
and freq. it seems to be ok with latest wireless-testing with wpa2 psk.
could you please try with
http://linuxwireless.org/en/users/Download/#Where_to_download_bleeding_edge


 I've also tested older SUSE kernels:
 - one based on 3.2.10, which is also working fine.
 - one based on 3.3.6, which doesn't work

 I look like a change between 3.2.10 and 3.3.6 broke AR9300 somehow.

 I've also tried to disable ASPM in the kernels (but it wasn't enabled,
 according to lspci), with no success.

 If you need any additional debug trace or want me to test a particular
 patch, just ask.

 Thank you in advance for your help.

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



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


Re: [ath9k-devel] bluetooth does not work (AR9485).

2012-07-27 Thread Mohammed Shafi
Hi,

On Thu, Jul 26, 2012 at 4:12 PM, Yevgeniy Melnichuk
yevgeniy.melnic...@googlemail.com wrote:
 Hi everybody,

 my notebook is equipped with a AR9485. Wireless LAN works flawlessly, but
 bluetooth does not. Scanning shows no devices although my smartphone should
 be visible. A second notebook equipped with a intel chip finds the
 smartphone. Other way around does not work either. I configure the notebook
 with AR9485 to be visible, but it does not show up on my smartphone. Again,
 with the other notebook it works.

 i have found people with similar problems:
 https://answers.launchpad.net/ubuntu/+source/bluez/+question/186364
 but i did not found a solution.

 the problem is there with kernel 3.2.4 and 3.5.0

it was previously working right ? could please point me to the
firmware or something you are using for BT, where i could
just try this out ?


 am i doing something wrong or is it a (known?) bug.

 Thx in advance,
 Yevgeniy

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




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


Re: [ath9k-devel] poor ath9k driver

2012-07-23 Thread Mohammed Shafi
On Mon, Jul 23, 2012 at 4:22 PM, Sergey Ivanov icegood1...@gmail.com wrote:
 I wrote that issue on ubuntu forum:
 http://ubuntuforums.org/showthread.php?p=1212.
 Maybe developers could suggest smth better. For example smth. like increase
 number of frames during establishing connection.
 More precisely main delay appears when laptop send authentication to router
 and waits for reply. In my case i should bring my laptop, go to kitchen,
 wait for right reply, and return back to my room.


please check if it helps in
http://linuxwireless.org/en/users/Download/#Where_to_download_bleeding_edge



 --
 Kind regards,
 Sergey Ivanov

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




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


Re: [ath9k-devel] Seem to have fried my AR9300 NIC?

2012-07-23 Thread Mohammed Shafi
Hi Ben,

On Tue, Jul 24, 2012 at 4:01 AM, Ben Greear gree...@candelatech.com wrote:
 On 07/23/2012 03:08 PM, Ben Greear wrote:
 On 07/23/2012 02:10 PM, Ben Greear wrote:
 Came back after a 1 week vacation and found the 3.3.8+ kernel spitting
 timeout errors, and network devices will not 'ifconfig foo up'.

 I rebooted into 3.5.0+, and see the same (or at least similar errors):

 Well, I replaced the NIC and the problem remains.

 Guess it's time to poke a bit deeper.

 Ahh..so here's what happened.  I added code to set the rx-chainmask
 and tx-chainmask from user-space app (via writing to appropriate debugfs
 files).

 Code assumed 0x7 by default, but this particular NIC is only 2x2.

 When the chainmask is set wrong, the NIC gets into the broken state.

great!, this could be one root cause for chip reset failures!


 Changing it back to 0x3 fixes the problem.

 Is that worth trying to fix in the driver, or should I just
 fix it in user-space so that it never sets more than what
 the eeprom reports as supported?

Felix made a fix for broken EEPROM chainmasks.

commit 6054069a03f77ffa686e2dfd5f07cff8ee40b72d
Author: Felix Fietkau n...@openwrt.org
Date:   Tue Jul 19 08:46:44 2011 +0200

ath9k_hw: validate and fix broken eeprom chainmask settings

Some devices (e.g. Ubiquiti AirRouter) ship with broken EEPROM chainmask
data, which breaks the initial calibration after a hardware reset.
To fix this, mask the eeprom chainmask with the chainmask of the chip,
and use the chip chainmask if the result is zero.

Signed-off-by: Felix Fietkau n...@openwrt.org
Signed-off-by: John W. Linville linvi...@tuxdriver.com

the hard coded chain mask comes into picture only when the EEPROM
chainmask settings are zero.
Incase we are validating the chainmask in the driver we got to be sure
of validating for all chipsets.
Also we need to figure it out how to differentiate AR9382 (2x2) and
AR9380 (3x3).



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



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


Re: [ath9k-devel] question about bluetooth coexistence

2012-07-18 Thread Mohammed Shafi
Hi Jimy,

On Tue, Jul 17, 2012 at 8:13 PM, jimy j...@gis.de wrote:
 hello,


 having a lot of interruptions and packet loss in voip communication if i
 use a bluetooth headset and am connected via wireless at the same time i
 became interested in bluetooth coexistence on ath9k.

you got to enable btcoex in ath9k for both wiifi and ath9k to coexist.


 i compiled the kernel (3.4.4) with btcoex and loaded the ath9k module
 with btcoex_enable=1 (which normally should't be necessary) but i can
 not see any improvement in voip communication which leads me to the
 assumption that i missed something important.

well i assume that you had enabled CONFIG_ATH9K_BTCOEX_SUPPORT


 i've read here
 (http://wireless.kernel.org/en/users/Documentation/Bluetooth-coexistence#Driver_Bluetooth_coexistence)
 that ... Bluetooth coexistence is typically tested with bundled 802.11
 and Bluetooth devices.. does this mean that btcoex probably only works
 with bundled devices at the moment?

 i use a AR9285 chipset and a separate broadcom bt-270 (idVendor=0b05,
 idProduct=1788).

oh you got to use AR9285 chip that has combo (WIFI + BT) , so that BTCOEX
works in ath9k. i don't know if we could do something AR9285 chip and
BT-270 working
together. ath9k cannot do anything in that case.

recently QCA launched AR9462 which is a wifi + BT combo and ath9k has
support for it
http://www.qca.qualcomm.com/networking/brand.php?brand=4product=112


 please can someone give me a hint what i'm probably missing?


 thx
 jimy

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



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


Re: [ath9k-devel] all zeros in /proc/net/wireless

2012-07-18 Thread Mohammed Shafi
On Thu, Jul 19, 2012 at 10:20 AM, శ్రీధర్ asridh...@gmail.com wrote:
 I'm not getting anything out of /proc/net/wireless, is there any specific
 option that i should be setting that will populate this file. I'm using
 ath9k in my device, ans using o11s.org 0.5 (3.1.0-rc10-wl) kernel. There are
 packets being transmitted on the wireless interface as /proc/net/dev show
 packet in and out of wifi interfaces.

 # cat /proc/net/wireless
 Inter-| sta-|   Quality|   Discarded packets   | Missed
 | WE
  face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon
 | 22
ap0: 0 0 00  0  0  0  00
  mesh0: 0 0 00  0  0  0  00
 mon.ap0: 0 0 00  0  0  0  00


 # cat /proc/net/dev
 Inter-|   Receive|  Transmit
  face |bytespackets errs drop fifo frame compressed multicast|bytes
 packets errs drop fifo colls carrier compressed
 lo: 620   6000 0  0 0  620
 6000 0   0  0
   eth0:  8883476120000 0  0 0   632899
 3500000 0   0  0
   eth1:   0   0000 0  0 00
 0000 0   0  0
ap0:   0   0000 0  0 0   182243
 2390000 0   0  0
  mesh0:   0   0000 0  0 0   214057
 2402000 0   0  0
br0:  6690145360000 0  0 0   632412
 3489000 0   0  0
 mon.ap0: 23280082  152093000 0  0 00
 0000 0   0  0

 Any suggestions will be appreciated.

would be best to enable mac80211 debug and ath9k debug
http://linuxwireless.org/en/users/Drivers/ath9k/debug
and enable mac80211 debug  in kernel config
in my .config
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT=minstrel_ht
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_MESSAGE_TRACING=y
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_NOINLINE=y
CONFIG_MAC80211_VERBOSE_DEBUG=y
CONFIG_MAC80211_MLME_DEBUG=y
CONFIG_MAC80211_STA_DEBUG=y
CONFIG_MAC80211_HT_DEBUG=y
CONFIG_MAC80211_IBSS_DEBUG=y
CONFIG_MAC80211_PS_DEBUG=y
CONFIG_MAC80211_MPL_DEBUG=y
CONFIG_MAC80211_MPATH_DEBUG=y
CONFIG_MAC80211_MHWMP_DEBUG=y
CONFIG_MAC80211_MESH_SYNC_DEBUG=y
CONFIG_MAC80211_TDLS_DEBUG=y
CONFIG_MAC80211_DEBUG_COUNTERS=y
CONFIG_MAC80211_HWSIM=m

cd /sys/kernel/debug/ath9k/
and
cd /sys/kernel/debug/ieee80211



 Thanks
 S

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




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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-18 Thread Mohammed Shafi

 we had this checked out before, the EEPROM/EEP_ANT_DIV_CTL1 value is set to 
 00c9,
 so bit 6 and 7 are on (as checked in this function).


with inputs from Felix Bitterli,

-128 means: no measurement performed on this antenna.This will happen
with strong signals where too many gain-changes are needed to bring
the input signal into range, after which there is no time left to take
a measurement at the alternate antenna.

So:
1) to see diversity at work, increase the distance (dramatically).
2) There is no problem, the system is working correctly.

will provide some updates when i find some time to test.

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


Re: [ath9k-devel] 5 and 10 Mhz Bandwidth support using ath9k

2012-07-17 Thread Mohammed Shafi
Hi,

On Tue, Jul 17, 2012 at 9:52 PM, John Clark jeclark2...@aim.com wrote:
 I'm looking for what is needed to support these narrow bandwidths using the 
 ar9K series chips.

 There was a couple of posts early in January in regard to 'patches' that 
 someone had for the OpenWRT environment, and I'm trying to find out more.

i think Felix might know more about this. Please get his help.


 I'll take anyone's 'patches' and see if I can work with them.

 Also, if anyone 'knows' what is the method for changing the bandwidth, as in 
 'chip' details, I'd like to know that as well...

 Getting any info directly from Atheros was a problem when they were an 
 independent company. Now that they are part of the Qualcomm Intellectual 
 Empire, whose legal staff probably is greater than their creative staff, 
 information will almost never be given out without a premium and of course an 
 NDA.

 John Clark.

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



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


Re: [ath9k-devel] Problems with ath9k_htc - ERROR no room on ep ring

2012-07-16 Thread Mohammed Shafi
On Fri, Jul 13, 2012 at 2:43 AM, David M. Zendzian d...@zzservers.com wrote:
 I have confirmed that I have the latest 1.3 firmware using a usb adaptor
 (AWUS036NHA) with Atheros 9271 chipset.  The adaptor keeps receiving an
 error on loading the firmware.

 Google has not shown me anything helpful.  Any suggestions would be
 appreciated.

please check
http://forum.xbmc.org/showthread.php?tid=101903
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/883646
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=8dfec6140fc617b932cf9a09ba46d0ee3f3a7d87


 Thank you

 Jul 12 17:09:17 ralfthewise kernel: [12031.662259] usb 5-2.3: new
 high-speed USB device number 12 using xhci_hcd
 Jul 12 17:09:17 ralfthewise kernel: [12031.690138] usb 5-2.3: ep 0x1 -
 rounding interval to 32768 microframes, ep desc says 0 microframes
 Jul 12 17:09:17 ralfthewise kernel: [12031.690144] usb 5-2.3: ep 0x82 -
 rounding interval to 32768 microframes, ep desc says 0 microframes
 Jul 12 17:09:17 ralfthewise kernel: [12031.690149] usb 5-2.3: ep 0x5 -
 rounding interval to 32768 microframes, ep desc says 0 microframes
 Jul 12 17:09:17 ralfthewise kernel: [12031.690153] usb 5-2.3: ep 0x6 -
 rounding interval to 32768 microframes, ep desc says 0 microframes
 Jul 12 17:09:17 ralfthewise kernel: [12032.154672] usb 5-2.3: ath9k_htc:
 Transferred FW: htc_9271.fw, size: 51272
 Jul 12 17:09:17 ralfthewise kernel: [12032.154809] xhci_hcd
 :08:00.0: ERROR no room on ep ring
 Jul 12 17:09:17 ralfthewise kernel: [12032.162339] usb 5-2.3: ath9k_htc:
 Unable to allocate URBs
 Jul 12 17:09:17 ralfthewise kernel: [12032.162369] ath9k_htc: probe of
 5-2.3:1.0 failed with error -22



 --
 David M. Zendzian | Managing Partner | ZZ Servers
 268 Bush St. #4127 | San Francisco, CA 94104
 T: 415-593-5593 ext 369 | F: 415-901-6625

 Email : d...@zzservers.com

 Business Hosting Solutions | PCI | HIPAA
 Managed Hosting Specialists


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



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


[ath9k-devel] [PATCH v4 00/10] Add support for WOW in ath9k

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Add support for hardware WoW in ath9k. Magic-packet,
beacon loss triggers, deauth/disassoc patterns
(a special case of user pattern) are tested. 
User pattern needs a bit of investigation
on parsing to appropriate 802.11 format.
we will do more rigorous testing and address bugs.

Thanks a lot to Vadivel for providing me the hardware and
inputs to test. Thanks to Rajkumar, Sujith for their review 
Russell for his all help. Thanks to Aeolous, Senthil and Raja. 
Thanks a lot to Luis for providing the complete
frame work for WoW in his initial wow patches.

Mohammed Shafi Shajakhan (10):
  ath9k_hw: Add register definitions for WoW support
  ath9k: Add definitions and structures to support WoW
  ath9k_hw: Add WoW hardware capability flags
  ath9k_hw: advertise WoW support for capable chipsets
  ath9k: advertise supported WoW flags to upper layer
  ath9k_hw: INI changes for WoW for AR9002 chipsets
  ath9k_hw: Add hardware code for WoW
  ath: Add Wake-on-Wireless debug mask
  ath9k: Add WoW related mac80211 callbacks
  ath9k: do not disable hardware while wow is enabled

 drivers/net/wireless/ath/ath.h   |2 +
 drivers/net/wireless/ath/ath9k/Makefile  |1 +
 drivers/net/wireless/ath/ath9k/ar9002_hw.c   |5 +
 drivers/net/wireless/ath/ath9k/ar9002_initvals.h |   14 +
 drivers/net/wireless/ath/ath9k/ath9k.h   |   13 +
 drivers/net/wireless/ath/ath9k/hw.c  |8 +
 drivers/net/wireless/ath/ath9k/hw.h  |   82 
 drivers/net/wireless/ath/ath9k/init.c|   18 +
 drivers/net/wireless/ath/ath9k/main.c|  373 +++
 drivers/net/wireless/ath/ath9k/pci.c |3 +
 drivers/net/wireless/ath/ath9k/reg.h |  145 ++-
 drivers/net/wireless/ath/ath9k/wow.c |  532 ++
 12 files changed, 1195 insertions(+), 1 deletions(-)
 create mode 100644 drivers/net/wireless/ath/ath9k/wow.c

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


[ath9k-devel] [PATCH v4 01/10] ath9k_hw: Add register definitions for WoW support

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

*MAC WoW registers

back-off shift, MAC interrupt enable, magic packet enable,
pattern match enable, aifs, slot wait period, keep alive
frame failure count, beacon fail enable, beacon timeout,
keep alive timeout, auto keep alive disable,
keep alive fail disable and their corresponding
status registers. keep alive frame delay,
pattern end/byte offsets, transmit buffers for
keep alive frames and storing the user patterns

*Power Management Control registers

pme_d3cold_vaux, host_pme_enable, aux_pwr_detect,
power_state_mask, wow_pme_clear

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/reg.h |  145 +-
 1 files changed, 144 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/reg.h 
b/drivers/net/wireless/ath/ath9k/reg.h
index 22d2413..38f79d5 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -696,9 +696,12 @@
 #define AR_WA_BIT7 (1  7)
 #define AR_WA_BIT23(1  23)
 #define AR_WA_D3_L1_DISABLE(1  14)
+#define AR_WA_UNTIE_RESET_EN   (1  15) /* Enable PCI Reset
+to POR (power-on-reset) */
 #define AR_WA_D3_TO_L1_DISABLE_REAL (1  16)
 #define AR_WA_ASPM_TIMER_BASED_DISABLE  (1  17)
-#define AR_WA_RESET_EN  (1  18) /* Sw Control to enable 
PCI-Reset to POR (bit 15) */
+#define AR_WA_RESET_EN  (1  18) /* Enable PCI-Reset to
+POR (bit 15) */
 #define AR_WA_ANALOG_SHIFT  (1  20)
 #define AR_WA_POR_SHORT (1  21) /* PCI-E Phy reset control */
 #define AR_WA_BIT22(1  22)
@@ -1032,6 +1035,8 @@ enum {
 #define AR_PCIE_PM_CTRL  (AR_SREV_9340(ah) ? 0x4004 : 
0x4014)
 #define AR_PCIE_PM_CTRL_ENA  0x0008
 
+#define AR_PCIE_PHY_REG30x18c08
+
 #define AR_NUM_GPIO  14
 #define AR928X_NUM_GPIO  10
 #define AR9285_NUM_GPIO  12
@@ -1235,6 +1240,8 @@ enum {
 #define AR_RTC_PLL_CLKSEL   0x0300
 #define AR_RTC_PLL_CLKSEL_S 8
 #define AR_RTC_PLL_BYPASS  0x0001
+#define AR_RTC_PLL_NOPWD   0x0004
+#define AR_RTC_PLL_NOPWD_S 18
 
 #define PLL3 0x16188
 #define PLL3_DO_MEAS_MASK 0x4000
@@ -1887,6 +1894,8 @@ enum {
 #define AR_PCU_MISC_MODE2_HWWAR2   0x0200
 #define AR_PCU_MISC_MODE2_RESERVED20xFFFE
 
+#define AR_PCU_MISC_MODE3 0x83d0
+
 #define AR_MAC_PCU_ASYNC_FIFO_REG3 0x8358
 #define AR_MAC_PCU_ASYNC_FIFO_REG3_DATAPATH_SEL0x0400
 #define AR_MAC_PCU_ASYNC_FIFO_REG3_SOFT_RESET  0x8000
@@ -1909,6 +1918,140 @@ enum {
 #define AR_RATE_DURATION_32 0x8780
 #define AR_RATE_DURATION(_n)(AR_RATE_DURATION_0 + ((_n)2))
 
+/* WoW - Wake On Wireless */
+
+#define AR_PMCTRL_AUX_PWR_DET  0x1000 /* Puts Chip in L2 state */
+#define AR_PMCTRL_D3COLD_VAUX  0x0080
+#define AR_PMCTRL_HOST_PME_EN  0x0040 /* Send OOB WAKE_L on WoW
+ event */
+#define AR_PMCTRL_WOW_PME_CLR  0x0020 /* Clear WoW event */
+#define AR_PMCTRL_PWR_STATE_MASK   0x0f00 /* Power State Mask */
+#define AR_PMCTRL_PWR_STATE_D1D3   0x0f00 /* Activate D1 and D3 */
+#define AR_PMCTRL_PWR_STATE_D1D3_REAL  0x0f00 /* Activate D1 and D3 */
+#define AR_PMCTRL_PWR_STATE_D0 0x0800 /* Activate D0 */
+#define AR_PMCTRL_PWR_PM_CTRL_ENA  0x8000 /* Enable power mgmt */
+
+#define AR_WOW_BEACON_TIMO_MAX 0x
+
+/*
+ * MAC WoW Registers
+ */
+
+#define AR_WOW_PATTERN 0x825C
+#define AR_WOW_COUNT   0x8260
+#define AR_WOW_BCN_EN  0x8270
+#define AR_WOW_BCN_TIMO0x8274
+#define AR_WOW_KEEP_ALIVE_TIMO 0x8278
+#define AR_WOW_KEEP_ALIVE  0x827c
+#define AR_WOW_US_SCALAR   0x8284
+#define AR_WOW_KEEP_ALIVE_DELAY0x8288
+#define AR_WOW_PATTERN_MATCH   0x828c
+#define AR_WOW_PATTERN_OFF10x8290  /* pattern bytes 0 - 3 */
+#define AR_WOW_PATTERN_OFF20x8294  /* pattern bytes 4 - 7 */
+
+/* for AR9285 or later version of chips */
+#define AR_WOW_EXACT   0x829c
+#define AR_WOW_LENGTH1 0x8360
+#define AR_WOW_LENGTH2 0X8364
+/* register to enable match for less than 256 bytes packets */
+#define AR_WOW_PATTERN_MATCH_LT_256B

[ath9k-devel] [PATCH v4 02/10] ath9k: Add definitions and structures to support WoW

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

*add structures, macros and variables for WoW, so that the driver
can make use of it.
*maintain a list for user enabled patterns and masks
*track pattern slots for the hardware limitation on the
maximum number of patterns that can be stored.
*track interrupts enabled before WoW suspend, so
that can be reconfigured after resume
*have macros to parse user defined wow configurations to
hardware code

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ath9k.h |   12 +++
 drivers/net/wireless/ath/ath9k/hw.h|   34 
 2 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h 
b/drivers/net/wireless/ath/ath9k/ath9k.h
index 79840d6..f9c88dc 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -510,6 +510,12 @@ static inline void ath9k_btcoex_stop_gen_timer(struct 
ath_softc *sc)
 }
 #endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */
 
+struct ath9k_wow_pattern {
+   u8 pattern_bytes[MAX_PATTERN_SIZE];
+   u8 mask_bytes[MAX_PATTERN_SIZE];
+   u32 pattern_len;
+};
+
 //
 /*   LED Control*/
 //
@@ -711,6 +717,12 @@ struct ath_softc {
struct ath_ant_comb ant_comb;
u8 ant_tx, ant_rx;
struct dfs_pattern_detector *dfs_detector;
+
+#ifdef CONFIG_PM_SLEEP
+   atomic_t wow_got_bmiss_intr;
+   atomic_t wow_sleep_proc_intr; /* in the middle of WoW sleep ? */
+   u32 wow_intr_before_sleep;
+#endif
 };
 
 void ath9k_tasklet(unsigned long data);
diff --git a/drivers/net/wireless/ath/ath9k/hw.h 
b/drivers/net/wireless/ath/ath9k/hw.h
index 26da173..912f340 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -180,6 +180,37 @@
 #define PAPRD_TABLE_SZ 24
 #define PAPRD_IDEAL_AGC2_PWR_RANGE 0xe0
 
+/*
+ * Wake on Wireless
+ */
+
+/* Keep Alive Frame */
+#define KAL_FRAME_LEN  28
+#define KAL_FRAME_TYPE 0x2 /* data frame */
+#define KAL_FRAME_SUB_TYPE 0x4 /* null data frame */
+#define KAL_DURATION_ID0x3d
+#define KAL_NUM_DATA_WORDS 6
+#define KAL_NUM_DESC_WORDS 12
+#define KAL_ANTENNA_MODE   1
+#define KAL_TO_DS  1
+#define KAL_DELAY  4   /*delay of 4ms between 2 KAL frames */
+#define KAL_TIMEOUT900
+
+#define MAX_PATTERN_SIZE   256
+#define MAX_PATTERN_MASK_SIZE  32
+#define MAX_NUM_PATTERN8
+#define MAX_NUM_USER_PATTERN   6 /*  deducting the disassociate and
+ deauthenticate packets */
+
+/*
+ * WoW trigger mapping to hardware code
+ */
+
+#define AH_WOW_USER_PATTERN_EN BIT(0)
+#define AH_WOW_MAGIC_PATTERN_ENBIT(1)
+#define AH_WOW_LINK_CHANGE BIT(2)
+#define AH_WOW_BEACON_MISS BIT(3)
+
 enum ath_hw_txq_subtype {
ATH_TXQ_AC_BE = 0,
ATH_TXQ_AC_BK = 1,
@@ -863,6 +894,9 @@ struct ath_hw {
/* Enterprise mode cap */
u32 ent_mode;
 
+#ifdef CONFIG_PM_SLEEP
+   u32 wow_event_mask;
+#endif
bool is_clk_25mhz;
int (*get_mac_revision)(void);
int (*external_reset)(void);
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 03/10] ath9k_hw: Add WoW hardware capability flags

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

have seperate wow capability flags for
*basic wow support
*device capable of matching exact user defined pattern
or de-authentication/disassoc pattern
*device such AR9280 requires first four bytes for
all sort of patterns

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/hw.h |   14 ++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.h 
b/drivers/net/wireless/ath/ath9k/hw.h
index 912f340..09f6c07 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -243,8 +243,22 @@ enum ath9k_hw_caps {
ATH9K_HW_CAP_RTT= BIT(14),
ATH9K_HW_CAP_MCI= BIT(15),
ATH9K_HW_CAP_DFS= BIT(16),
+   ATH9K_HW_WOW_DEVICE_CAPABLE = BIT(17),
+   ATH9K_HW_WOW_PATTERN_MATCH_EXACT= BIT(18),
+   ATH9K_HW_WOW_PATTERN_MATCH_DWORD= BIT(19),
 };
 
+/*
+ * WoW device capabilities
+ * @ATH9K_HW_WOW_DEVICE_CAPABLE: device revision is capable of WoW.
+ * @ATH9K_HW_WOW_PATTERN_MATCH_EXACT: device is capable of matching
+ * an exact user defined pattern or de-authentication/disassoc pattern.
+ * @ATH9K_HW_WOW_PATTERN_MATCH_DWORD: device requires the first four
+ * bytes of the pattern for user defined pattern, de-authentication and
+ * disassociation patterns for all types of possible frames recieved
+ * of those types.
+ */
+
 struct ath9k_hw_capabilities {
u32 hw_caps; /* ATH9K_HW_CAP_* from ath9k_hw_caps */
u16 rts_aggr_limit;
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 04/10] ath9k_hw: advertise WoW support for capable chipsets

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

support WoW for all chipsets starting from AR9280, AR9285, AR9287,
AR9380, AR9382, AR9485, AR9462. Really all hardware may not support
WoW even though the flag is set and the WoW working depends on
your laptop, BIOS apart from the hardware.

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/hw.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c 
b/drivers/net/wireless/ath/ath9k/hw.c
index c1659d0..9c8e0d8 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2589,6 +2589,14 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
}
 
 
+   if (AR_SREV_9280_20_OR_LATER(ah)) {
+   pCap-hw_caps |= ATH9K_HW_WOW_DEVICE_CAPABLE |
+ATH9K_HW_WOW_PATTERN_MATCH_EXACT;
+
+   if (AR_SREV_9280(ah))
+   pCap-hw_caps |= ATH9K_HW_WOW_PATTERN_MATCH_DWORD;
+   }
+
return 0;
 }
 
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 05/10] ath9k: advertise supported WoW flags to upper layer

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

currently the code supports WoW triggers due to
*magic packet
*user defined patterns
*deauth and disassoc patterns
*disconnect - beacon miss, last beacon received timeout,
no ack for keeep alive frames.

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/init.c |   18 ++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c 
b/drivers/net/wireless/ath/ath9k/init.c
index 9dfce1a..af95d18 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -713,6 +713,24 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct 
ieee80211_hw *hw)
hw-wiphy-flags |= WIPHY_FLAG_SUPPORTS_TDLS;
hw-wiphy-flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
 
+#ifdef CONFIG_PM_SLEEP
+
+   if ((ah-caps.hw_caps  ATH9K_HW_WOW_DEVICE_CAPABLE) 
+   device_can_wakeup(sc-dev)) {
+
+   hw-wiphy-wowlan.flags = WIPHY_WOWLAN_MAGIC_PKT |
+ WIPHY_WOWLAN_DISCONNECT;
+   hw-wiphy-wowlan.n_patterns = MAX_NUM_USER_PATTERN;
+   hw-wiphy-wowlan.pattern_min_len = 1;
+   hw-wiphy-wowlan.pattern_max_len = MAX_PATTERN_SIZE;
+
+   }
+
+   atomic_set(sc-wow_sleep_proc_intr, -1);
+   atomic_set(sc-wow_got_bmiss_intr, -1);
+
+#endif
+
hw-queues = 4;
hw-max_rates = 4;
hw-channel_change_time = 5000;
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 06/10] ath9k_hw: INI changes for WoW for AR9002 chipsets

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

for AR9002 family of chipsets and for WoW sleep, we reprogram
the SerDes so that the PLL and CHK REQ are both enabled. this
uses more power but in certain cases this is required as otherwise
WoW sleep is unstable and chip may disappear.

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ar9002_hw.c   |5 +
 drivers/net/wireless/ath/ath9k/ar9002_initvals.h |   14 ++
 drivers/net/wireless/ath/ath9k/hw.h  |3 +++
 3 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar9002_hw.c 
b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
index edf21ea..0e6ee60 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
@@ -43,6 +43,11 @@ static void ar9002_hw_init_mode_regs(struct ath_hw *ah)
INIT_INI_ARRAY(ah-iniPcieSerdes,
   ar9280PciePhy_clkreq_always_on_L1_9280,
   ARRAY_SIZE(ar9280PciePhy_clkreq_always_on_L1_9280), 
2);
+#ifdef CONFIG_PM_SLEEP
+   INIT_INI_ARRAY(ah-iniPcieSerdesWow,
+  ar9280PciePhy_awow,
+  ARRAY_SIZE(ar9280PciePhy_awow), 2);
+#endif
 
if (AR_SREV_9287_11_OR_LATER(ah)) {
INIT_INI_ARRAY(ah-iniModes, ar9287Modes_9287_1_1,
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_initvals.h 
b/drivers/net/wireless/ath/ath9k/ar9002_initvals.h
index 4d18c66..beb6162 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar9002_initvals.h
@@ -925,6 +925,20 @@ static const u32 
ar9280PciePhy_clkreq_always_on_L1_9280[][2] = {
{0x4044, 0x},
 };
 
+static const u32 ar9280PciePhy_awow[][2] = {
+   /* Addr  allmodes  */
+   {0x4040, 0x9248fd00},
+   {0x4040, 0x24924924},
+   {0x4040, 0xa819},
+   {0x4040, 0x13160820},
+   {0x4040, 0xe5980560},
+   {0x4040, 0xc01dcffd},
+   {0x4040, 0x1aaabe41},
+   {0x4040, 0xbe105554},
+   {0x4040, 0x00043007},
+   {0x4044, 0x},
+};
+
 static const u32 ar9285Modes_9285_1_2[][5] = {
/* Addr  5G_HT20 5G_HT40 2G_HT40 2G_HT20   */
{0x1030, 0x0230, 0x0460, 0x02c0, 0x0160},
diff --git a/drivers/net/wireless/ath/ath9k/hw.h 
b/drivers/net/wireless/ath/ath9k/hw.h
index 09f6c07..51589fd 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -860,6 +860,9 @@ struct ath_hw {
struct ar5416IniArray iniBank7;
struct ar5416IniArray iniAddac;
struct ar5416IniArray iniPcieSerdes;
+#ifdef CONFIG_PM_SLEEP
+   struct ar5416IniArray iniPcieSerdesWow;
+#endif
struct ar5416IniArray iniPcieSerdesLowPower;
struct ar5416IniArray iniModesFastClock;
struct ar5416IniArray iniAdditional;
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 07/10] ath9k_hw: Add hardware code for WoW

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

add a new file wow.c which takes care of the hardware code
for WoW.

*program the descriptors and data words to periodically
send Keep Alive Frames.
*program the user defined patterns/masks and pattern length
in the hardware registers.
*'ath9k_hw_wow_enable' is called during the drivers suspend
callback which takes care of the following
- tracking wow event mask (to suppress spurious
  wow events)
- properly configure suspend/resume WAR registers
- configure PCIE PM control register
- configure MAC WoW registers and their timeouts
- enabling wow configuration like magic packet,
  user patterns based on users configuration
- configuring timeouts for KAL, beacon miss,
  aifs, slot time, backoff
- create Keep Alive Pattern ('KAL')
*'ath9k_hw_wow_wakeup' is called during the drivers resume
callback which takes care of the following
- primary task is to find the reason for wakeup
  from the wow status register
- configure/restore AR_PCIE_PM_CTRL register
- clear all WoW events
- configure/restore suspend/resume WAR registers

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez mcg...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/Makefile |1 +
 drivers/net/wireless/ath/ath9k/hw.h |   31 ++
 drivers/net/wireless/ath/ath9k/wow.c|  532 +++
 3 files changed, 564 insertions(+), 0 deletions(-)
 create mode 100644 drivers/net/wireless/ath/ath9k/wow.c

diff --git a/drivers/net/wireless/ath/ath9k/Makefile 
b/drivers/net/wireless/ath/ath9k/Makefile
index 9c41232..2ad8f94 100644
--- a/drivers/net/wireless/ath/ath9k/Makefile
+++ b/drivers/net/wireless/ath/ath9k/Makefile
@@ -17,6 +17,7 @@ ath9k-$(CONFIG_ATH9K_DFS_CERTIFIED) += \
dfs.o \
dfs_pattern_detector.o \
dfs_pri_detector.o
+ath9k-$(CONFIG_PM_SLEEP) += wow.o
 
 obj-$(CONFIG_ATH9K) += ath9k.o
 
diff --git a/drivers/net/wireless/ath/ath9k/hw.h 
b/drivers/net/wireless/ath/ath9k/hw.h
index 51589fd..7b15ff6 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -1112,6 +1112,37 @@ ath9k_hw_get_btcoex_scheme(struct ath_hw *ah)
 }
 #endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */
 
+
+#ifdef CONFIG_PM_SLEEP
+const char *ath9k_hw_wow_event_to_string(u32 wow_event);
+void ath9k_hw_wow_apply_pattern(struct ath_hw *ah, u8 *user_pattern,
+   u8 *user_mask, int pattern_count,
+   int pattern_len);
+u32 ath9k_hw_wow_wakeup(struct ath_hw *ah);
+void ath9k_hw_wow_enable(struct ath_hw *ah, u32 pattern_enable);
+#else
+static inline const char *ath9k_hw_wow_event_to_string(u32 wow_event)
+{
+   return NULL;
+}
+static inline void ath9k_hw_wow_apply_pattern(struct ath_hw *ah,
+ u8 *user_pattern,
+ u8 *user_mask,
+ int pattern_count,
+ int pattern_len)
+{
+}
+static inline u32 ath9k_hw_wow_wakeup(struct ath_hw *ah)
+{
+   return 0;
+}
+static inline void ath9k_hw_wow_enable(struct ath_hw *ah, u32 pattern_enable)
+{
+}
+#endif
+
+
+
 #define ATH9K_CLOCK_RATE_CCK   22
 #define ATH9K_CLOCK_RATE_5GHZ_OFDM 40
 #define ATH9K_CLOCK_RATE_2GHZ_OFDM 44
diff --git a/drivers/net/wireless/ath/ath9k/wow.c 
b/drivers/net/wireless/ath/ath9k/wow.c
new file mode 100644
index 000..44a08eb
--- /dev/null
+++ b/drivers/net/wireless/ath/ath9k/wow.c
@@ -0,0 +1,532 @@
+/*
+ * Copyright (c) 2012 Qualcomm Atheros, Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include linux/export.h
+#include ath9k.h
+#include reg.h
+#include hw-ops.h
+
+const char *ath9k_hw_wow_event_to_string(u32 wow_event)
+{
+   if (wow_event  AH_WOW_MAGIC_PATTERN_EN)
+   return Magic pattern;
+   if (wow_event  AH_WOW_USER_PATTERN_EN)
+   return User pattern;
+   if (wow_event

[ath9k-devel] [PATCH v4 08/10] ath: Add Wake-on-Wireless debug mask

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

to help the developers and users to debug/know
whats happening with WoW

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index 420d69b..6169fbd 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -216,6 +216,7 @@ void ath_printk(const char *level, const struct ath_common 
*common,
  * used exclusively for WLAN-BT coexistence starting from
  * AR9462.
  * @ATH_DBG_DFS: radar datection
+ * @ATH_DBG_WOW: Wake on Wireless
  * @ATH_DBG_ANY: enable all debugging
  *
  * The debug level is used to control the amount and type of debugging output
@@ -243,6 +244,7 @@ enum ATH_DEBUG {
ATH_DBG_BSTUCK  = 0x8000,
ATH_DBG_MCI = 0x0001,
ATH_DBG_DFS = 0x0002,
+   ATH_DBG_WOW = 0x0004,
ATH_DBG_ANY = 0x
 };
 
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v4 09/10] ath9k: Add WoW related mac80211 callbacks

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

add suspend/resume/set_wakeup callbacks to the driver

*suspend

- bail out only if all the conditions for configuring WoW.
  is fine, currently multivif case is not handled
- check for associated state.
- map wow triggers from user space data.
- add deauth/disassoc pattern and user defined pattern,
  for the later a list is maintained.
- store the interrupt mask before suspend, enabled beacon
  miss interrupt for WoW.
- configure WoW in the hardware by calling ath9k_hw_wow_enable.

*resume

- restore the interrupts based on the interrupt mask
  stored before suspend.
- call ath9k_hw_wow_wakeup to configure/restore the hardware.
- after wow wakeup clear away WoW events and query the
  WoW wakeup reason from the status register

*set_wakeup

- to call 'device_set_wakeup_enable' from cfg80211/mac80211
  when wow is configured and as per Rafael/Johannnes the
  right way to do so rather in the driver suspend/resume
  call back

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/ath9k.h |1 +
 drivers/net/wireless/ath/ath9k/main.c  |  373 
 2 files changed, 374 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h 
b/drivers/net/wireless/ath/ath9k/ath9k.h
index f9c88dc..54f0c9d 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -717,6 +717,7 @@ struct ath_softc {
struct ath_ant_comb ant_comb;
u8 ant_tx, ant_rx;
struct dfs_pattern_detector *dfs_detector;
+   u32 wow_enabled;
 
 #ifdef CONFIG_PM_SLEEP
atomic_t wow_got_bmiss_intr;
diff --git a/drivers/net/wireless/ath/ath9k/main.c 
b/drivers/net/wireless/ath/ath9k/main.c
index 248e5b2..01a5f18 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -493,6 +493,17 @@ irqreturn_t ath_isr(int irq, void *dev)
if (status  SCHED_INTR)
sched = true;
 
+#ifdef CONFIG_PM_SLEEP
+   if (status  ATH9K_INT_BMISS) {
+   if (atomic_read(sc-wow_sleep_proc_intr) == 0) {
+   ath_dbg(common, ANY, during WoW we got a BMISS\n);
+   atomic_inc(sc-wow_got_bmiss_intr);
+   atomic_dec(sc-wow_sleep_proc_intr);
+   }
+   ath_dbg(common, INTERRUPT, beacon miss interrupt\n);
+   }
+#endif
+
/*
 * If a FATAL or RXORN interrupt is received, we have to reset the
 * chip immediately.
@@ -2075,6 +2086,362 @@ static void ath9k_get_et_stats(struct ieee80211_hw *hw,
 #endif
 
 
+#ifdef CONFIG_PM_SLEEP
+
+static void ath9k_wow_map_triggers(struct ath_softc *sc,
+  struct cfg80211_wowlan *wowlan,
+  u32 *wow_triggers)
+{
+   if (wowlan-disconnect)
+   *wow_triggers |= AH_WOW_LINK_CHANGE |
+AH_WOW_BEACON_MISS;
+   if (wowlan-magic_pkt)
+   *wow_triggers |= AH_WOW_MAGIC_PATTERN_EN;
+
+   if (wowlan-n_patterns)
+   *wow_triggers |= AH_WOW_USER_PATTERN_EN;
+
+   sc-wow_enabled = *wow_triggers;
+
+}
+
+static void ath9k_wow_add_disassoc_deauth_pattern(struct ath_softc *sc)
+{
+   struct ath_hw *ah = sc-sc_ah;
+   struct ath_common *common = ath9k_hw_common(ah);
+   struct ath9k_hw_capabilities *pcaps = ah-caps;
+   int pattern_count = 0;
+   int i, byte_cnt;
+   u8 dis_deauth_pattern[MAX_PATTERN_SIZE];
+   u8 dis_deauth_mask[MAX_PATTERN_SIZE];
+
+   memset(dis_deauth_pattern, 0, MAX_PATTERN_SIZE);
+   memset(dis_deauth_mask, 0, MAX_PATTERN_SIZE);
+
+   /*
+* Create Dissassociate / Deauthenticate packet filter
+*
+* 2 bytes2 byte6 bytes   6 bytes  6 bytes
+*  +--+--+-+++
+*  + Frame Control+ Duration +   DA+  SA+  BSSID +
+*  +--+--+-+++
+*
+* The above is the management frame format for disassociate/
+* deauthenticate pattern, from this we need to match the first byte
+* of 'Frame Control' and DA, SA, and BSSID fields
+* (skipping 2nd byte of FC and Duration feild.
+*
+* Disassociate pattern
+* 
+* Frame control = 00 00 1010
+* DA, SA, BSSID = x:x:x:x:x:x
+* Pattern will be A000 | x:x:x:x:x:x | x:x:x:x:x:x
+*  | x:x:x:x:x:x  -- 22 bytes
+*
+* Deauthenticate pattern
+* --
+* Frame control = 00 00 1100
+* DA, SA, BSSID = x:x:x:x:x:x
+* Pattern will be C000 | x:x:x:x:x:x

[ath9k-devel] [PATCH v4 10/10] ath9k: do not disable hardware while wow is enabled

2012-07-10 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Hardware needs to be AWAKE and should maintain association
with the AP to process WoW triggers any time

Cc: Senthil Balasubramanian senth...@qca.qualcomm.com
Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/pci.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/pci.c 
b/drivers/net/wireless/ath/ath9k/pci.c
index aa0e83a..87b89d5 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -313,6 +313,9 @@ static int ath_pci_suspend(struct device *device)
struct ieee80211_hw *hw = pci_get_drvdata(pdev);
struct ath_softc *sc = hw-priv;
 
+   if (sc-wow_enabled)
+   return 0;
+
/* The device has to be moved to FULLSLEEP forcibly.
 * Otherwise the chip never moved to full sleep,
 * when no interface is up.
-- 
1.7.0.4

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


Re: [ath9k-devel] Setting up ath9k in 5GHz AP mode

2012-07-09 Thread Mohammed Shafi
On Mon, Jul 9, 2012 at 12:15 PM, Dhruv Naithani dhruv...@buffalo.edu wrote:
 I have configured my laptop in access point mode at 2.412 GHz. I am
 trying to change that to the 5GHz range. So far i am not able to do
 so.

related thread
http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg05989.html


 Does atheros 9K support the 5Ghz operating frequency in both 20Mhz and
 40Mhz for 802.11n ? If yes how do i set the parameters to enable this
 feature?

 Currently it is set at 2.412 GHz.
 The hostapd.conf is as follows:

 driver=nl80211
 interface=wlan1
 ssid=xxx
 channel=1
 hw_mode=g
 auth_algs=1
 ieee80211n=1
 wme_enabled=1
 wmm_enabled=1
 ht_capab=[TX-STBC][RX-STBC]


 On running iw list, the 5 GHz channels are set to passive scanning

 Band 2:
 Capabilities: 0x11ef
 RX LDPC
 HT20/HT40
 SM Power Save disabled
 RX HT20 SGI
 RX HT40 SGI
 TX STBC
 RX STBC 1-stream
 Max AMSDU length: 3839 bytes
 DSSS/CCK HT40
 Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
 Minimum RX AMPDU time spacing: 8 usec (0x06)
 HT TX/RX MCS rate indexes supported: 0-15
 Frequencies:
 * 5180 MHz [36] (20.0 dBm) (passive scanning, no IBSS)
 * 5200 MHz [40] (20.0 dBm) (passive scanning, no IBSS)
 * 5220 MHz [44] (20.0 dBm) (passive scanning, no IBSS)
 * 5240 MHz [48] (20.0 dBm) (passive scanning, no IBSS)
 * 5260 MHz [52] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5280 MHz [56] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5300 MHz [60] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5320 MHz [64] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5500 MHz [100] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5520 MHz [104] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5540 MHz [108] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5560 MHz [112] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5580 MHz [116] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5600 MHz [120] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5620 MHz [124] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5640 MHz [128] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5660 MHz [132] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5680 MHz [136] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5700 MHz [140] (20.0 dBm) (passive scanning,
 no IBSS, radar detection)
 * 5745 MHz [149] (20.0 dBm) (passive scanning, no 
 IBSS)
 * 5765 MHz [153] (20.0 dBm) (passive scanning, no 
 IBSS)
 * 5785 MHz [157] (20.0 dBm) (passive scanning, no 
 IBSS)
 * 5805 MHz [161] (20.0 dBm) (passive scanning, no 
 IBSS)
 * 5825 MHz [165] (20.0 dBm) (passive scanning, no 
 IBSS)

 How do i change this?
 Thanks!
 ___
 ath9k-devel mailing list
 ath9k-devel@lists.ath9k.org
 https://lists.ath9k.org/mailman/listinfo/ath9k-devel



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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-09 Thread Mohammed Shafi
Hey Simon,

 we had this checked out before, the EEPROM/EEP_ANT_DIV_CTL1 value is set to 
 00c9,
 so bit 6 and 7 are on (as checked in this function).


this seems to match with the value AR9485. I am bit involved with some
other task which i need to finish
by some time. I will definitely get back to this once i am done with
that. Obviously i need to lot more
analysis and test in a shielded environment to get a grasp of this.
Further i can only ensure it in
AR9485.


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


Re: [ath9k-devel] [PATCH v2 1/2] ath9k: Fix MCI cleanup

2012-07-08 Thread Mohammed Shafi Shajakhan
Hi Julian,

On Monday 09 July 2012 04:57 AM, Julian Calaby wrote:
 Hi Mohammed,

 On Sat, Jul 7, 2012 at 12:39 AM, Mohammed Shafi Shajakhan
 moham...@qca.qualcomm.com wrote:
 From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

 We are doing MCI cleanup eventhough BTCOEX is not enabled
 via module parameter. This means we do ath_mci_cleanup
 though we skipped calling ath_mci_setup. Yet it does not
 causes any issues now  as we free the DMA buffer allocated
 only when it is allocated during ath_mci_setup.

 Reviewed-by: Bala Shanmugam bkama...@qca.qualcomm.com
 Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
 ---
   drivers/net/wireless/ath/ath9k/gpio.c |4 +++-
   1 files changed, 3 insertions(+), 1 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
 b/drivers/net/wireless/ath/ath9k/gpio.c
 index 5eac4d1..43557c2 100644
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
 @@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)

   void ath9k_deinit_btcoex(struct ath_softc *sc)
   {
 +   struct ath_hw *ah = sc-sc_ah;
 +

 Why introduce a new variable if you only use it once?


oh yeah, could have avoided that (or) could have make use of it instead 
of sc-sc_ah in 2 places of the same function!

if ((sc-btcoex.no_stomp_timer) 
 ath9k_hw_get_btcoex_scheme(sc-sc_ah) == ATH_BTCOEX_CFG_3WIRE)
 ath_gen_timer_free(sc-sc_ah, sc-btcoex.no_stomp_timer);

thanks for your review, John had already merged with patch.
We could cleanup this in some future cleanups.


-- 
thanks,
shafi


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


Re: [ath9k-devel] [PATCH v3 00/10] Add support for WOW in ath9k

2012-07-07 Thread Mohammed Shafi Shajakhan
Hi John,

On Saturday 07 July 2012 01:05 AM, John W. Linville wrote:
 Is there going to be a repost of this series?  It looked like Sujith
 had a number of concerns.

yes, need to send a v4, that should address most of his concerns.
never got some time to look back, should start now! thanks.


 On Mon, Jun 25, 2012 at 07:42:49PM +0530, Mohammed Shafi Shajakhan wrote:
 From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

 Add support for hardware WoW in ath9k. Magic-packet,
 beacon loss triggers, deauth/disassoc patterns
 (a special case of user pattern) are tested with
 AR9485. User pattern needs a bit of investigation
 on parsing to appropriate 802.11 format.
 we will do more rigorous testing and address bugs.
 Also we will quickly validate with chipsets like
 AR9462, AR9280, AR9285, AR9287 for any bugs.

 Thanks a lot to Vadivel for providing me the hardware and
 inputs to test. Thanks to Rajkumar, Russell for
 their invaluable help. Thanks to Aeolous, Senthil and
 Sujith, Raja. Thanks a lot to Luis for providing the complete
 frame work for WoW in his initial wow patches.

 Mohammed Shafi Shajakhan (10):
ath9k_hw: Add register definitions for WoW support
ath9k: Add definitions and structures to support WoW
ath9k_hw: Add WoW hardware capability flags
ath9k_hw: advertise WoW support for capable chipsets
ath9k: advertise supported WoW flags to upper layer
ath9k_hw: INI changes for WoW for AR9002 chipsets
ath9k_hw: Add hardware code for WoW
ath: Add Wake-on-Wireless debug mask
ath9k: Add WoW related mac80211 callbacks
ath9k: do not disable hardware while wow is enabled

   drivers/net/wireless/ath/ath.h   |2 +
   drivers/net/wireless/ath/ath9k/Makefile  |1 +
   drivers/net/wireless/ath/ath9k/ar9002_hw.c   |5 +
   drivers/net/wireless/ath/ath9k/ar9002_initvals.h |   14 +
   drivers/net/wireless/ath/ath9k/ath9k.h   |   28 ++
   drivers/net/wireless/ath/ath9k/hw.c  |8 +
   drivers/net/wireless/ath/ath9k/hw.h  |   68 +++
   drivers/net/wireless/ath/ath9k/init.c|   17 +
   drivers/net/wireless/ath/ath9k/main.c|  390 +++
   drivers/net/wireless/ath/ath9k/pci.c |3 +
   drivers/net/wireless/ath/ath9k/reg.h |  145 ++-
   drivers/net/wireless/ath/ath9k/wow.c |  560 
 ++
   12 files changed, 1240 insertions(+), 1 deletions(-)
   create mode 100644 drivers/net/wireless/ath/ath9k/wow.c





-- 
thanks,
shafi


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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-07 Thread Mohammed Shafi
Hi Sven,

On Fri, Jul 6, 2012 at 10:05 PM, Sven Eckelmann s...@narfation.org wrote:
 On Friday 06 July 2012 17:13:42 Sven Eckelmann wrote:
 [...]
  I just also observer the chain0 is preferred unless the RSSI is so
  poor in it so chain1 is taken.
  Please check if this work out for your case too.

 Removing the antenna on chain0 doesn't change the alt_rssi value for us. We
 only noticed that frames with alt_rssi != -128 have  the value rx_ant_conf
 == 1 (LNA2) when only chain1 is attached and rx_ant_conf == 2 (LNA1) when
 both/chain0-only are attached. Still most of the packets had alt_rssi ==
 -128 and we saw changes in curr_main_set and curr_alt_set (after lot of
 data was sent).

 Here are some logs. We added some debug printk before first check in
 ath_ant_comb_scan (if (main_rssi  0  alt_rssi  0) {). We can see a
 difference in the output after (a more or less long time) both antennas were
 unplugged. The output looks extreme different when at least one antenna is
 attached.

thanks, i saw the logs. i could do some analysis with AR9485/AR9285.
as you had said before
alt_rssi is -128 when one antenna is unplugged, while having both out
seems to bring some
+tive value for alt_rssi.


 alt_ant_conf is calculated using
 alt_ant_conf = (rs-rs_rssi_ctl[2])  ATH_ANT_RX_MASK; and could be wrong.
 curr_alt_set and curr_main_set come from div_ant_conf queried using
 ath9k_hw_antdiv_comb_conf_get.

thanks i would check this out.  As the algorithm itself is bit
complex, i would just revisit
and check it out. If i remember correctly Fast antenna diversity was
working fine with AR9485.


 Kind regards
 Sven



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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-07 Thread Mohammed Shafi
On Sat, Jul 7, 2012 at 3:28 PM, Mohammed Shafi shafi.wirel...@gmail.com wrote:
 Hi Sven,

 On Fri, Jul 6, 2012 at 10:05 PM, Sven Eckelmann s...@narfation.org wrote:
 On Friday 06 July 2012 17:13:42 Sven Eckelmann wrote:
 [...]
  I just also observer the chain0 is preferred unless the RSSI is so
  poor in it so chain1 is taken.
  Please check if this work out for your case too.

 Removing the antenna on chain0 doesn't change the alt_rssi value for us. We
 only noticed that frames with alt_rssi != -128 have  the value rx_ant_conf
 == 1 (LNA2) when only chain1 is attached and rx_ant_conf == 2 (LNA1) when
 both/chain0-only are attached. Still most of the packets had alt_rssi ==
 -128 and we saw changes in curr_main_set and curr_alt_set (after lot of
 data was sent).

 Here are some logs. We added some debug printk before first check in
 ath_ant_comb_scan (if (main_rssi  0  alt_rssi  0) {). We can see a
 difference in the output after (a more or less long time) both antennas were
 unplugged. The output looks extreme different when at least one antenna is
 attached.

 thanks, i saw the logs. i could do some analysis with AR9485/AR9285.
 as you had said before
 alt_rssi is -128 when one antenna is unplugged, while having both out
 seems to bring some
 +tive value for alt_rssi.


 alt_ant_conf is calculated using
 alt_ant_conf = (rs-rs_rssi_ctl[2])  ATH_ANT_RX_MASK; and could be wrong.
 curr_alt_set and curr_main_set come from div_ant_conf queried using
 ath9k_hw_antdiv_comb_conf_get.

 thanks i would check this out.  As the algorithm itself is bit
 complex, i would just revisit
 and check it out. If i remember correctly Fast antenna diversity was
 working fine with AR9485.

further i check with the CCK/DETECT and MC_GAIN_CTRL in ar9485, it  seems to be
 ar9003_hw_ant_ctrl_apply CCK_DETECT 80be6788
 ar9003_hw_ant_ctrl_apply MC_GAIN_CTRLL 13ef0200
will check it out whats the one bit difference in CCK_DETECT




 Kind regards
 Sven



 --
 thanks,
 shafi



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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-07 Thread Mohammed Shafi
 further i check with the CCK/DETECT and MC_GAIN_CTRL in ar9485, it  seems to 
 be
  ar9003_hw_ant_ctrl_apply CCK_DETECT 80be6788
  ar9003_hw_ant_ctrl_apply MC_GAIN_CTRLL 13ef0200
 will check it out whats the one bit difference in CCK_DETECT

also could you provide the output of the attached patch, i would just
check the diversity
configuration


-- 
thanks,
shafi


div-eep-dump.patch
Description: Binary data
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-07 Thread Mohammed Shafi
Hi Sunil,


 We are facing similar problems with configuring the LNA2 of AR9331 for
 diversity. Even though we try to set the RXCHAINMASK = 0x03, on checking
 the value, it keeps showing as 0x01.

chainmask is indeed 1 and its correct

 (AR_SREV_9485(ah) || AR_SREV_9285(ah) || AR_SREV_9330(ah))
chip_chainmask = 1;



 We are currently using LSDK-9.2.0_U10.1020. It appears that some where the
 value may be hardcoded to 0x01 in this Release.

some internal build ?


 Can you suggest how to solve this.

 Regards,
 Sunil.


 On 7/7/12 3:44 PM, Mohammed Shafi shafi.wirel...@gmail.com wrote:

On Sat, Jul 7, 2012 at 3:28 PM, Mohammed Shafi shafi.wirel...@gmail.com
wrote:
 Hi Sven,

 On Fri, Jul 6, 2012 at 10:05 PM, Sven Eckelmann s...@narfation.org
wrote:
 On Friday 06 July 2012 17:13:42 Sven Eckelmann wrote:
 [...]
  I just also observer the chain0 is preferred unless the RSSI is so
  poor in it so chain1 is taken.
  Please check if this work out for your case too.

 Removing the antenna on chain0 doesn't change the alt_rssi value for
us. We
 only noticed that frames with alt_rssi != -128 have  the value
rx_ant_conf
 == 1 (LNA2) when only chain1 is attached and rx_ant_conf == 2 (LNA1)
when
 both/chain0-only are attached. Still most of the packets had alt_rssi
==
 -128 and we saw changes in curr_main_set and curr_alt_set (after lot
of
 data was sent).

 Here are some logs. We added some debug printk before first check in
 ath_ant_comb_scan (if (main_rssi  0  alt_rssi  0) {). We can see
a
 difference in the output after (a more or less long time) both
antennas were
 unplugged. The output looks extreme different when at least one
antenna is
 attached.

 thanks, i saw the logs. i could do some analysis with AR9485/AR9285.
 as you had said before
 alt_rssi is -128 when one antenna is unplugged, while having both out
 seems to bring some
 +tive value for alt_rssi.


 alt_ant_conf is calculated using
 alt_ant_conf = (rs-rs_rssi_ctl[2])  ATH_ANT_RX_MASK; and could be
wrong.
 curr_alt_set and curr_main_set come from div_ant_conf queried using
 ath9k_hw_antdiv_comb_conf_get.

 thanks i would check this out.  As the algorithm itself is bit
 complex, i would just revisit
 and check it out. If i remember correctly Fast antenna diversity was
 working fine with AR9485.

further i check with the CCK/DETECT and MC_GAIN_CTRL in ar9485, it  seems
to be
 ar9003_hw_ant_ctrl_apply CCK_DETECT 80be6788
 ar9003_hw_ant_ctrl_apply MC_GAIN_CTRLL 13ef0200
will check it out whats the one bit difference in CCK_DETECT




 Kind regards
 Sven



 --
 thanks,
 shafi



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





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


Re: [ath9k-devel] [PATCH v3 01/10] ath9k_hw: Add register definitions for WoW support

2012-07-07 Thread Mohammed Shafi
On Tue, Jun 26, 2012 at 9:58 AM, Mohammed Shafi Shajakhan
moham...@qca.qualcomm.com wrote:
 Hi Sujith,


 On Monday 25 June 2012 10:49 PM, Sujith Manoharan wrote:

 Mohammed Shafi Shajakhan wrote:

 From: Mohammed Shafi Shajakhanmoham...@qca.qualcomm.com

 *MAC WoW registers

 back-off shift, MAC interrupt enable, magic packet enable,
 pattern match enable, aifs, slot wait period, keep alive
 frame failure count, beacon fail enable, beacon timeout,
 keep alive timeout, auto keep alive disable,
 keep alive fail disable and their corresponding
 status registers. keep alive frame delay,
 pattern end/byte offsets, transmit buffers for
 keep alive frames and storing the user patterns

 *Power Management Control registers

 pme_d3cold_vaux, host_pme_enable, aux_pwr_detect,
 power_state_mask, wow_pme_clear


 The commit log could be trimmed to just say various WoW registers.

 +/* AR_WOW_PATTERN register values */
 +#define AR_WOW_BACK_OFF_SHIFT(x)   ((x  0xf)  28) /* in usecs */

 +#define AR_WOW_MAC_INTR_EN 0x0004
 +#define AR_WOW_MAGIC_EN0x0001
 +#define AR_WOW_PATTERN_EN(x)   (x  0xff)
 +#define AR_WOW_PAT_FOUND_SHIFT 8
 +#define AR_WOW_PATTERN_FOUND(x)(x  (0xff
 AR_WOW_PAT_FOUND_SHIFT))

 +#define AR_WOW_PATTERN_FOUND_MASK  ((0xff)
 AR_WOW_PAT_FOUND_SHIFT)
 +#define AR_WOW_MAGIC_PAT_FOUND 0x0002
 +#define AR_WOW_MAC_INTR0x0008
 +#define AR_WOW_KEEP_ALIVE_FAIL 0x0010
 +#define AR_WOW_BEACON_FAIL 0x0020
 +
 +#define AR_WOW_STATUS(x)   (x  (AR_WOW_PATTERN_FOUND_MASK |
 \

 + AR_WOW_MAGIC_PAT_FOUND|
 \
 + AR_WOW_KEEP_ALIVE_FAIL|
 \
 + AR_WOW_BEACON_FAIL))
 +#define AR_WOW_CLEAR_EVENTS(x) (x  ~(AR_WOW_PATTERN_EN(0xff) |
 \

 +  AR_WOW_MAGIC_EN | \
 +  AR_WOW_MAC_INTR_EN | \
 +  AR_WOW_BEACON_FAIL | \
 +  AR_WOW_KEEP_ALIVE_FAIL))
 +


 Indentation is off in many places, please fix it.



Lindent seems to complain about few of the comments after macros,
fixing them causes above 80 line stuff
will check this out if there is anything else missing


 --
 thanks,
 shafi

 --
 To unsubscribe from this list: send the line unsubscribe linux-wireless in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html



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


Re: [ath9k-devel] ath9k: Problems with diversity on AR9330

2012-07-06 Thread Mohammed Shafi
Hi Simon,

On Fri, Jul 6, 2012 at 6:20 PM, Simon Wunderlich
simon.wunderl...@s2003.tu-chemnitz.de wrote:
 Hey,

 we have trouble with an AR9330 (Hornet) based AP. This device has 2 antennas, 
 and is supposed to support diversity (2 RX, 1 TX). However, diversity is not 
 really enabled because the alternative antenna is not considered as good, 
 because not enough frames are received. It seems that at 99% of the time, 
 alt_rssi (read from rs-rs_rssi_ctl1) is invalid (set to ATH9K_RSSI_BAD, 
 -128), while main_rssi (read from rs-rs_rssi_ctl0) usually has sane values.

its been some good amount of time i had taken/tested take a look at
this. actually Gabor Juhos added the support for AR9330.
seems AR9003 family chipsets can exhibit this behaviour. i quickly
checked with AR9285(AR9002) which seems to have a positive RSSI
regulary in ctl0/ctl1.
i also have a AR9485(AR9003 family) which might be similar to AR9330.
just checked with removing the antenna in chain0 seems to bring
positive values in rssi_ctl1.
I just also observer the chain0 is preferred unless the RSSI is so
poor in it so chain1 is taken.
Please check if this work out for your case too.
also please see the throughput difference with/without antenna
diversity with one antenna broken.

I will check out the proper technical reason for such a
preference/compare with AR9285 (or) if its a bug in the code itself.
thanks for looking into this feature!


 We test by sending from a 1m distance (Laptop), and both antennas are 
 connected, so the alternative antenna should usually get some sane frames too.

 We have also tried to swap the antenna configuration of main and alt (LNA1 
 and LNA2), but only the alt_rssi will be invalid, and we then receive via the 
 alternative antenna. We therefore think that the antenna wiring is not the 
 problem.

 We have also checked EEPROM values, which seem to be correct as well. FYI, 
 register set after reading the EEPROM are:
 AR_PHY_MC_GAIN_CTRL = 13EF0200
 AR_PHY_CCK_DETECT = 803E6788

 Any ideas/pointers/suggestions?

 Thanks!
 Simon

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)

 iEYEARECAAYFAk/23yMACgkQrzg/fFk7axZ86wCg8A5QQH+H+8H8lMiqBeCpYIyN
 fhEAnjs+pcyM462tbkre2M342k8DEX0C
 =i53p
 -END PGP SIGNATURE-




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


[ath9k-devel] [PATCH v2 1/2] ath9k: Fix MCI cleanup

2012-07-06 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We are doing MCI cleanup eventhough BTCOEX is not enabled
via module parameter. This means we do ath_mci_cleanup
though we skipped calling ath_mci_setup. Yet it does not
causes any issues now  as we free the DMA buffer allocated
only when it is allocated during ath_mci_setup.

Reviewed-by: Bala Shanmugam bkama...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 5eac4d1..43557c2 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
 
 void ath9k_deinit_btcoex(struct ath_softc *sc)
 {
+   struct ath_hw *ah = sc-sc_ah;
+
 if ((sc-btcoex.no_stomp_timer) 
ath9k_hw_get_btcoex_scheme(sc-sc_ah) == ATH_BTCOEX_CFG_3WIRE)
ath_gen_timer_free(sc-sc_ah, sc-btcoex.no_stomp_timer);
 
-   if (AR_SREV_9462(sc-sc_ah))
+   if (ath9k_hw_mci_is_enabled(ah))
ath_mci_cleanup(sc);
 }
 
-- 
1.7.0.4

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


[ath9k-devel] [PATCH v2 2/2] ath9k: Stop the BTCOEX timers before disabling BTCOEX

2012-07-06 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Its safe to stop the BTCOEX timers 'period_timer' and
'no_stomp_timer' before disabling BTCOEX. These timers
can call ath9k_hw_btcoex_enable (or) change the BT
stomp type if they seem to be running after we had
called ath9k_hw_btcoex_disable, which is obviously
not correct.

Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: Bala Shanmugam bkama...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |2 +-
 drivers/net/wireless/ath/ath9k/mci.c  |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 43557c2..2830cbc 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -377,9 +377,9 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
 
if (ah-btcoex_hw.enabled 
ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) {
-   ath9k_hw_btcoex_disable(ah);
if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE)
ath9k_btcoex_timer_pause(sc);
+   ath9k_hw_btcoex_disable(ah);
if (AR_SREV_9462(ah))
ath_mci_flush_profile(sc-btcoex.mci);
}
diff --git a/drivers/net/wireless/ath/ath9k/mci.c 
b/drivers/net/wireless/ath/ath9k/mci.c
index 64cc782..87acff7 100644
--- a/drivers/net/wireless/ath/ath9k/mci.c
+++ b/drivers/net/wireless/ath/ath9k/mci.c
@@ -174,8 +174,8 @@ skip_tuning:
btcoex-btcoex_period = 1;
}
 
-   ath9k_hw_btcoex_disable(sc-sc_ah);
ath9k_btcoex_timer_pause(sc);
+   ath9k_hw_btcoex_disable(sc-sc_ah);
 
if (IS_CHAN_5GHZ(sc-sc_ah-curchan))
return;
-- 
1.7.0.4

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


Re: [ath9k-devel] does the ath9k support WiFi Direct?

2012-07-06 Thread Mohammed Shafi
On Fri, Apr 27, 2012 at 3:38 AM, Arash aras...@gmail.com wrote:
 Thanks Mohammad, I think that WiFi Direct is getting quite a bit of
 attraction and will be important for ath9k to get to support it. Realtek
 drivers are already supporting this feature...

had been such a fool to not know Wi-Fi direct is p2p,  Wi-Fi direct is
well supported in ath9k(except power save as Jouni mentioned).
we are also running regression tests to fix the latest issues. we
should be supporting more to coexist with other features!


 Regards,
 Arash


 On Thu, Apr 26, 2012 at 6:07 AM, Mohammed Shafi shafi.wirel...@gmail.com
 wrote:

 2012/4/26 万青松 wanqingsong_1...@126.com:
  It have been nearly 4 months after I send the question to the list, but
  nobody reply to it.
  So, bro, all up to you. I will look for your good news!

 please wait, i would search for it or check with some experts and tell :)

 
 
  At 2012-04-26 05:58:02,Arash aras...@gmail.com wrote:
 
  Dear all,
 
  I also have the same question. Is there any information on when and how
  the
  ath9k support for WiFi Direct will come along? Also can anyone comment
  on
  the relationship of WiFi Direct with the linux P2P?
 
  Thanks,
  Arash
 
  On Thu, Jan 12, 2012 at 1:58 AM, 万青松 wanqingsong_1...@126.com wrote:
 
  Hi All,
 
  My laptop's wireless adaptor is Atheros ar9285, does the latest ath9k
  driver support the Wi-Fi Direct ?
  If does, how to make it work?
 
  Any information is appreciated!
  Thanks!
 
 
 
  ___
  ath9k-devel mailing list
  ath9k-devel@lists.ath9k.org
  https://lists.ath9k.org/mailman/listinfo/ath9k-devel
 
 
 
 
  
  网易Lofter,专注兴趣,分享创作!
  ___
  ath9k-devel mailing list
  ath9k-devel@lists.ath9k.org
  https://lists.ath9k.org/mailman/listinfo/ath9k-devel
 



 --
 thanks,
 shafi





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


[ath9k-devel] [PATCH 1/2] ath9k: Fix MCI cleanup

2012-07-05 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We are doing MCI cleanup eventhough BTCOEX is not enabled
via module parameter. This means we do ath_mci_cleanup
though we skipped calling ath_mci_setup. Yet it does not
causes any issues now  as we free the DMA buffer allocated
only when it is allocated during ath_mci_setup.

Reviewed-by: Bala Shanmugam bkama...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 5eac4d1..43557c2 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
 
 void ath9k_deinit_btcoex(struct ath_softc *sc)
 {
+   struct ath_hw *ah = sc-sc_ah;
+
 if ((sc-btcoex.no_stomp_timer) 
ath9k_hw_get_btcoex_scheme(sc-sc_ah) == ATH_BTCOEX_CFG_3WIRE)
ath_gen_timer_free(sc-sc_ah, sc-btcoex.no_stomp_timer);
 
-   if (AR_SREV_9462(sc-sc_ah))
+   if (ath9k_hw_mci_is_enabled(ah))
ath_mci_cleanup(sc);
 }
 
-- 
1.7.0.4

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


Re: [ath9k-devel] Help needed to identify if the device works with ath9k

2012-07-04 Thread Mohammed Shafi
On Mon, Jul 2, 2012 at 10:36 PM, Amith Belur amit...@gmail.com wrote:
 I am using TP LINK TL-WN822N wireless device which has two chips. It works
 with Carl9170, however I would like to use ath9k which according to the site
 supports AR9102 which is one of the chips. I tried disabling Carl9170 driver
 my NIC was using and loading ath9k using modprobe. However, the device is
 not enabled with ath9k. Any pointers what needs to be done?

ath9k_htc supported devices
http://linuxwireless.org/en/users/Drivers/ath9k_htc/#Supported_Devices


 --
 Best Regards,
 Amith


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




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


Re: [ath9k-devel] Setting the cwmin WMM parameter in stations for ath9k

2012-07-04 Thread Mohammed Shafi
On Tue, Jul 3, 2012 at 11:42 AM, skeletor fan skeletorf...@gmail.com wrote:
 Hello all, does anyone know of a way in which I can set the cwmin, access
 class etc for a station using the ath9k driver. I understand that hostapd
 provides this on the AP side.

i think default values should be set by mac80211 void
ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
util.c



 Thanks,

 Victor

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




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


Re: [ath9k-devel] Connecting AR9390 to Lantiq board

2012-07-03 Thread Mohammed Shafi
On Tue, Jul 3, 2012 at 6:57 PM, Ana Elisa de Campos Lobo
al...@fitec.org.br wrote:
 Hi all,

 I´m completely newbie in Linux drivers. In my project we are planning to
 connect an AR9390 Atheros chip on a GRX288 Lantiq board. This board has a
 software framework (UGW 5.2) which is based on Linux kernel 2.6.32.42
 version and OpenWrt Backfire 10.03.

 I have some initial questions:

 ·   Does ATH9K driver support AR9390 chipset?

yes
http://www.mailrepository.com/message/3536978/


 ·   Which Linux kernel version is necessary to support AR9390 chipset? I
 didn´t find this chipset on the ATH9K driver site
 (http://linuxwireless.org/en/users/Drivers/ath9k), but according to the site
 AR9380 requires a Kernel version greater than 2.6.36.

 ·   Does anybody tried to connect AR9390 to a Lantiq board based on UGW
 software?

 Best regards,

 Ana


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




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


[ath9k-devel] [RFC] ath9k: Fix MCI cleanup

2012-07-03 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

We are doing MCI cleanup eventhough BTCOEX is not enabled
via module parameter. This means we do ath_mci_cleanup
though we skipped calling ath_mci_setup. Yet it does not
causes any issues now  as we free the DMA buffer allocated
only when it is allocated during ath_mci_setup.

Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 5eac4d1..43557c2 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
 
 void ath9k_deinit_btcoex(struct ath_softc *sc)
 {
+   struct ath_hw *ah = sc-sc_ah;
+
 if ((sc-btcoex.no_stomp_timer) 
ath9k_hw_get_btcoex_scheme(sc-sc_ah) == ATH_BTCOEX_CFG_3WIRE)
ath_gen_timer_free(sc-sc_ah, sc-btcoex.no_stomp_timer);
 
-   if (AR_SREV_9462(sc-sc_ah))
+   if (ath9k_hw_mci_is_enabled(ah))
ath_mci_cleanup(sc);
 }
 
-- 
1.7.0.4

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


Re: [ath9k-devel] [RFC] ath9k: Fix MCI cleanup

2012-07-03 Thread Mohammed Shafi Shajakhan
On Tuesday 03 July 2012 08:47 PM, Mohammed Shafi Shajakhan wrote:
 From: Mohammed Shafi Shajakhanmoham...@qca.qualcomm.com

 We are doing MCI cleanup eventhough BTCOEX is not enabled
 via module parameter. This means we do ath_mci_cleanup
 though we skipped calling ath_mci_setup. Yet it does not
 causes any issues now  as we free the DMA buffer allocated
 only when it is allocated during ath_mci_setup.

 Signed-off-by: Mohammed Shafi Shajakhanmoham...@qca.qualcomm.com
 ---
   drivers/net/wireless/ath/ath9k/gpio.c |4 +++-
   1 files changed, 3 insertions(+), 1 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
 b/drivers/net/wireless/ath/ath9k/gpio.c
 index 5eac4d1..43557c2 100644
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
 @@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)

   void ath9k_deinit_btcoex(struct ath_softc *sc)
   {
 + struct ath_hw *ah = sc-sc_ah;
 +
   if ((sc-btcoex.no_stomp_timer)
   ath9k_hw_get_btcoex_scheme(sc-sc_ah) == ATH_BTCOEX_CFG_3WIRE)
   ath_gen_timer_free(sc-sc_ah, sc-btcoex.no_stomp_timer);

 - if (AR_SREV_9462(sc-sc_ah))
 + if (ath9k_hw_mci_is_enabled(ah))
   ath_mci_cleanup(sc);
   }


also we unnecessarily call ar9003_mci_cleanup.

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


[ath9k-devel] [RFC] ath9k: Stop the BT timers before disabling BT

2012-07-03 Thread Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com

Stop the BT timers 'period_timer' and 'no_stomp_timer'.
Both these timers can change the BT stomp type especially
for AR9462 chipsets eventhough we had called ath9k_hw_btcoex_disable.
ath9k_hw_btcoex_disable-ath9k_hw_btcoex_bt_stomp(ah,
ATH_BTCOEX_STOMP_NONE). Will do some more analysis before sending
at as a patch.

Cc: Rajkumar Manoharan rmano...@qca.qualcomm.com
Cc: Bala Shanmugam bkama...@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan moham...@qca.qualcomm.com
---
 drivers/net/wireless/ath/ath9k/gpio.c |2 +-
 drivers/net/wireless/ath/ath9k/mci.c  |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c 
b/drivers/net/wireless/ath/ath9k/gpio.c
index 5eac4d1..b224e1f 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -377,9 +377,9 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
 
if (ah-btcoex_hw.enabled 
ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) {
-   ath9k_hw_btcoex_disable(ah);
if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE)
ath9k_btcoex_timer_pause(sc);
+   ath9k_hw_btcoex_disable(ah);
if (AR_SREV_9462(ah))
ath_mci_flush_profile(sc-btcoex.mci);
}
diff --git a/drivers/net/wireless/ath/ath9k/mci.c 
b/drivers/net/wireless/ath/ath9k/mci.c
index 64cc782..87acff7 100644
--- a/drivers/net/wireless/ath/ath9k/mci.c
+++ b/drivers/net/wireless/ath/ath9k/mci.c
@@ -174,8 +174,8 @@ skip_tuning:
btcoex-btcoex_period = 1;
}
 
-   ath9k_hw_btcoex_disable(sc-sc_ah);
ath9k_btcoex_timer_pause(sc);
+   ath9k_hw_btcoex_disable(sc-sc_ah);
 
if (IS_CHAN_5GHZ(sc-sc_ah-curchan))
return;
-- 
1.7.0.4

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


Re: [ath9k-devel] Connecting AR9390 to Lantiq board

2012-07-03 Thread Mohammed Shafi
On Wed, Jul 4, 2012 at 12:22 AM, Ana Elisa de Campos Lobo
al...@fitec.org.br wrote:
 Daniel and Mohammed,
 Thank you for your answers.
 I´ve just configured UGW 5.2 to enable ATH9K into mac80211.
 Although, I still have an important question:

 Which kernel version do I need to have a version of ATH9K driver that  
 supports chipset AR9390?  I didn´t find this answer in ATH9K developer´s site 
 (http://linuxwireless.org/en/users/Drivers/ath9k). I understood I´ll need to 
 install a compatibility package in order to have the correct version of the 
 driver running on my board, so I need to know the correct version of ATH9K 
 that supports that chipset.

please try the latest compat :)
http://linuxwireless.org/en/users/Download/#Where_to_download_bleeding_edge

 Could you help me, please?

 Thanks and regards,
 Ana

 -Original Message-
 From: Daniel Golle [mailto:dgo...@allnet.de]
 Sent: terça-feira, 3 de julho de 2012 10:52
 To: ath9k-devel@lists.ath9k.org; Ana Elisa de Campos Lobo
 Subject: Re: [ath9k-devel] Connecting AR9390 to Lantiq board

 Hi Ana,

 OpenWrt doesn't use the mac80211 driver release built-into the kernel. So all
 you need to do is to make sure the mac80211 package containing the ath9k 
 driver
 is a recent enough version, and that which still work well even on Linux 
 2.6.32.

 Good luck!


 Daniel


 On 07/03/12 16:27, Ana Elisa de Campos Lobo wrote:
 Hi all,

 I´m completely newbie in Linux drivers. In my project weare planning to 
 connect
 an AR9390 Atheros chip on a GRX288 Lantiq board.This board has a
 softwareframework (UGW 5.2) which is based on Linux kernel 2.6.32.42 version 
 and
 OpenWrt Backfire 10.03.

 I have some initial questions:

 ·  Does ATH9K driver support AR9390 chipset?

 ·  Which Linux kernel version is necessary to support AR9390 chipset?I
 didn´t find this chipset on the ATH9K driver site
 (_http://linuxwireless.org/en/users/Drivers/ath9k_), but according to the 
 site
 AR9380 requires a Kernel version greater than 2.6.36.

 ·  Does anybody tried to connect AR9390 to a Lantiq board based on UGW 
 software?

 Best regards,

 Ana



 --
 ALLNET GmbH ; Maistr. 2 ; D-82110 Germering ; Germany
 Tel. +49-89-8942 - Fax +49-89-89422233
 http://www.allnet.de
 email: Daniel Golle dgo...@allnet.de
 Schulungs-/Veranstaltungsprogramm: http://www.802lab.dehttp://www.802lab.de/
 Geschäftsführer: Wolfgang Marcus Bauer
 Handelsregister München B 95922 ; UST-ID-Nr. DE 128214294 ;
 St.-Nr.117/115/00164
 WEEE-Reg.-NR. DE 13101093
 Bankverbindung:
 Sparkasse Fürstenfeldbruck KTO: 2774594 ; BLZ: 70053070
 Swift-Code: BYLADEM1FFB ; IBAN: DE6170053072774594


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



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


Re: [ath9k-devel] Pilote wifi ath9k

2012-07-02 Thread Mohammed Shafi
Please try compat wireless

http://linuxwireless.org/en/users/Download/

tar jxvf compat-wireless-$(date -I).tar.bz2

it will be
tar jxvf compat-wireless-2.6.tar.bz2
cd compat-wireless-2012-04-08
./scripts/driver-select ath9k
make
sudo make install
sudo make unload
sudo modprobe -v ath9k

2012/7/2 Larion Rakotovao rlar...@gmail.com:
 bonjour,

 Ai besoin de configurer wifi wireless 802.11 wlan0 ath9k sous mandriva 2011.
 Merci.

 Larion R;


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




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


  1   2   3   4   5   6   7   8   >