Re: [ath9k-devel] ath9k_hw_addrxbuf_edma

2014-10-27 Thread Astrit Zhushi
Hi,
Following are the values for the descriptor and 64 bytes of data

Descriptor:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x5c
0x80 0x0a 0x00 0x41 0x6b 0x6d 0x2e 0x32
0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x30
0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38
0x39 0x30 0x31 0x32 0x33 0x34 0x35 0x36
0x37 0x38 0x39 0x03 0x00 0x03 0x00 0x88

64 bytes of data:
0x01 0x2c 0x00 0xe4 0xce 0x8f 0x63 0xf5
0x35 0x00 0x1c 0xb3 0xc3 0x4b 0x31 0xe4
0xce 0x8f 0x63 0xf5 0x35 0xe0 0xad 0x00
0x00 0xe0 0x00 0xaa 0xaa 0x03 0x00 0x00
0x00 0x08 0x00 0x45 0x00 0x00 0x34 0x37
0xa5 0x40 0x00 0x40 0x06 0xec 0x17 0x0a
0x01 0x01 0x03 0x0a 0x02 0x02 0x02 0x4a
0xb7 0xcd 0x87 0xf0 0x01 0x8b 0xf5

Thanks,
Astrit

On 25 October 2014 19:31, Adrian Chadd adr...@freebsd.org wrote:
 On 25 October 2014 03:38, Astrit Zhushi a.zhu...@cs.ucl.ac.uk wrote:
 Hi, Adrian

 Thanks for the reply.

 I did print some of the descriptor fields:

 DescId=0 datalen=92 tstamp=3289088044
 DescId=0 datalen=92 tstamp=3289241267
 DescId=0 datalen=0 tstamp=0
 DescId=0 datalen=92 tstamp=3312687323

 (datalen seems to be wrong, I send 1500 bytes long data packets)

 I will return -EINPROGRESS on the (MS(rxsp-ds_info, AR_DescId) !=
 0x168c) check and run some experiments and see what results do I get.

 Hi,

 can you print out the rest of the descriptor?

 Even just hexdump the descriptor fields and the first like 64 bytes of
 the payload (if it exists) - we can parse those here. :-)




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


Re: [ath9k-devel] strange MPDU loss pattern

2014-10-27 Thread Felix Fietkau
Hi Seongho,

that paper looks quite interesting.
Are you planning to publish code/patches for your implementation as well?
It would be nice to have dynamic A-MPDU limiting integrated in minstrel_ht.

Thanks,

- Felix

On 26/10/2014 12:14 AM, Seongho Byeon wrote:

 Hi, I am Ph.d. student in Seoul National University , Korea.
 Recently, we have dealt with the problem you observe, and we published
 a paper into CoNEXT 2014 which is a major conference in our field.

 Title of the paper 'MoFa: Mobility-aware Frame Aggregation in WiFi
 networks'.
 You can download it a site below.
 http://www.mwnl.snu.ac.kr/~schoi/publication/Conferences/14-CONEXT-BYEON.pdf
 http://www.mwnl.snu.ac.kr/%7Eschoi/publication/Conferences/14-CONEXT-BYEON.pdf
 If you have a question please contact me anytime.

 Best regards,
 Seongho Byeon.

 Thank you for sharing the story.
 Even if I consider interference as a possibility, still I can't
 justify the higher
 chance of frame loss in the second half of the aggregate frame.

 We use

 PCI-express 3 antenna dual band cards
 product: AR93xx Wireless Network Adapter
 and/or
 Atheors AR5B97 which is a 2.4 GHz dual antenna internal card in a laptop

 we also tried TP-LINK TL-WDN4200 N900as the receiver.

 However we see the same results.
 we mostly use MCS 20-23, sgi = 0, 20 MHz channels.

 The loss pattern is something like this
 (each line is an imaginary aggregated frame and each bit is the fate
 of the MPDU)

 00011
 11100011010110100
 1
 111010100
 110010101

 The interesting part is that with the start of the next frame error
 rate goes down initially
 then it goes up again in the second portion of the packet.

 Best,
 Ali


 On 25/10/2014 2:30 PM, Adrian Chadd wrote:

 On 25 October 2014 08:28, Ali Abedia2ab...@uwaterloo.ca
 mailto:a2ab...@uwaterloo.cawrote:

 Hi Adrian, We have a high end spectrum analyzer. So we are
 sure there is no background interference We run our
 experiments in the 5 GHZ spectrum. The channel conditions can
 still vary due to the movement of the people in the vicinity
 of the experiment setup. We select a rate that experiences at
 least 20% error on average. Since if the error is 100% or 0%
 it's not interesting for us. My point is if the channel
 conditions change the distribution of failed packets should be
 uniform. The first and second half of the packets have the
 same chance to be received successfully.

 Here's a little story. My first wifi contract had me spend months
 trying to figure out why an AP was losing its mind. It'd get stuck
 in a stuck beacon loop and only a hard powercycle of /all/ of
 the access points in an area would clear it. It turned out that
 the PCB design had some non-grounded / non-populated tracks that
 just happened to form a 2GHz resonator. Once we grounded those
 tracks, the APs started behaving themselves. The company in
 question spent months with high end spectrum analysis kit in the
 lab (where it never happened) and underground (where it did
 happen.) It's only after they stuck the spectrum analyser probe
 _inside the access point_ right up close to the NIC did they see
 it. Here's the spectrum analyser traces. You can see the
 peak.http://www.creative.net.au/ath/So, weirder crap has happened.
 Which NICs and which MCS rates are you using? -adrian

 ___
 ath9k-devel mailing list
 ath9k-devel@lists.ath9k.org mailto: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] Questions regarding ath9k and new EN 300 328 regulation

