I'm doing a research and I'm wondering if it's possible to hack
wireless drivers to allow setting txpower to smaller value than 1mW
(e.g. 0.1mW = -10dBM, or even 0.01mW). I've checked source code and in
net/mac80211/cfg.c there is the following check:
if (mbm < 0 || (mbm % 100))
return -EOPNOTSUPP;
and in e.g. in drivers/net/wireless/iwlwifi/iwl-4965.h also the min
power output is limited by this define:
IWL_TX_POWER_TARGET_POWER_MIN (0)
Is it possible to modify source to allow negative power output in dBm
that would work? Or is it physical limitation from the hardware? I'm
doing just a research using Intel Corporation PRO/Wireless 4965 AG
card and right now I don't require to support other hardware. Is
there any way to check minimum power output capability by given
wireless card? I'm not proficient with driver hacking so any hint
where to start (which file to look up, references) would be helpful.
Thanks,
Patryk
2011/10/21 Patryk Żółtowski <[email protected]>:
> I'm doing a research and I'm wondering if it's possible to hack
> wireless drivers to allow setting txpower to smaller value than 1mW
> (e.g. 0.1mW = -10dBM, or even 0.01mW). I've checked source code and in
> net/mac80211/cfg.c there is the following check:
>
> if (mbm < 0 || (mbm % 100))
> return -EOPNOTSUPP;
The "mbm % 100" part is even weirder; why do we even use millibels if
we only allow whole-decibel values?
>
> and in e.g. in drivers/net/wireless/iwlwifi/iwl-4965.h also the min
> power output is limited by this define:
>
> IWL_TX_POWER_TARGET_POWER_MIN (0)
>
> Is it possible to modify source to allow negative power output in dBm
> that would work? Or is it physical limitation from the hardware? I'm
> doing just a research using Intel Corporation PRO/Wireless 4965 AG
> card and right now I don't require to support other hardware. Is
> there any way to check minimum power output capability by given
> wireless card? I'm not proficient with driver hacking so any hint
> where to start (which file to look up, references) would be helpful.
>
> Thanks,
> Patryk
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
Hi,
The AR9280 and later atheros NICs support a minimum TX power of -5 dBm.
It depends on what the actual NIC manufacturer does (if they glue an
amplifier on the end, then all bets are off) but the chipsets are
capable of it.
It's also possible someone's glued attenuators to pre-AR9280 series
NICs to achieve the same output. Or you could do the same.
But at that point you're not communicating < 0 dBm to the NIC, and I
don't think cfg80211 has the idea of a TX power offset (ie, that the
NIC output is +/- x dBm different to the programmed value.)
HTH,
Adrian
On Fri, 2011-10-21 at 14:35 -0700, Patryk Żółtowski wrote:
> I'm doing a research and I'm wondering if it's possible to hack
> wireless drivers to allow setting txpower to smaller value than 1mW
> (e.g. 0.1mW = -10dBM, or even 0.01mW). I've checked source code and in
> net/mac80211/cfg.c there is the following check:
>
> if (mbm < 0 || (mbm % 100))
> return -EOPNOTSUPP;
>
> and in e.g. in drivers/net/wireless/iwlwifi/iwl-4965.h also the min
> power output is limited by this define:
>
> IWL_TX_POWER_TARGET_POWER_MIN (0)
>
> Is it possible to modify source to allow negative power output in dBm
> that would work? Or is it physical limitation from the hardware? I'm
> doing just a research using Intel Corporation PRO/Wireless 4965 AG
> card and right now I don't require to support other hardware. Is
> there any way to check minimum power output capability by given
> wireless card? I'm not proficient with driver hacking so any hint
> where to start (which file to look up, references) would be helpful.
>
First, what kernel you are using, the latest iwlegacy driver does not
has IWL_TX_POWER_TARGET_POWER_MIN defined.
Also, for 4965, even the tx power table is filled and send by the
driver, but firmware still has the final call and I do not believe
negative power output is possible. Plus I don't think the tx power HCMD
can support negative value.
BTW, 4965 is the last Intel WiFi device still has tx power table filled
by the driver, starting from 5000 series, tx power is control by the
firmware.
Thanks
Wey
On Sat, 2011-10-22 at 00:02 +0200, Gábor Stefanik wrote:
> 2011/10/21 Patryk Żółtowski <[email protected]>:
> > I'm doing a research and I'm wondering if it's possible to hack
> > wireless drivers to allow setting txpower to smaller value than 1mW
> > (e.g. 0.1mW = -10dBM, or even 0.01mW). I've checked source code and in
> > net/mac80211/cfg.c there is the following check:
> >
> > if (mbm < 0 || (mbm % 100))
> > return -EOPNOTSUPP;
>
> The "mbm % 100" part is even weirder; why do we even use millibels if
> we only allow whole-decibel values?
This is really just historic -- nobody has so far cared about TX power
enough to clean up the APIs for it etc. The distinction between
"automatic", "fixed" and "limited" (auto <= some value) is also not
really done very well here.
johannes