This guide contains 3 different methods to increase your TX Power or Signal Strength of your Wifi Wireless card. It also includes 2 ways to make those changes kick in at boot time so that you can enjoy the extra power every time you boot into your Linux distro.
The default TX-Power of wireless is set to 20 dBm but you can increase it with a little trick to 30 dBm but let me warn you first that It might be illegal in your country, so use it at your own risk. Moreover Some models will not support these settings or wireless chip may state that it “can” transmit with higher power, but the device’s manufacturer probably did not place the appropriate heat sink in order to accomplish this. Readers MUST use this guide knowing what is allowed or not allowed in their country. Author is not responsible for any action taken by a reader.
3 simplest options for you..
Option 1
Open terminal and copy paste the following commands:
iw reg set GY iwconfig wlan0 txpower 30
If above method gives the following error then go for Option 2.
Error for wireless request "Set Tx Power" (8B26) : SET failed on device wlan0 ; Invalid argument.
Option 2
ifconfig wlan0 down iw reg set GY ifconfig wlan0 up iwconfig wlan0 channel 13 iwconfig wlan0 txpower 30
Options 3
Copy paste the following commands into a text file and save it as IncreaseWifiTx
You might want to edit regions to your likings. Link to world regulatory domains are at the bottom of this post.
#!/bin/bash echo "hello, root!" echo " taking down wlan0" ifconfig wlan0 down sleep 3 echo "setting Region to Bolivia" iw reg set GY sleep 3 echo "setting TxPower to 30" iwconfig wlan0 txpower 30 sleep 2 echo "starting wlan0" ifconfig wlan0 up echo "pulling wlan0 interface up" iwconfig sleep 5 echo "good bye"
Now do
chmod +x IncreaseWifiTx ./IncreaseWifiTx
Important FIX regarding region
Following is taken from a reader’s comment.
Hi everyone, you read this here first !! Greetings from down under =)
It looks like the folks in charge of the linux wireless regulatory database have found the BO (Bolivia) hack everyone is using, so they set it back to Tx-Power=20 dBm as of mid 2014. New 2015 KALI kernels are now including this limit.
See for yourself:
————————————————————————————————————————————-
https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2014.06.13.tar.gz (2014-06-13)
(db.txt)
country BO: DFS-JP
(2402 – 2482 @ 40), (30) <<<< the old uncapped database. Limit is 30.
(5735 – 5835 @ 80), (30)
————————————————————————————————————————————-
https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2015.01.30.tar.gz (2014-10-06 ONWARD)
(db.txt)
country BO: DFS-JP
(2402 – 2482 @ 40), (20) <<<< notice it is now capped at 20!
(5250 – 5330 @ 80), (30), DFS
(5735 – 5835 @ 80), (30)
—————————————————————————–
So, what can we do? You can edit the regulation database which is a pain in the ass, or just pick another region.
Try BZ (Belize) or GY (Guyana) as a backup plan =)
country BZ: DFS-JP
(2402 – 2482 @ 40), (30)
(5735 – 5835 @ 80), (30)
country GY:
(2402 – 2482 @ 40), (30)
(5735 – 5835 @ 80), (30)
Enjoy!!
PS. For the Aussies out there, worth pointing out we are getting ripped off. Those buggers across the ditch are getting 30dBm
country NZ: DFS-FCC
(2402 – 2482 @ 40), (30)
(5170 – 5250 @ 80), (17), AUTO-BW
(5250 – 5330 @ 80), (24), DFS, AUTO-BW
(5490 – 5730 @ 160), (24), DFS
(5735 – 5835 @ 80), (30)
=P
Setting changes automatically at boot
You can achieve it in multiple ways.
By editing rc.local file
You can set it at startup by adding the above commands (choose option 1 or 2) at the end of /etc/rc.local file and with exit 0 at the end.
Some would argue to use
update-rc.d <your script> defaults
Using GUI – Start-up Programs
Move IncreaseWifiTx file to /usr/bin.
mv IncreaseWifiTx /usr/bin/IncreaseWifiTx
Make it executable
chmod +x /usr/bin/IncreaseWifiTx
Now just follow these steps:
- Click on “Applications” –> “System Tools” –> “Preferences” –> “Startup Applications”
- Click “Add”
- Add these details
- Name: Increase Wifi TX
- Command: /usr/bin/IncreaseWifiTx
- Comment: Make my Wifi run HOT
- Click Save
- Close.
Wikipedia Link explaining Wifi
http://en.wikipedia.org/wiki/Wi-Fi
Kernel.org link explaining world regulatory domains and other info
https://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git/tree/db.txt?id=HEAD
Thanks for reading.
p.s. Thanks to Hitman for his instructions and NopSled for pointing out the issue with BO. I’ve updated the guide with GY instead.
csw_wifi
I was wondering if you have tried increasing the txpower higher? You probably have seen this around on the web, but you can modify the restrictions in the wireless-regdb’s regulatory.bin to effect this change. The Regulatory restrictions have Bolivia (BO) limited to 30dBm or 1000mW. So if you change this limitation to 33, it will essentially allow you to double the txpower watts to 2000mW (which is the equivalent of 2 watts…the approximate strength of your average college radio station!). I actually change the default, GB, and the US regulations to these modified Bolivia settings, so I don’t even need to change the regulatory domain.
I have read that you could go up even to 36dBm, which would boost it to 4000mW, although I have not done this yet (but have read that people have done it without any perceivable damage to the card after several months of use). This would allow a big improvement to stations/clients connecting to it (say as a legitimate AP), because it would allow fast downloading of bigger files, etc. However…. in the pentesting arena, I have no idea if this would be of any benefit. Considering that most wifi attacks work best if the target’s signal is at some minimum level, does the increasing your transfer power do much in the way of wifi attacks (a lot of people maintain that both wps-based attacks and WPA2 attacks work better if the target’s signal is in the 50s, or even the 40s.
Anyway…just thought I would ask…as you might have tried it already.
this tutorial is good for transmitting stronger signal but how can i receive greater signal? is there any workaround here(though not physically).
Only way you can receive better signal is by using a directional antenna. LifeHacker got a nice guide … http://lifehacker.com/5964111/diy-wi-fi-antenna-cheaply-extends-your-wireless-network
Hi everyone, you read this here first !! Greetings from down under =)
It looks like the folks in charge of the linux wireless regulatory database have found the BO (Bolivia) hack everyone is using, so they set it back to Tx-Power=20 dBm as of mid 2014. New 2015 KALI kernels are now including this limit.
See for yourself:
————————————————————————————————————————————-
https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2014.06.13.tar.gz (2014-06-13)
(db.txt)
country BO: DFS-JP
(2402 – 2482 @ 40), (30) <<<< the old uncapped database. Limit is 30.
(5735 – 5835 @ 80), (30)
————————————————————————————————————————————-
https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2015.01.30.tar.gz (2014-10-06 ONWARD)
(db.txt)
country BO: DFS-JP
(2402 – 2482 @ 40), (20) <<<< notice it is now capped at 20!
(5250 – 5330 @ 80), (30), DFS
(5735 – 5835 @ 80), (30)
—————————————————————————–
So, what can we do? You can edit the regulation database which is a pain in the ass, or just pick another region.
Try BZ (Belize) or GY (Guyana) as a backup plan =)
country BZ: DFS-JP
(2402 – 2482 @ 40), (30)
(5735 – 5835 @ 80), (30)
country GY:
(2402 – 2482 @ 40), (30)
(5735 – 5835 @ 80), (30)
Enjoy!!
PS. For the Aussies out there, worth pointing out we are getting ripped off. Those buggers across the ditch are getting 30dBm
country NZ: DFS-FCC
(2402 – 2482 @ 40), (30)
(5170 – 5250 @ 80), (17), AUTO-BW
(5250 – 5330 @ 80), (24), DFS, AUTO-BW
(5490 – 5730 @ 160), (24), DFS
(5735 – 5835 @ 80), (30)
=P
That’s excellent. Many thanks for pointing it out.
NopSled – NICE thanks that was it
Hi folks!
Is the above hack still valid? I tried the commands without any luck. I live in The Netherlands, Europe.
Thanks!
No, the above hack isn’t valid. The kernels have been patched to disallow it.
try to first airmon-ng start [] then do ur txpower. i am still getting it work with BO as standards
Why not just add a pre-up line to your /etc/network/interfaces with the path to the script?
Thanks for sharing
How would one set the power very low 1mW/0dBm, 0.1mW etc.. using iw command.
I dont see any change on openwrt.
Thanks in advance
Sporan