2014-10-27 Thread Adrien Decostre
Hello Zefir,

Thanks a lot for your answer. This helps me a lot.
If I correctly understand, the ability of ath9k to detect all pulses
may also depend of the platform performances. So on an embedded
platform with limited performances, we may observe more pulses losses
than on a more powerful platform. Is this a right statement?

What about the CONFIG_ATH9K_DFS_CERTIFIED build options? Do we need it
to enable the detection of 0.5usec. pulses?

Thanks in advance for your answer.

Best regards

Adrien

On Mon, Oct 27, 2014 at 11:43 AM, Zefir Kurtisi
zefir.kurt...@neratec.com wrote:
 On 10/24/2014 05:23 PM, Adrien Decostre wrote:

 I am looking for information about the compliancy of the ath9k driver
 to the EN 300 328 ETSI regulation.

 Would someone know if ath9k has already been tested for this regulation?

 Is it needed to enable any specific flag in ath9k to guarantee
 compliancy to the adaptivity tests described in EN 300 328?


 The pattern detector currently used in ath was initially developed for ath9k 
 when
 EN 300.328 v1.5.1 was released. It passed the ETSI certification in a German 
 lab
 and the source code (besides moving it up in the tree to be also available for
 10k) was basically not touched ever since.

 I did not track all the DFS requirement changes up to the latest v1.9.1 
 draft, but
 afaik the sole difference relevant for the detector is the reduction of the
 shortest pulses width in the test pattern specification from 0.7 to 0.5us. 
 With
 that, the chance of the current implementation to pass a v1.8 certification
 depends on ath9k's ability to detect the shorter pulses. I did some initial
 measurements years ago to get a rough picture, which showed that the ath9k is
 losing like 30% of the 0.5us pulses (as compared to .7us).

 With the patches you referred, YMMV - you would need to perform thorough
 statistical analyses to get an estimate on whether it would pass.

 As for the adaptivity tests, they are not part of DFS (see note in 4.9.1) and
 maybe would best fit within the ACS module
 (http://wireless.kernel.org/en/users/Documentation/acs). The current DFS 
 support
 available in ath9k is limited to bare radar detection, which is enabled 
 through
 CONFIG_CFG80211_CERTIFICATION_ONUS.


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


Re: [ath9k-devel] Questions regarding ath9k and new EN 300 328 regulation

2014-10-27 Thread Zefir Kurtisi
On 10/27/2014 03:18 PM, Adrien Decostre wrote:
 Hello Zefir,
 
 Thanks a lot for your answer. This helps me a lot.
 If I correctly understand, the ability of ath9k to detect all pulses
 may also depend of the platform performances. So on an embedded
 platform with limited performances, we may observe more pulses losses
 than on a more powerful platform. Is this a right statement?
 
No, there is no bottleneck in the platform performance. Presumed radar pulses 
are
reported as RX_ERROR descriptors and even lower end embedded systems are able to
handle the load. What makes the difference with the minimum pulse width is the
chip DFS engine's ability to isolate and identify very short spikes as potential
radar pulses.

This goes very deeply into material I had available under NDA while implementing
the DFS support for ath9k. If you intend to work on that topic, I encourage you 
to
contact the folks at QCA and join their 'NDA for Developers' program. The 
document
you want to read is 'Baseband DFS 2 (Radar) Micro-Architecture'.

 What about the CONFIG_ATH9K_DFS_CERTIFIED build options? Do we need it
 to enable the detection of 0.5usec. pulses?
 
Yes, this driver specific flag (also available for 10k) you need to set to get 
the
DFS detector built (not related to pulse width). It essentially shifts the
responsibility of the product working in restricted bands to you / the 
manufacturer.


 Thanks in advance for your answer.
 
 Best regards
 
 Adrien
 

Good Luck,
Zefir
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] Questions regarding ath9k and new EN 300 328 regulation

