iwconfig wlan0 txpower 30mW-不起作用


12

我想增加无线适配器的功能,但是当我进入时

sudo iwconfig wlan0 txpower 30mW

在终端中,然后检查一下,iwconfig我可以看到在尝试更改它之前,txpower仍然是以前的样子。

我的网络控制器是:

02:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)

这是ifconfig输出,如果有帮助的话:

wlan0   
Link encap:Ethernet  HWaddr 80:19:34:f5:39:08  
inet addr:192.168.1.129  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::8219:34ff:fef5:3908/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:4474 errors:0 dropped:0 overruns:0 frame:0
TX packets:3726 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:2361924 (2.3 MB)  TX bytes:520175 (520.1 KB)

但是,正好要注意的一点sudo iwconfig wlan0 power off是,用于wlan0关闭电源管理。


sudo iwlist txpower wlan0说什么?
— 2015年

Answers:


14

@ wie5Ooma,关于违反法律是正确的。但是关于回答问题。进行中:

警告取消所有限制在美国是非法的。这仅仅是出于教育的原因,如果您选择应用它并违反法律,那是您的选择,而不是我的。请小心执行。这仅用于教育目的!

  • 首先,我们需要使用一些软件包:

    • python-m2crypto
    • libgcrypt11
    • libgcrypt11-dev
    • libnl-dev
  • 要检查它们是否已安装:

    dpkg -s python-m2crypto libgcrypt11 libgcrypt11-dev libnl-dev
    
  • 如果没有,请安装:

    apt-get install python-m2crypto libgcrypt11 libgcrypt11-dev libnl-dev
    
  • 现在,您将需要无线监管数据库CRDA,以及wireless-regdb用于构建CRDA读取的数据库以向Linux内核提供监管域的工具。

  • 导航到下载文件夹并解压缩文件。

现在,这是有趣的部分。这是我们实际上可以更改法规的地方。将目录更改为wireless-regdb文件夹,然后在其中找到名为的文件db.txt。这是我们将编辑的文件。让我们快速看一下:

more db.txt

db.txt的更多内容

  • 现在,让我们看一下这里的几件事。看看我上面强调的内容。首先,让我们注意到第一个条目(country 00),它是世界监管领域,在所有其他条目之前都已应用。因此,当您打开BackTrack系统时,首先将世界域应用于您,然后您可以将管制域从那里更改为其他国家(例如AM国家)。

我要强调的第二件事,在2.4GHz频段上,最大可以达到20 dBm,我强调的第三件事。如果您想更改可以升到的高度,那就是您想要更改的数字。

  • 例如,让我们更改玻利维亚的规则*

    nano db.txt向下滚动直到找到国家BO。 在此处输入图片说明

  • 看我突出显示的内容。这是我们要更改的数字。

如果您的卡可以达到2000 mW,则可以将该数字更改为33,即33 dBm,大约为2000 mW。您要替换的数字以分贝为单位。

我不确定您的卡,某些无线卡(例如AWUS036NHA)可能卡在一个国家中,无法在该国家中更改。在这种情况下,找出您的卡所在的国家/地区,然后更改该国家/地区的配置。

快速了解DECIBEL:

每10分贝,功率增加10 倍,从1 dBm等于1mW ... 10 dBm等于10 mW,20 dBm等于100 mW,30 dBm等于 1000 mW,依此类推。快速了解DECIBEL:

每增加10分贝,功率增加10倍,从1 dBm等于1mW开始... 10 dBm等于10 mW,20 dBm等于100 mW,30 dBm等于1000 mW,依此类推。每3分贝大约是先前功率的两倍,因此30 dBm为1000 mW,如果再加上3 dBm,则可以将功率增加一倍,使33 dBm大约等于2000 mW。每3分贝大约是

之前的功率,因此30 dBm为1000 mW,如果加上3 dBm,则可以将功率加倍,使得33 dBm大约等于2000 mW。

现在,注意。

在此处输入图片说明

注意,现在我将数字更改为33。当我们完成此处的操作后,当我将监管域更改为BO时,可以将其设置txpower为33。

  • 现在,请先按Ctrl+ X,然后按Y和最后按来保存更改Enter。

现在,您需要将我们的旧法规文件与您下载的文件交换。仍在wireless-regdb目录中时,只需输入命令make。

您会注意到该目录中现在有一些新文件。很好 您regulatory.bin现在需要用旧目录替换此目录中的文件。

首先导航到真实regulatory.db的位置。

