Re: [PATCH] Per chain RSSI reporting
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 Dzhandzhapanyanwrote: 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
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
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 GreearCandela Technologies Inc http://www.candelatech.com
Re: [PATCH] Per chain RSSI reporting
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 Chaddwrote: 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
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 Greearwrote: 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
On 27 May 2017 at 09:07, Ben Greearwrote: > 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
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.comon 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
+ 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
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.comon 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