2014-10-27 Thread Adrien Decostre
Dear Zefir,

Thanks a lot for these precisions, This makes thing more clear.

There is still one thing unclear to me. If we do not consider working
on the DFS channels and that we only want to operate on channels 36,
40, 44 and 48 in EU. Do we still need to enable DFS flags in ath9k to
comply with EN 300 328 v1.8.1. I mean, is the same pulse detector
algorithm used for DFS and for the adaptivity tests on channels 36 to
48?

Many thanks in advance for your answer.

Best regards

Adrien


On Mon, Oct 27, 2014 at 3:50 PM, Zefir Kurtisi
zefir.kurt...@neratec.com wrote:
 On 10/27/2014 03:18 PM, Adrien Decostre wrote:
 Hello Zefir,

 Thanks a lot for your answer. This helps me a lot.
 If I correctly understand, the ability of ath9k to detect all pulses
 may also depend of the platform performances. So on an embedded
 platform with limited performances, we may observe more pulses losses
 than on a more powerful platform. Is this a right statement?

 No, there is no bottleneck in the platform performance. Presumed radar pulses 
 are
 reported as RX_ERROR descriptors and even lower end embedded systems are able 
 to
 handle the load. What makes the difference with the minimum pulse width is the
 chip DFS engine's ability to isolate and identify very short spikes as 
 potential
 radar pulses.

 This goes very deeply into material I had available under NDA while 
 implementing
 the DFS support for ath9k. If you intend to work on that topic, I encourage 
 you to
 contact the folks at QCA and join their 'NDA for Developers' program. The 
 document
 you want to read is 'Baseband DFS 2 (Radar) Micro-Architecture'.

 What about the CONFIG_ATH9K_DFS_CERTIFIED build options? Do we need it
 to enable the detection of 0.5usec. pulses?

 Yes, this driver specific flag (also available for 10k) you need to set to 
 get the
 DFS detector built (not related to pulse width). It essentially shifts the
 responsibility of the product working in restricted bands to you / the 
 manufacturer.


 Thanks in advance for your answer.

 Best regards

 Adrien


 Good Luck,
 Zefir
___
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel


Re: [ath9k-devel] ath9k_hw_addrxbuf_edma

2014-10-27 Thread Adrian Chadd
Hi,

Since I don't know what ordering is going on with the descriptor data,
can you modify the code to post the descriptor data as uint32_t's?

The fact the descriptor data has that incrementing value from 0x32 -
0x39 is .. disconcerting. Maybe the hardware didn't actually write
into all of those fields and that's left-overs from your kernel malloc
or something?

Thanks,


-adrian

On 27 October 2014 03:41, Astrit Zhushi a.zhu...@cs.ucl.ac.uk wrote:
 Hi,
 Following are the values for the descriptor and 64 bytes of data

 Descriptor:
 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x5c
 0x80 0x0a 0x00 0x41 0x6b 0x6d 0x2e 0x32
 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x30
 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38
 0x39 0x30 0x31 0x32 0x33 0x34 0x35 0x36
 0x37 0x38 0x39 0x03 0x00 0x03 0x00 0x88

 64 bytes of data:
 0x01 0x2c 0x00 0xe4 0xce 0x8f 0x63 0xf5
 0x35 0x00 0x1c 0xb3 0xc3 0x4b 0x31 0xe4
 0xce 0x8f 0x63 0xf5 0x35 0xe0 0xad 0x00
 0x00 0xe0 0x00 0xaa 0xaa 0x03 0x00 0x00
 0x00 0x08 0x00 0x45 0x00 0x00 0x34 0x37
 0xa5 0x40 0x00 0x40 0x06 0xec 0x17 0x0a
 0x01 0x01 0x03 0x0a 0x02 0x02 0x02 0x4a
 0xb7 0xcd 0x87 0xf0 0x01 0x8b 0xf5

 Thanks,
 Astrit

 On 25 October 2014 19:31, Adrian Chadd adr...@freebsd.org wrote:
 On 25 October 2014 03:38, Astrit Zhushi a.zhu...@cs.ucl.ac.uk wrote:
 Hi, Adrian

 Thanks for the reply.

 I did print some of the descriptor fields:

 DescId=0 datalen=92 tstamp=3289088044
 DescId=0 datalen=92 tstamp=3289241267
 DescId=0 datalen=0 tstamp=0
 DescId=0 datalen=92 tstamp=3312687323

 (datalen seems to be wrong, I send 1500 bytes long data packets)

 I will return -EINPROGRESS on the (MS(rxsp-ds_info, AR_DescId) !=
 0x168c) check and run some experiments and see what results do I get.

 Hi,

 can you print out the rest of the descriptor?

 Even just hexdump the descriptor fields and the first like 64 bytes of
 the payload (if it exists) - we can parse those here. :-)




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