cd /usr/lib/crda

并且,我们还备份了旧的以防万一(推荐)。

mv regulatory.bin regulatoryOLD.bin

现在让我们引入新的。返回到我们新的regulatory.bin的目录,然后将其复制并验证它是否在其中。

cd {path to your new regulatory.bin}
cp regulatory.bin /usr/lib/crda/regulatory.bin
cd /usr/lib/crda
ls

验证 现在,我们有了新的regulatory.db,但它尚未生效。回到wireless-regdb目录,您会发现有些文件的扩展名为.pem。将所有以a结尾的文件复制.pem到的下载crda目录中pubkeys。这些是CRDA用来检查其是否regulatory.bin有效的文件。

cd ~/Desktop/wireless-regdb-2013.10.11
cp root.key.pub.pem ~/Desktop/crda-1.1.3/pubkeys/root.key.pub.pem
cp linville.key.pub.pem
~/Desktop/crda-1.1.3/pubkeys/linville.key.pub.pem

并验证:

cd ~/Desktop/crda-1.1.3/pubkeys
ls

最后,现在转到您要下载的crda目录所在的目录,然后安装此小狗。

cd ..
make
make install

您应该会看到类似的内容。 在此处输入图片说明

如果是这样,请重新启动: sudo reboot

重新启动后:

iw reg set BO
iwconfig wlan0 txpower 33

3
john_s的Intel卡有稳定性问题,而无线电源没有​​问题(XY问题meta.stackexchange.com/questions/66377/what-is-the-xy-problem),但是,您的答案是最好的答案问题是,它仅适用于大功率天线,但您的答案值得悬赏。
— Helio 2015年

@ j0h如下所示:仅当数据库小于30时,玻利维亚技巧才有效。如果查看玻利维亚设置,则限制为30。如果要切换到玻利维亚,然后再提高,则需要编辑并重新编译包含区域设置的数据库。为什么您不使用美国,我不知道,数据库中有美国。试试这个:null-byte.wonderhowto.com/how-to/…不过,您需要找到crda的实际来源。我在wireless.wiki.kernel.org/en/developers/Regulatory#crda
— Helio,2015年

1
哪里是registry.db文件?在Ubuntu 16.04上,我什至没有/ usr / lib / crda文件夹。我在/ lib / crda文件夹中找到它。
— wordforthewise

它从未为我创建linville.key.pub.pem密钥。
— wordforthewise

我正在尝试降低txpower(以进行测试),但它仍保持20dBm不变。有任何想法吗?
— Chefarov

6

您正在尝试提高传输功率,但是在法律和技术上都受到限制。无线传输遵守CRDA规则,该规则简而言之是描述允许最大传输功率的列表。您的设备/操作系统具有国家(地区)代码,因此知道该怎么做。如果没有国家/地区代码,它将以始终可以安全使用的通用值进行操作。

还有更多:某些卡甚至在技术上受到限制。它们具有内置的固定国家/地区代码,并且构造为无论您尝试使用哪种功能都无法使用更高的功率。

我也有Intel无线网卡,无论我如何尝试提高它,Tx功率始终为16。


嗨,wie5Ooma,从本质上讲,我不想违反法律,我也不打算将无线适配器设置为30wM。但是,在Windows下显示的信号强度以及连接的感觉速度要好得多且更稳定。关于我可以尝试的其他提示吗?
— johann_ka 2015年

现在,您将问题稍微转移到了基于观点的领域。没有任何数字证据,我真的无法分辨Windows和Linux之间是否存在差异,因为我不使用Windows。我必须对此多加思考。附带说明:您是否知道您正在写wM而不是mW?因此,应该首先是一个小M,然后是大写W拼写mW,代表milliWatt。
— wie5Ooma 2015年

2

这可能是因为您所在的国家/地区具有限制性法律。您可以将功率增加到超出本地限制,但这可能会违反法律。这仅适用于高功率天线。

方法1:

打开终端并复制粘贴以下命令:

ifconfig wlan0 down
iw reg set BO
iwconfig wlan0 txpower 30
ifconfig wlan0 up

如果上述方法给出以下错误,则转到方法2。

Error for wireless request "Set Tx Power" (8B26) :
SET failed on device wlan0 ; Invalid argument.

方法2:

打开终端并复制粘贴以下命令:

ifconfig wlan0 down
iw reg set BO
iwconfig wlan0 channel 13
iwconfig wlan0 txpower 30
ifconfig wlan0 up

