Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Norik Dzhandzhapanyan

Thanks Michael for the explanation. It makes complete sense.

Does the same concern then also apply to the existing functionality of the 
driver's assignment of the combined rssi to the status->signal variable?

The submitted patch breaks nothing in the driver and adds the per chain feature 
which currently does not exist. I agree the averaging component  could be 
factored for a more generic application, but at the same time the change impact 
would be larger and this is what I wanted to avoid. The averaging function can 
be qualified by a module parameter which will make the patch impact benign to 
others that are looking for per chain rssi reporting functionality.

Norik


On 05/27/2017 03:10 PM, Michael Ney wrote:

What I'm referring to is the real world case of an access point communicating 
with multiple stations.

Take for example. an AP that has four stations attached to it with different 
average RSSIs:

  - Station 1: -45
  - Station 2: -70
  - Station 3: -50
  - Station 4: -30

Now for argument's sake let us assume that all four stations are transmitting 
at equal amounts and for every 16 frames transmitted each station sends 4 
frames.

Since the moving average you are proposing averages all frames received by the 
driver, that works out to a moving average that will always be around -48.75 
for this example.  For station 2, this will result in a 21.25 error from its 
actual average RSSI.

This example also doesn't take into account other frames that aren't from 
stations that are processed through to the driver, such as Beacon frames, which 
even will affect managed mode and not just Access Points. The only way an 
average RSSI could be calculated accurately is that for every unique MAC 
address identified a structure has to be created to store the moving average 
RSSI data for that peer. This becomes extremely bulky memory-wise. 
Alternatively, it could be implemented such that it only applies to managed 
mode and only when the peer identified is the currently connected BSSID.



On May 27, 2017, at 3:30 PM, Norik Dzhandzhapanyan  
wrote:

Is there an enhanced or conflicting patch pending?


On 05/27/2017 10:56 AM, Michael Ney wrote:

The submitted code also doesn't appear to handle RSSI per-peer which would be 
needed for any use when configured as an access point.


On May 27, 2017, at 12:39 PM, Adrian Chadd  wrote:

On 27 May 2017 at 09:07, Ben Greear  wrote:

At low encoding rates, especially if it switches to a single-chain encoding,
maybe the on-air signal really is stronger?

Have you verified in some other manner than the signals reported by ath10k
are
wrong?

Hiya,

So yeah, multipath, higher TX rates == weaker TX signal, TPC, etc are
all interesting to know about at the receiver. it's hard to separate
that out from the noise sometimes, but in some controlled deployments
its really obvious.



-adrian

___
ath10k mailing list
ath...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

The contents of this transmission are Ethertronics Inc. Confidential and may 
contain proprietary or legally privileged information which may not be 
disclosed, copied or distributed without the express written consent of 
Ethertronics Inc. The information is intended to be for the use of the 
individual or entity named on this transmission. If you are not the intended 
recipient, be aware that any disclosure, copying, distribution or use of the 
contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete 
the message without disclosing it. Thank you

___
ath10k mailing list
ath...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k




[PATCH v2] mac80211: Invoke TX LED in more code paths

2017-05-27 Thread Bjorn Andersson
ieee80211_tx_status() is only one of the possible ways a driver can
report a handled packet, some drivers call this for every packet while
others calls it rarely or never.

In order to invoke the TX LED in the non-status reporting cases this
patch pushes the call to ieee80211_led_tx() into
ieee80211_report_used_skb(), which is shared between the various code
paths.

