From: "Lars Ericsson" <Lars_Ericsson@telia.com>
To: "'Ivo van Doorn'" <ivdoorn@gmail.com>
Cc: <linux-wireless@vger.kernel.org>, <users@rt2x00.serialmonkey.com>
Subject: RT61 antenna diversity in 2.6.30
Date: Mon, 13 Jul 2009 22:24:50 +0200 [thread overview]
Message-ID: <0DC66442F4FF4076964868A5ECAB9790@gotws1589> (raw)
Hi Ivo,
I recently moved from 2.6.26 to 2.6.30 with a HW that do
SW antenna diversity with .26 but not with .30
I have found two problems:
1) The rt2x00mac_config() calls rt2x00lib_config_antenna() and reset the
rt2x00dev->default_ant.
2) The rt2x00lib_antenna_diversity_sample() does not update the sampled
antenna rssi.
I have applied the following patches to correct the problems:
1)
--- a/drivers/net/wireless/rt2x00/rt2x00link.c 2009-07-13
21:48:45.000000000 +0200
+++ b/drivers/net/wireless/rt2x00/rt2x00link.c 2009-07-13
21:52:42.000000000 +0200
@@ -146,8 +151,13 @@ static void rt2x00lib_antenna_diversity_
{
struct link_ant *ant = &rt2x00dev->link.ant;
struct antenna_setup new_ant;
- int sample_a = rt2x00link_antenna_get_rssi_history(rt2x00dev,
ANTENNA_A);
- int sample_b = rt2x00link_antenna_get_rssi_history(rt2x00dev,
ANTENNA_B);
+ int rssi_curr, sample_a, sample_b;
+
+ rssi_curr = rt2x00link_antenna_get_link_rssi(rt2x00dev);
+ rt2x00link_antenna_update_rssi_rx_history(rt2x00dev, rssi_curr);
+
+ sample_a = rt2x00link_antenna_get_rssi_history(rt2x00dev,
ANTENNA_A);
+ sample_b = rt2x00link_antenna_get_rssi_history(rt2x00dev,
ANTENNA_B);
memcpy(&new_ant, &ant->active, sizeof(new_ant));
---
2)
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c 2009-07-13
21:51:26.000000000 +0200
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c 2009-07-13
21:54:28.000000000 +0200
@@ -375,10 +375,12 @@ int rt2x00mac_config(struct ieee80211_hw
* diversity. But for non-diversity configurations, we need
* to have configured the correct state now.
*/
- if (changed & IEEE80211_CONF_CHANGE_RADIO_ENABLED)
+ if (changed & IEEE80211_CONF_CHANGE_RADIO_ENABLED) {
+ rt2x00dev->link.ant.active = rt2x00dev->default_ant;
rt2x00lib_config_antenna(rt2x00dev,
- &rt2x00dev->default_ant);
-
+
&rt2x00dev->link.ant.active);
+ }
+
/* Turn RX back on */
rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
} else {
Regards
Lars
next reply other threads:[~2009-07-13 20:24 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-13 20:24 Lars Ericsson [this message]
2009-07-14 19:44 ` RT61 antenna diversity in 2.6.30 Ivo van Doorn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0DC66442F4FF4076964868A5ECAB9790@gotws1589 \
--to=lars_ericsson@telia.com \
--cc=ivdoorn@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=users@rt2x00.serialmonkey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox