I have been trying to set the Tx power through iwconfig and have found that the power value doesn't get set appropriately (as have others folks). It seems that the ic_txpowlimit value never gets set and so the power setting code in ath_update_txpow doesn't get called. Then each of the VAP power settings is simply reset to the original default value.
I'm not quite sure of the relationship between the maximum power setting for the device (set with ath_hal_settxpowlimit) versus the Tx power requested for each packet using ath_hal_setuptxdesc. I've done some measurements with a spectrum analyzer and found that the only way I can get the Tx power settings to change is by calling ath_hal_settxpowlimit.
I've attached a patch that sets the device's maximum power limit to the highest value requested by any of the VAP's on that device. I'm not sure if this patch is the correct solution, but at least it allows me to modifiy power levels settings and to verify that those power levels are actually changing the output power.
Signed-off-by: Dustin McIntire? <email@example.com>