New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 909896 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

shill: add RX_BITRATE to LinkStatistics

Project Member Reported by briannorris@chromium.org, Nov 28

Issue description

We currently track TX bitrate info (from NL80211_STA_INFO_TX_BITRATE properties) in our LinkStastics DBus properties, and this gets logged in feedback reports, etc., but we don't do the same for NL80211_STA_INFO_RX_BITRATE, when available. The netlink format is the same, so we should be able to easily reuse our existing code for this.

On a related note: not all drivers actually support this. Particularly, mwifiex seems to log some related info in debugfs, but it doesn't fill it out in the STA info:

mwifiex_dump_station_info(struct mwifiex_private *priv,
                          struct mwifiex_sta_node *node,
                          struct station_info *sinfo)
{
        u32 rate;

        sinfo->filled = BIT_ULL(NL80211_STA_INFO_RX_BYTES) | BIT_ULL(NL80211_STA_INFO_TX_BYTES) |
                        BIT_ULL(NL80211_STA_INFO_RX_PACKETS) | BIT_ULL(NL80211_STA_INFO_TX_PACKETS) |
                        BIT_ULL(NL80211_STA_INFO_TX_BITRATE) |
                        BIT_ULL(NL80211_STA_INFO_SIGNAL) | BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG);
...


I might take a stab at this myself, but if someone else is raring to tackle it, feel free.
 
Status: Started (was: Assigned)
I (barely) reverse-engineered Marvell's rate-reporting, and I think this works!

remote:   https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1357577 FROMLIST: mwifiex: debugfs: correct histogram spacing, formatting        
remote:   https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1357578 FROMLIST: mwifiex: refactor mwifiex_parse_htinfo() for reuse        
remote:   https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1357599 FROMLIST: mwifiex: add NL80211_STA_INFO_RX_BITRATE support    
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/fc73f7a9e6ed76d2a53321c75adccdd35561ea45

commit fc73f7a9e6ed76d2a53321c75adccdd35561ea45
Author: Brian Norris <briannorris@chromium.org>
Date: Fri Jan 18 08:46:01 2019

shill: wifi: add RxBitrate

We already have TxBitrate handling. RxBitrate has the same netlink
format.

BUG=chromium:909896
TEST=unit tests; check, e.g., `connectivity show Devices` with drivers
     that support RX_BITRATE (e.g., iwl7000 or ath10k) and those that
     don't (e.g., mwifiex)

Change-Id: I980c0cc8ecff249fa1a6176c8c9d209e01b9d3cb
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1354191
Reviewed-by: Kirtika Ruchandani <kirtika@chromium.org>

[modify] https://crrev.com/fc73f7a9e6ed76d2a53321c75adccdd35561ea45/shill/wifi/wifi.cc
[modify] https://crrev.com/fc73f7a9e6ed76d2a53321c75adccdd35561ea45/shill/wifi/wifi.h
[modify] https://crrev.com/fc73f7a9e6ed76d2a53321c75adccdd35561ea45/shill/wifi/wifi_test.cc
[modify] https://crrev.com/fc73f7a9e6ed76d2a53321c75adccdd35561ea45/system_api/dbus/shill/dbus-constants.h

Sign in to add a comment