Search Linux Wireless

Re: [PATCH] rt2800: Initialize max_txpower to MAX_G_TXPOWER and MAX_A_TXPOWER respectively

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

On Tue, May 22, 2012 at 1:26 PM, Andreas Hartmann
<andihartmann@xxxxxxxxxxxxxxx> wrote:
> Hello Helmut,
> Helmut Schaa wrote:
>> Hi Andreas,
>> Sorry, missed your previous mail.
> Thanks for your response!! This made things more clear to me!
>> On Tue, May 22, 2012 at 10:38 AM, Andreas Hartmann
>> <andihartmann@xxxxxxxxxxxxxxx> wrote:
>>> Andreas Hartmann wrote:
>>>> Helmut Schaa wrote:
>>>>> On Fri, May 18, 2012 at 6:21 PM, Tobias Diedrich <ranma@xxxxxxxxxxxx> wrote:
>>>>>>> So, maybe we should do it the safe way and just register a safe default
>>>>>>> of 20dBm for all channels?
>>>>>> AFAIU that would cap you to 20dBm even if you are in a country that
>>>>>> has higher limits (e.g. 27dBm in the US?).
>>>>> Not necessarily because the driver won't allow tx power adjustments at all
>>>>> if EEPROM_EIRP_MAX_TX_POWER is unused.
>>>> This means:
>>>> Tx settings in cfg80211 as given by "iw reg get" e.g. are ignored
>>>> completely as long as EEPROM_EIRP_MAX_TX_POWER is unused.
>>>> Thus it is more or less chance that the device actually uses the allowed
>>>> / correct Tx power at all. Maybe it's too high or too low. Both would be
>>>> bad.
> [Most ralink devices have fixed max Tx power depended on the region, the
> device was sold]
>> Either we have to tune cfg80211 to allow setting the tx power by percentage
>> or disallow tx power control on these device or we trick cfg80211 by registering
>> a reasonable default value (like 20dBm) to cfg80211 but do adjustments
>> by percentage.
>> So, if a device is actually calibrated to 17dBm but we register 20dBm
>> to cfg80211
>> and a user sets the new tx power to 17dBm we can apply the actual delta to
>> the device tx power configuration. Hence, the device will then
>> transmit with 14dBm
>> while cfg80211 shows 17dBm. This would be a compromise to still allow tx power
>> settings without having to add all the overhead to cfg80211.
> What about this idea: The driver gets an option to set the calibrated
> region (devcalreg), say US. This is a static value in respect of the device.
> If the user operates the device in DE, he just would have to change the
> value of cfg80211 from US to DE.
> Device sold in US
> =================
> Device operated in US
> devcalreg=US                                    23dBm
> cfg80211=US             100% max Tx power       23dBm
> Device operated in DE
> devcalreg=US                                    23dBm
> cfg80211=DE             87%  max Tx power       20dBm
> If cfg80211 is set to a region which allows higher values, the
> percentage would be >100%, but this could be probably easily prohibited.
> If the user doesn't provide devcalreg your default value gets applied.
> The difference to your idea is, that the "default" could be dynamically
> derived from cfg80211 on the basis of the devcalreg. This would prohibit
> the problem you showed above.

Understood, but that would require the user to know the domain the
device is calibrated for.

I think we should just always run the device at 100% but add an option in
the future to allow rx power reduction by percentage.

To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Linux Kernel]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]     [Free Dating]     [M2M Wireless]

Add to Google Powered by Linux