消息来源:此页面


1
哦,我的意思是sudo iwconfig wlan0 txpower 30mW。即使我执行sudo iwconfig wlan0 txpower 20mW而不是30mW,它也不起作用。
— johann_ka 2015年

您怎么知道它不起作用?
— Helio

// @ Helio:谢谢你回来。对于这两种方法,步骤2都会sudo iw reg set B0产生以下错误消息:无效的ISO / IEC 3166-1 alpha2特殊的非alpha2可用条目:00世界管制域
— johann_ka 2015年

@ Helio:我当时想我可以通过简单地输入iwconfig并检查Tx-Power = NUM​​BER HERE dBm后面的数字来查看它是否正常工作
— johann_ka 2015年

1
它是BO被O,玻利维亚,未B-零
— 的Helio

2

键入这些命令,它们将启用AGG TX,并可以大大提高无线N网络的性能。此错误报告说,不使用11n_disable=8

sudo rmmod iwlmvm
sudo rmmod iwlwifi
sudo modprobe iwlwifi 11n_disable=8

现在,像平常一样尝试使用计算机。如果信号仍然很低,则此解决方案可能不是您所需要的解决方案。在这种情况下,只需重新启动计算机即可还原所做的更改。如果它变得正常且快速,请在终端中键入以下行来永久执行:

sudo gedit /etc/modprobe.d/iwlwifi-disable11n.conf

文件将被打开(在此之前可能不存在)。在文件末尾,粘贴以下行,然后保存:

options iwlwifi 11n_disable=8

保存后,退出并重新启动。


如果这不起作用,替换11n_disable=8用11n_disable=1和重复以上步骤。


嗨,Helio,谢谢你。输入时sudo rmmod iwlwifi,出现以下错误消息:rmmod: ERROR: Module iwlwifi is in use by: iwlmvm我应该停用iwlmvm吗?
— johann_ka 2015年

我看不出这个答案与原始问题有什么关系。这个“ 11n_disable”技巧不会提高信号强度,并且在11n网络上会有效地削弱连接,因为您在此处禁用了N速功能,从而将速度限制为11g,而不是150Mb / s,而是54Mb / s,甚至取决于您的设备300Mb / s。
— wie5Ooma 2015年

@ wie5Ooma您有理由,但是它将改善连接稳定性,并且关于速度,我认为这不会造成太大的损失,但是john_s将拥有最后一句话;-)
— Helio

@john_s是的,iwlmvm如果已加载,则可以将其删除。使用此命令:sudo rmmod iwlmvm。我更新了我的帖子。
— Helio

1
仅当数据库小于30时,玻利维亚技巧才有效。如果查看玻利维亚设置,则限制为30。如果要切换到玻利维亚,然后再提高,则需要编辑并重新编译包含以下内容的数据库:区域设置。为什么您不使用美国,我不知道,数据库中有美国。试试这个:null-byte.wonderhowto.com/how-to/…不过,您需要找到crda的实际来源。我在crda的手册页中找到此页面:wireless.wiki.kernel.org/en/developers/Regulatory#crda
— j0h 2015年

1

您好,我个人使用带有ALPHA网卡awus036nh的Kali linux 2,并且使用方法1更改了TX卡的电源。

对于那些在BO reg设置方面遇到麻烦的人,请尝试使用GY reg设置。对我来说,它是完全可用的,但对BO来说却失败了!希望能帮助到你!

ifconfig wlan1 down
iw reg set GY
iwconfig wlan1 txpower 30
ifconfig wlan1 up

0

对于Ubuntu 16.10,crda在之下/lib/crda/。为了编译新的“ crda”,请执行以下操作:

sudo su
cp -r /lib/crda /usr/lib/crda
cd /usr/lib/crda
mv regulatory.bin regulatory.bin.bak
cd {path to your new regulatory.bin}
cp regulatory.bin /usr/lib/crda/regulatory.bin

然后将生成的* .pem文件移动到下载的crda目录中:

cd {path to downloads folder}/wireless-regdv-YYYY.MM.DD
cp {path to your new regulatory.bin}/*.pem pubkeys/
make
make install

现在,将crda文件夹从“ / usr / lib / crda”复制回Ubuntu 16中的默认路径:

cp -r /usr/lib/crda /lib/ 

sudo reboot和iw reg set {country-code}。

我使用这种方法将wifi设置为使用分配给我国家业余无线电服务的频率范围和合法功率水平。这仅限于许可的业余无线电运营商。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.