Search Linux Wireless

Re: [RFC] bcm43xx-mac80211: Hack to turn automatic pctl off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 06 August 2007 23:29:04 Larry Finger wrote:
> Michael,
> 
> I sent the wrong message under this subject before.
> 
> This hack disabled hardware power control. With this installed and the
> desired power set to 10 dBm using the previous patch, I get much, much
> better performance from bcm43xx-mac80211 on my BCM4311. I have not yet
> tested it on the BCM4306 or the BCM4318.
> 
> The new iperf readings for transmit/receive with the computer about 2 m
> from the AP are as follows:
> 
> Bit Rate	xmit/receive (Mbs)
> 
> 1M		1.11/8.70
> 2M		1.44/11.0
> 5.5M		4.15/13.3
> 6M		4.76/17.4
> 9M		6.55/18.2
> 11M		6.54/14.3
> 18M		10.7/18.5
> 24M		12.8/19.5
> 36M		16.1/19.7
> 48M		18.0/19.5
> 54M		18.6/19.0
> 
> These numbers are comparable with what I'm getting with the PHY port from
> softmac. I don't understand the dip in received rate at 11M, but it is real.
> On Richard Jonsson's 4311, he isn't able to measure the transfer rate at
> 11M.
> 
> With these settings, the rate adjustment proces bumps the rate to 54M
> automatically.
> 
> Larry
> 
> 
> 
> Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
> ===================================================================
> --- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
> +++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
> @@ -471,6 +471,7 @@ void bcm43xx_phy_early_init(struct bcm43
>  	struct bcm43xx_phy *phy = &dev->phy;
>  	struct bcm43xx_txpower_lo_control *lo = phy->lo_control;
>  
> +	phy->hw_pctl_off = 1;
>  	default_baseband_attenuation(dev, &phy->bbatt);
>  	default_radio_attenuation(dev, &phy->rfatt);
>  	phy->tx_control = (default_tx_control(dev) << 4);
> Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.h
> ===================================================================
> --- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.h
> +++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.h
> @@ -219,8 +219,9 @@ void bcm43xx_gphy_dc_lt_init(struct bcm4
>  
>  /* Returns the boolean whether the board has HardwarePowerControl */
>  #define has_hardware_pctl(phy) \
> +	(!((phy)->hw_pctl_off) &&				\
>  	(((phy)->type == BCM43xx_PHYTYPE_A && (phy)->rev >= 5) ||	\
> -	 ((phy)->type == BCM43xx_PHYTYPE_G && (phy)->rev >= 6))
> +	 ((phy)->type == BCM43xx_PHYTYPE_G && (phy)->rev >= 6)))
>  /* Returns the boolean whether "TX Magnification" is enabled. */
>  #define has_tx_magnification(phy) \
>  	(((phy)->rev >= 2) &&			\
> Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx.h
> ===================================================================
> --- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx.h
> +++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx.h
> @@ -534,6 +534,7 @@ struct bcm43xx_phy {
>  	struct bcm43xx_bbatt bbatt;
>  	struct bcm43xx_rfatt rfatt;
>  	u8 tx_control; /* BCM43xx_TXCTL_XXX */
> +	bool hw_pctl_off;
>  #ifdef CONFIG_BCM43XX_MAC80211_DEBUG
>  	bool manual_txpower_control; /* Manual TX-power control enabled? */
>  #endif
> 
> ---
> _______________________________________________
> Bcm43xx-dev mailing list
> Bcm43xx-dev@xxxxxxxxxxxxxxxx
> https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
> 
> 

I am currently doing a patch for this.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux