All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anisse Astier <anisse@astier.eu>
To: Gertjan van Wingerde <gwingerde@gmail.com>,
	linux-wireless@vger.kernel.org, users@rt2x00.serialmonkey.com
Cc: Julian Calaby <julian.calaby@gmail.com>,
	linville@tuxdriver.com, Ivo van Doorn <IvDoorn@gmail.com>,
	Helmut Schaa <helmut.schaa@googlemail.com>,
	RA-ShiangTu <Shiang_Tu@ralinktech.com>,
	RA-Jay Hung <Jay_Hung@ralinktech.com>,
	John Li <chen-yang.li@mediatek.com>,
	Kevin Chou <kevin.chou@mediatek.com>
Subject: Re: [PATCH v2] rt2800: add chipset revision RT5390R support
Date: Thu, 3 May 2012 18:10:03 +0200	[thread overview]
Message-ID: <20120503181003.2c7c6f27@destiny.ordissimo> (raw)
In-Reply-To: <1335177191-11101-1-git-send-email-anisse@astier.eu>

Hi,

Any opinon on the patch below ?

On Mon, 23 Apr 2012 12:33:11 +0200, Anisse Astier <anisse@astier.eu> wrote :

> About 70% of the chips with revision RT5390R initialize incorrectly, using
> the auxiliary antenna instead of the main one. The net result is that
> signal reception is very poor (no AP further than 1M).
> 
> This chipset differs from RT5390 and RT5390F by its support of hardware
> antenna diversity. Therefore antenna selection should be done
> differently, by disabling software features and previously selected
> antenna.
> 
> This changeset does just that, and makes all RT5390R work properly.
> 
> This is based on Ralink's 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
> driver.
> 
> Signed-off-by: Anisse Astier <anisse@astier.eu>
> ---
> Changes since v1:
>  - moved default_ant inits to proper function, thanks to Gertjan van Wingerde !
> 
> ---
>  drivers/net/wireless/rt2x00/rt2800.h    |    1 +
>  drivers/net/wireless/rt2x00/rt2800lib.c |   12 ++++++++++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
> index 063bfa8..1ce2634 100644
> --- a/drivers/net/wireless/rt2x00/rt2800.h
> +++ b/drivers/net/wireless/rt2x00/rt2800.h
> @@ -83,6 +83,7 @@
>  #define REV_RT3090E			0x0211
>  #define REV_RT3390E			0x0211
>  #define REV_RT5390F			0x0502
> +#define REV_RT5390R			0x1502
>  
>  /*
>   * Signal information.
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index bd19802..1cd16b4 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -3356,6 +3356,13 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
>  			rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg);
>  		}
>  
> +		/* This chip has hardware antenna diversity*/
> +		if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) {
> +			rt2800_bbp_write(rt2x00dev, 150, 0); /* Disable Antenna Software OFDM */
> +			rt2800_bbp_write(rt2x00dev, 151, 0); /* Disable Antenna Software CCK */
> +			rt2800_bbp_write(rt2x00dev, 154, 0); /* Clear previously selected antenna */
> +		}
> +
>  		rt2800_bbp_read(rt2x00dev, 152, &value);
>  		if (ant == 0)
>  			rt2x00_set_field8(&value, BBP152_RX_DEFAULT_ANT, 1);
> @@ -4291,6 +4298,11 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
>  		rt2x00dev->default_ant.rx = ANTENNA_A;
>  	}
>  
> +	if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) {
> +		rt2x00dev->default_ant.tx = ANTENNA_HW_DIVERSITY; /* Unused */
> +		rt2x00dev->default_ant.rx = ANTENNA_HW_DIVERSITY; /* Unused */
> +	}
> +
>  	/*
>  	 * Determine external LNA informations.
>  	 */


Regards,

Anisse

  reply	other threads:[~2012-05-03 16:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-18 14:23 [PATCH] rt2800: add chipset revision RT5390R support Anisse Astier
2012-04-20 17:07 ` Gertjan van Wingerde
2012-04-23  7:50   ` Anisse Astier
2012-04-23  9:56     ` Gertjan van Wingerde
2012-04-23 10:33       ` [PATCH v2] " Anisse Astier
2012-05-03 16:10         ` Anisse Astier [this message]
2012-05-03 16:15           ` Gertjan van Wingerde
2012-05-03 16:23             ` Anisse Astier

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=20120503181003.2c7c6f27@destiny.ordissimo \
    --to=anisse@astier.eu \
    --cc=IvDoorn@gmail.com \
    --cc=Jay_Hung@ralinktech.com \
    --cc=Shiang_Tu@ralinktech.com \
    --cc=chen-yang.li@mediatek.com \
    --cc=gwingerde@gmail.com \
    --cc=helmut.schaa@googlemail.com \
    --cc=julian.calaby@gmail.com \
    --cc=kevin.chou@mediatek.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.