Signed-off-by: Bjorn Andersson 
---
 net/mac80211/status.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index be47ac5cd8c8..a9fa6ee57e8f 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -546,6 +546,8 @@ static void ieee80211_report_used_skb(struct 
ieee80211_local *local,
skb->wifi_acked_valid = 1;
skb->wifi_acked = acked;
}
+
+   ieee80211_led_tx(local);
 }
 
 /*
@@ -823,8 +825,6 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
}
}
 
-   ieee80211_led_tx(local);
-
/* SNMP counters
 * Fragments are passed to low-level drivers as separate skbs, so these
 * are actually fragments, not frames. Update frame counters only for
-- 
2.12.0



Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Ben Greear

On 05/27/2017 02:41 PM, Norik Dzhandzhapanyan wrote:

Yes ~6dB


If a packet is sent on 1 chain with ath10k firmware (9880 hardware, 
specifically, but probably
others as well), it will be around 6db higher on that particular chain
than if the rate-control sends it on all three chains.

Are you measuring on a single chain, or on all of the chains at once and adding
the power?

I think we would need more detailed reporting using a good third-party device 
before
smoothing and RSSI.

Thanks,
Ben




From: Ben Greear
Sent: Saturday, May 27, 2:38 PM
Subject: Re: [PATCH] Per chain RSSI reporting
To: Norik Dzhandzhapanyan, Adrian Chadd
Cc: ath...@lists.infradead.org, linux-wireless@vger.kernel.org


On 05/27/2017 12:25 PM, Norik Dzhandzhapanyan wrote: > We see this inconsistent/incorrect reporting in our RF chamber. How different are the values, and did you sniff with a third-party device to see if it sees the same spikes in 
RSSI? Thanks, Ben > > Norik > > On 05/27/2017 09:39 AM, Adrian Chadd wrote: >> On 27 May 2017 at 09:07, Ben Greear wrote: >>> At low encoding rates, especially if it switches to a single-chain encoding, 
>>> maybe the on-air signal really is stronger? >>> >>> Have you verified in some other manner than the signals reported by ath10k >>> are >>> wrong? >> Hiya, >> >> So 
yeah, multipath, higher TX rates == weaker TX signal, TPC, etc are >> all interesting to know about at the receiver. it's hard to separate >> that out from the noise sometimes, but in some controlled deployments >> 
its really obvious. >> >> >> >> -adrian >> >> > > > The contents of this transmission are Ethertronics Inc. Confidential and may contain proprietary or legally privileged
information which may not be disclosed, copied or distributed without the express 
written consent of Ethertronics Inc. The information is intended to be for the use 
of the individual or entity named on this transmission. If you are not the 
intended recipient, be aware that any disclosure, copying, distribution or use of 
the contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete the 
message without disclosing it. Thank you > -- Ben Greear Candela Technologies 
Inc http://www.candelatech.com



--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com


Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Norik Dzhandzhapanyan

Is there an enhanced or conflicting patch pending?


On 05/27/2017 10:56 AM, Michael Ney wrote:

The submitted code also doesn't appear to handle RSSI per-peer which would be 
needed for any use when configured as an access point.


On May 27, 2017, at 12:39 PM, Adrian Chadd  wrote:

On 27 May 2017 at 09:07, Ben Greear  wrote:

At low encoding rates, especially if it switches to a single-chain encoding,
maybe the on-air signal really is stronger?

Have you verified in some other manner than the signals reported by ath10k
are
wrong?

Hiya,

So yeah, multipath, higher TX rates == weaker TX signal, TPC, etc are
all interesting to know about at the receiver. it's hard to separate
that out from the noise sometimes, but in some controlled deployments
its really obvious.



-adrian

___
ath10k mailing list
ath...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


The contents of this transmission are Ethertronics Inc. Confidential and may 
contain proprietary or legally privileged information which may not be 
disclosed, copied or distributed without the express written consent of 
Ethertronics Inc. The information is intended to be for the use of the 
individual or entity named on this transmission. If you are not the intended 
recipient, be aware that any disclosure, copying, distribution or use of the 
contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete 
the message without disclosing it. Thank you


Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Norik Dzhandzhapanyan

We see this inconsistent/incorrect reporting in our RF chamber.

Norik

On 05/27/2017 09:39 AM, Adrian Chadd wrote:

On 27 May 2017 at 09:07, Ben Greear  wrote:

At low encoding rates, especially if it switches to a single-chain encoding,
maybe the on-air signal really is stronger?

Have you verified in some other manner than the signals reported by ath10k
are
wrong?

Hiya,

So yeah, multipath, higher TX rates == weaker TX signal, TPC, etc are
all interesting to know about at the receiver. it's hard to separate
that out from the noise sometimes, but in some controlled deployments
its really obvious.



-adrian





The contents of this transmission are Ethertronics Inc. Confidential and may 
contain proprietary or legally privileged information which may not be 
disclosed, copied or distributed without the express written consent of 
Ethertronics Inc. The information is intended to be for the use of the 
individual or entity named on this transmission. If you are not the intended 
recipient, be aware that any disclosure, copying, distribution or use of the 
contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete 
the message without disclosing it. Thank you


Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Adrian Chadd
On 27 May 2017 at 09:07, Ben Greear  wrote:
> At low encoding rates, especially if it switches to a single-chain encoding,
> maybe the on-air signal really is stronger?
>
> Have you verified in some other manner than the signals reported by ath10k
> are
> wrong?

Hiya,

So yeah, multipath, higher TX rates == weaker TX signal, TPC, etc are
all interesting to know about at the receiver. it's hard to separate
that out from the noise sometimes, but in some controlled deployments
its really obvious.



-adrian


Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Ben Greear

At low encoding rates, especially if it switches to a single-chain encoding,
maybe the on-air signal really is stronger?

Have you verified in some other manner than the signals reported by ath10k are
wrong?

Thanks,
Ben


On 05/26/2017 07:09 PM, Norik Dzhandzhapanyan wrote:

Hi Adrian,

Inserting the smoothing function here is motivated by what we see as 'spikes' 
in rssi data under weak rssi conditions.  Figured its best to get rid of the 
'bogus' data as close to the source as possible. Also to minimize the impact on 
the changes.

I believe the averaging  that happens at higher levels is based on EWMA macros 
in net/mac80211/sta_info.c which not wifi card/chipset specific. Didn't want to 
touch that since other cards seem to not have this spikey behavior. And, it 
doesnt seem to have an effect on the ath10k data anyway (iw reports the exact 
same values for both).

I wonder if it would be acceptable to pass a module load time parameter which 
would indicate an average factor with 0 (as default) to indicate no averaging?

Another option would be to add the chain_signal_avg field to the 
ieee80211_tx_status struct in mac80211.h to expose the average value up the 
stack this way? I haven't looked too deep on what this entails though and I 
didn't want to risk impacting anything else.

So yes.. I am OK with the per-chain RSSI changes first.

Norik


From: adrian.ch...@gmail.com  on behalf of Adrian Chadd 

Sent: Friday, May 26, 2017 6:12 PM
To: Norik Dzhandzhapanyan
Cc: ath...@lists.infradead.org; linux-wireless@vger.kernel.org
Subject: Re: [PATCH] Per chain RSSI reporting

[snip]

hiya,

I have something local that I've been meaning to push up to do this,
but with no smoothing. Ideally (!) smoothing is done optionally in
mac80211.

What do you think about just committing the per-chain RSSI stuff to
mac80211 so it shows up right now, and then we figure out how to
express the smoothing in mac80211 or further up the layers?

(We care about packet-to-packet RSSI values for "reasons" - mostly
bring-up and board validation, but also for runtime link checks.)


-adrian

The contents of this transmission are Ethertronics Inc. Confidential and may 
contain proprietary or legally privileged information which may not be 
disclosed, copied or distributed without the express written consent of 
Ethertronics Inc. The information is intended to be for the use of the 
individual or entity named on this transmission. If you are not the intended 
recipient, be aware that any disclosure, copying, distribution or use of the 
contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete 
the message without disclosing it. Thank you



--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com


Re: BCM4350 not working properly under Debian 9 RC3, Dell XPS 13 9350

2017-05-27 Thread Arend van Spriel
+ linux-wireless

On 27-05-17 11:33, Graziano D'Innocenzo wrote:
> Hello,
> 
> I found this email address on:
> https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211
> 
> We have a laptop "Dell XPS 13 9350" and we have been unable to make
> its wireless work properly: signal is extremely weak and it frequently
> disconnects.
> We are currently running Debian 9 RC3 but exactly the same issue
> happened with NixOS 17.3.
> 
> $ lspci  |grep BCM
> 3a:00.0 Network controller: Broadcom Limited BCM4350 802.11ac Wireless
> Network Adapter (rev 08)
> 
> We have the following in dmesg:
> # dmesg |grep brcmf
> [8.505203] usbcore: registered new interface driver brcmfmac
> [8.613239] brcmfmac :3a:00.0: firmware: direct-loading
> firmware brcm/brcmfmac4350-pcie.bin
> [8.613251] brcmfmac :3a:00.0: firmware: failed to load
> brcm/brcmfmac4350-pcie.txt (-2)
> [8.613251] brcmfmac :3a:00.0: Direct firmware load for
> brcm/brcmfmac4350-pcie.txt failed with error -2

This does not matter. That file is optional and not needed for this
specific device (if not mistaken).

> [9.045202] brcmfmac: brcmf_c_preinit_dcmds: Firmware version =
> wl0: Oct 22 2015 06:16:26 version 7.35.180.119 (r594535) FWID
> 01-e791c176
> [9.078535] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166
> code (0x30 0x30)
> [9.084339] brcmfmac :3a:00.0 wlp58s0: renamed from wlan0
> [   10.551106] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
> [   10.551120] brcmfmac: brcmf_cfg80211_add_iface: add iface
> p2p-dev-wlp58s0 type 10 failed: err=-16

Seems you have wpa_supplicant version that implicitly created the
so-called p2p-device interface. You can try putting 'p2p_disabled=1' in
wpa_supplicant.conf. I assume you are using NetworkManager. I am not
sure if there is a GUI option for it.

> When booting with EFI we have many files under:
> /sys/firmware/efi/efivars/
> but we do not have:
> nvram-74b00bd9-805a-4d61-b51f-43268123d113

Not needed.

> If you could please provide any help we would be grateful. This issue
> has been driving us crazy for a week now, if this fails the next step
> would be buying a usb wifi adaptor.

So for the weak signal and disconnects could you please provide details.
What channel is your AP on? How occupied is that channel? Is bluetooth
enabled? What signal levels do you read?

Regards,
Arend


Re: [PATCH] Per chain RSSI reporting

2017-05-27 Thread Norik Dzhandzhapanyan

I've been looking at this more and I believe that smoothing/filtering anywhere 
other than as close as possible to where the ppdu gets unpacked will have the 
disadvantage of being negatively influenced by 'out of band' values since the 
average is not computed or averaged in the upper layers until invoked from 
their callers? The possibility then exists for several 'out of band' values to 
make their way to the upper layers if the queries happen to coincide with bad 
values being fed from the hardware unfiltered from ppdu unpacking.

The ath10k_htt_rx_h_channel function considers every rx event and has a 100% 
likelihood of successfully cleaning up the data.

Because of this, I think a reasonable approach would be to introduce a module 
parameter that can be set to a filter value with 0 as the default or no 
filter/smooth function applies.

Does something like this seem reasonable?

** in core.h
int ath10k_chain_rssi_avg;

** in core.c
module_param(ath10k_rssi_chain_avg,int,0644);
MODULE_PARAM_DESC(ath10k_chain_rssi_avg, "Running average/filter of immediate per 
chain rssi value");

** in htt_rx.c
allocate space based on ath10k_chain_rssi_avg, do the average and cleanup


Norik


On 05/26/2017 07:09 PM, Norik Dzhandzhapanyan wrote:

Hi Adrian,

Inserting the smoothing function here is motivated by what we see as 'spikes' 
in rssi data under weak rssi conditions. Figured its best to get rid of the 
'bogus' data as close to the source as possible. Also to minimize the impact on 
the changes.

I believe the averaging  that happens at higher levels is based on EWMA macros 
in net/mac80211/sta_info.c which not wifi card/chipset specific. Didn't want to 
touch that since other cards seem to not have this spikey behavior. And, it 
doesnt seem to have an effect on the ath10k data anyway (iw reports the exact 
same values for both).

I wonder if it would be acceptable to pass a module load time parameter which 
would indicate an average factor with 0 (as default) to indicate no averaging?

Another option would be to add the chain_signal_avg field to the 
ieee80211_tx_status struct in mac80211.h to expose the average value up the 
stack this way? I haven't looked too deep on what this entails though and I 
didn't want to risk impacting anything else.

So yes.. I am OK with the per-chain RSSI changes first.

Norik


From: adrian.ch...@gmail.com  on behalf of Adrian Chadd 

Sent: Friday, May 26, 2017 6:12 PM
To: Norik Dzhandzhapanyan
Cc: ath...@lists.infradead.org; linux-wireless@vger.kernel.org
Subject: Re: [PATCH] Per chain RSSI reporting

[snip]

hiya,

I have something local that I've been meaning to push up to do this,
but with no smoothing. Ideally (!) smoothing is done optionally in
mac80211.

What do you think about just committing the per-chain RSSI stuff to
mac80211 so it shows up right now, and then we figure out how to
express the smoothing in mac80211 or further up the layers?

(We care about packet-to-packet RSSI values for "reasons" - mostly
bring-up and board validation, but also for runtime link checks.)


-adrian


The contents of this transmission are Ethertronics Inc. Confidential and may 
contain proprietary or legally privileged information which may not be 
disclosed, copied or distributed without the express written consent of 
Ethertronics Inc. The information is intended to be for the use of the 
individual or entity named on this transmission. If you are not the intended 
recipient, be aware that any disclosure, copying, distribution or use of the 
contents of this information is prohibited. If you have received this 
transmission in error, please notify us by telephone immediately so that we can 
arrange for the retrieval of the original documents at no cost to you. 
Alternatively, notify the sender by replying to this transmission and delete 
the message without disclosing it. Thank you