2008-10-14 04:08:18

by Luis R. Rodriguez

[permalink] [raw]
Subject: [PATCH 0/3] ath5k/ath9k: correct signal quality

Now that we officially are supporting ath5k I can do this
at work hours.

Signed-off-by: Luis R. Rodriguez <[email protected]>
---
MAINTAINERS | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8dae455..3503cac 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -731,7 +731,7 @@ M: [email protected]
P: Nick Kossifidis
M: [email protected]
P: Luis R. Rodriguez
-M: [email protected]
+M: [email protected]
L: [email protected]
L: [email protected]
S: Maintained
--
1.5.6.rc2.15.g457bb.dirty



2008-10-14 04:14:22

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH 0/3] ath5k/ath9k: correct signal quality

On Mon, Oct 13, 2008 at 2:08 PM, Luis R. Rodriguez
<[email protected]> wrote:

Oops this was supposed to be my description of this series :)

So -- signal quality is reported incorrectly on ath5k and ath9k. This
series corrects that. You can really get creative with more complex
and more accurate solutions but this requires keeping a track of ideal
SNR for best throughput possible for different modes. We use a
simplified calculation based on considerations for an ideal RSSI for
the best rate we support. These values were given by our engineering
team.

Luis

2008-10-14 08:24:12

by Nick Kossifidis

[permalink] [raw]
Subject: Re: [PATCH 3/3] ath5k: correct ath5k signal quality

2008/10/14 Luis R. Rodriguez <[email protected]>:
> This adjusts ath5k's signal quality reporting taking into
> consideration received beacons at an RSSI of 35 should indicate
> you can use of 54 Mbps on a single stream card (all ath5k cards)
> reliably.
>
> Signed-off-by: Luis R. Rodriguez <[email protected]>
> ---
> drivers/net/wireless/ath5k/base.c | 12 +++++++++++-
> 1 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
> index 1a24a22..c7f46e9 100644
> --- a/drivers/net/wireless/ath5k/base.c
> +++ b/drivers/net/wireless/ath5k/base.c
> @@ -1798,7 +1798,17 @@ accept:
>
> rxs.noise = sc->ah->ah_noise_floor;
> rxs.signal = rxs.noise + rs.rs_rssi;
> - rxs.qual = rs.rs_rssi * 100 / 64;
> +
> + /* An rssi of 35 indicates you should be able use
> + * 54 Mbps reliably. A more elaborate scheme can be used
> + * here but it requires a map of SNR/throughput for each
> + * possible mode used */
> + rxs.qual = rs.rs_rssi * 100 / 35;
> +
> + /* rssi can be more than 35 though, anything above that
> + * should be considered at 100% */
> + if (rxs.qual > 100)
> + rxs.qual = 100;
>
> rxs.antenna = rs.rs_antenna;
> rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate);

Acked-by: Nick Kossifidis <[email protected]>



--
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick

2008-10-14 04:08:21

by Luis R. Rodriguez

[permalink] [raw]
Subject: [PATCH 2/3] ath9k: correct signal quality report

This adjusts ath9k's signal quality reporting taking into
consideration received beacons at an RSSI of 45 should indicate
you can use of MCS 15 rate (144 Mbps) reliably on dual stream card.
Keep in mind mac80211 does not yet have aggregation fixed but this
should still provide more accurate results.

Signed-off-by: Luis R. Rodriguez <[email protected]>
---
drivers/net/wireless/ath9k/main.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index 16c90c1..6bcee4a 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -279,8 +279,15 @@ static void ath9k_rx_prepare(struct ath_softc *sc,
rx_status->rate_idx = ath_rate2idx(sc, (status->rateKbps / 100));
rx_status->antenna = status->antenna;

- /* XXX Fix me, 64 cannot be the max rssi value, rigure it out */
- rx_status->qual = status->rssi * 100 / 64;
+ /* at 45 you will be able to use MCS 15 reliably. A more elaborate
+ * scheme can be used here but it requires tables of SNR/throughput for
+ * each possible mode used. */
+ rx_status->qual = status->rssi * 100 / 45;
+
+ /* rssi can be more than 45 though, anything above that
+ * should be considered at 100% */
+ if (rx_status->qual > 100)
+ rx_status->qual = 100;

if (status->flags & ATH_RX_MIC_ERROR)
rx_status->flag |= RX_FLAG_MMIC_ERROR;
--
1.5.6.rc2.15.g457bb.dirty


2008-10-14 04:08:20

by Luis R. Rodriguez

[permalink] [raw]
Subject: [PATCH 1/3] Update maintainers for ath5k

Now that we officially are supporting ath5k I can do this
at work hours.

Signed-off-by: Luis R. Rodriguez <[email protected]>
---
MAINTAINERS | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8dae455..3503cac 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -731,7 +731,7 @@ M: [email protected]
P: Nick Kossifidis
M: [email protected]
P: Luis R. Rodriguez
-M: [email protected]
+M: [email protected]
L: [email protected]
L: [email protected]
S: Maintained
--
1.5.6.rc2.15.g457bb.dirty


2008-10-14 08:20:55

by Nick Kossifidis

[permalink] [raw]
Subject: Re: [PATCH 1/3] Update maintainers for ath5k

2008/10/14 Luis R. Rodriguez <[email protected]>:
> Now that we officially are supporting ath5k I can do this
> at work hours.
>
> Signed-off-by: Luis R. Rodriguez <[email protected]>
> ---
> MAINTAINERS | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 8dae455..3503cac 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -731,7 +731,7 @@ M: [email protected]
> P: Nick Kossifidis
> M: [email protected]
> P: Luis R. Rodriguez
> -M: [email protected]
> +M: [email protected]
> L: [email protected]
> L: [email protected]
> S: Maintained
> --
> 1.5.6.rc2.15.g457bb.dirty
>

You may also change it to supported, you 've already provided help in
various ways ;-)


--
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick

2008-10-14 04:08:22

by Luis R. Rodriguez

[permalink] [raw]
Subject: [PATCH 3/3] ath5k: correct ath5k signal quality

This adjusts ath5k's signal quality reporting taking into
consideration received beacons at an RSSI of 35 should indicate
you can use of 54 Mbps on a single stream card (all ath5k cards)
reliably.

Signed-off-by: Luis R. Rodriguez <[email protected]>
---
drivers/net/wireless/ath5k/base.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 1a24a22..c7f46e9 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -1798,7 +1798,17 @@ accept:

rxs.noise = sc->ah->ah_noise_floor;
rxs.signal = rxs.noise + rs.rs_rssi;
- rxs.qual = rs.rs_rssi * 100 / 64;
+
+ /* An rssi of 35 indicates you should be able use
+ * 54 Mbps reliably. A more elaborate scheme can be used
+ * here but it requires a map of SNR/throughput for each
+ * possible mode used */
+ rxs.qual = rs.rs_rssi * 100 / 35;
+
+ /* rssi can be more than 35 though, anything above that
+ * should be considered at 100% */
+ if (rxs.qual > 100)
+ rxs.qual = 100;

rxs.antenna = rs.rs_antenna;
rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate);
--
1.5.6.rc2.15.g457bb.dirty