Tx power conttrol issue

William Tai williamt at arescom.com
Fri Aug 1 23:28:31 EDT 2003

----- Original Message ----- 
From: "Jouni Malinen" <jkmaline at cc.hut.fi>
To: <hostap at shmoo.com>
Sent: Friday, August 01, 2003 7:24 PM
Subject: Re: Tx power conttrol issue

> On Fri, Aug 01, 2003 at 09:20:12PM +0200, Jirka Bohac wrote:
> > Yes, up to 0.0.3, txpower can be controlled directly with "iwconfig xxx
> > txpower". However, there are a couple of problems. The setting does not
> > remain in effect after a "card reset", which is performed from time to
> > time by the driver. So after the first reset, the power is back on
> > Maybe it's because of these problems that Jouni disabled the txpower
> > control support. He also says that the setting is not accurate - indeed,
> > the "decibells" you use in iwconfig have NOTHING TO DO with real output
> > power expressed in dBm. Jouni probably wants to use a special prism
> > power feedback register, CR58, for more accurate setting.
> No, removal of txpower command has nothing to do with either of these
> issues. First one can be fixed easily and accuracy is not that much of a
> problem. Just read the v0.0.4 entry in ChangeLog for the real reason.
> > However, in our network where most people use the same kind of card, we
> > have our own calibrations, and we learned to live with the old system.
> > The absence of txpower control in 0.0.4 is a big pain for us :(
> > Anything would be better than nothing at all.
> It's not like "nothing at all"; Prism2/2.5/3 cards have TX power control
> in the firmware. Host AP driver has always defaulted to let the firmware
> take care of TPC. Newer firmware versions include a command for limiting
> maximum power, but Host AP driver does not yet support it.
> > Is any help needed to get txpower control back in the driver?
> I will probably take a look at implementing proper feedback loop from
> the TX power measurements. However, I do not know when I will have time
> for doing this. Clean and tested patch to implement this would be
> accepted gladly ;-).
> -- 
> Jouni Malinen                                            PGP id EFC895FA

First of all, thanks for the valuable information so that I can control my
txpower now.
Now I can control txpower by set ALC to 0 every time before I call
 if (hfa384x_cmd(dev, HFA384X_CMDCODE_WRITEMIF,
        HFA386X_CR_MANUAL_TX_POWER, &val, NULL))
  ret = -EOPNOTSUPP;.
But from log change of Jouni, it seems that this txpower control will
introduce some interference.

Is it because we turn ALC off so that txpower compensation is disabled?
Am I right?

There is another way to control txpower by config PDR 0x0300 and 0x0301.
ALC is enabled in this way.
Is this means that we have a better txpower control?
Now I am working on this.
Maybe this is a better way to control txpower.
To implement this, it is supposed to have 3 steps.

1. load PDA from card ** use prism2_read_pda( )
2. modify PDR 0x0300 and PDR 0x0301
3. relaod modified PDA to card ** use prism2_download_volatile( )

Now I have a question in step 3.
The the last sector of PDA is PDR 0x0000.
The last word of this PDR is CRC16.
So after I modify PDR 0x0300 and PDR 0x0301, do I have to re-calculate CRC16
and then re-load it to card?
And how do I know the new PDA working properly?

 local->hw_downloading = 0;
 if (prism2_hw_config(dev, 2)) {
  printk(KERN_WARNING "%s: Card configuration after RAM "
         "download failed\n", dev->name);  <---Does this indicate download
PDA failure?
  ret = -1;
  goto out2;
Now I am working on this.
Any advice is welcome.


> _______________________________________________
> HostAP mailing list
> HostAP at shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap

More information about the HostAP mailing list