LuCi can change txpower, but iw can’t

What’s the best way to change txpower from the shell? I’ve been trying to change my wlan0 txpower via ssh using iw. For example: iw dev wlan0 set txpower fixed 15.00. I’ve tried bringing the device down first, etc. but it stays stuck where it is. I’m able to change it via LuCi successfully to 18dBm or below. I’m not sure why it won’t go above 18dBm, but that’s a separate issue.

Change in /etc/coinfig/wireless

It's option txpower under config wifi-device 'xxxx'.

You then can do an /etc/init.d/wireless restart.

use iwconfig. iw requires too many attributes to remember

uci set wireless.radio0.txpower=15
uci commit
/etc/init.d/network restart

Limits are determined by your set global region, viewed with iw reg get. Otherwise, if your device is qualcomm atheros based, it will have hard limits on the transmit power allowed as defined in the art/radio partition. Usually this is done in accordance with what the power amps are capable of, but some vendors in the past have been known to cap performance for marketing purposes.

1 Like

Thanks! The uci and iwconfig methods both allowed me to change the txpower, but it seems like no matter how I try, txpower won’t go over 18 dBm. The region is 00 and I’m able to select up to 20 dBm in LuCi, but the real txpower stays at 18 dBm regardless.

The chipset is Marvell, so there shouldn’t be any caps, right? This is a linksys ea3500, btw.

Txpower is limited to 18 on my ea3500 too, there's no workaround that I know of, I've always assumed it was done for marketing as @shunjou pointed out.

1 Like

Yay capitalism!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.