转自:https://www.blackmoreops.com/2013/10/27/how-to-increase-tx-power-signal-strength-of-wifi/
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 everytime 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
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
http://git.kernel.org/cgit/linux/ker…db.txt?id=HEAD
Thanks for reading.
p.s. Thanks to Hitmanfor his instructions and NopSled for pointing out the issue with BO. I’ve updated the guide with GY instead.