我知道这类问题已经存在,但这是 2016 年的问题,对我来说不起作用。我正在使用安装在我的笔记本电脑上的最新 Kali 版本。
所以我想“iw reg set BO”这样我就可以增加 txpower。但我明白了:
global country 00: DFS-UNSET (2402 - 2472 @ 40), (6, 20), (N/A) (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN (57240 - 63720 @ 2160), (N/A, 0), (N/A)phy#1 country 99: DFS-UNSET (2402 - 2472 @ 40), (N/A, 20), (N/A) (2457 - 2482 @ 40), (N/A, 20), (N/A), PASSIVE-SCAN (5140 - 5860 @ 40), (N/A, 30), (N/A), PASSIVE-SCAN
所以它什么也没做。
答案1
首先,该iw
命令是一个新的基于 nl80211 的无线设备 CLI 配置实用程序。它取代了iwconfig
和等旧工具iwlist
。然而,只有当您的 WiFi 适配器支持时,更改监管域才有意义。
让我们来分析一下发生了什么:
您的 WiFi 适配器:并非所有适配器都能很好地使用更改其监管域的命令。检查您的特定型号的制造商规格,以确保它能够做到这一点。
CRDA 和您的系统:您系统中的中央监管域代理 (CRDA) 可能会根据系统或 WiFi 卡中嵌入的国家/地区代码覆盖您的命令。
您可以尝试以下一些故障排除技巧:
sudo dpkg-reconfigure crda
重新配置 crda:通过运行并将您的国家/地区设置为 BO 来重新配置 crda 软件包。
检查 dmesg 日志:该命令dmesg | grep cfg80211
将向您显示输出日志,您可以在其中检查您的命令是否被接受或覆盖。
重新启动系统:运行后简单地重新启动iw reg set BO
可能有助于更改生效。
答案2
在评论中,您显示了两条重要的dmesg
日志消息:
[ 3.827270] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.829504] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
Debian(以及与之相关的发行版,如 Ubuntu 和 Kali)已经放弃了旧crda
系统,转而/lib/firmware/regulatory.db
使用与加载固件文件基本相同的机制来直接加载无线监管规则。
但是监管数据必须经过身份验证,并且有两个可能的来源:如果您使用的是发行版内核,它可能会使用发行版本身签名的监管数据文件,以避免内核中的任何第三方签名密钥尽可能多。但如果您使用自定义内核,它将使用默认的上游监管签名密钥。
因此,至少在 Debian 中,有两个版本的监管数据可用:一个用于分发内核,另一个用于您可能自己构建的自定义内核。该错误消息表明您可能使用了错误的数据版本,或者如果您手动更新了数据,则可能错过了与其关联的签名文件。
如果您更新了当前的/lib/firmware/regulatory.db
,您还应该更新相应的/lib/firmware/regulatory.db.p7s
签名文件以匹配。
如果您使用的是自定义内核,请运行update-alternatives --config regulatory.db
并查看其内容。
我使用 Debian 和我自己的自定义配置内核,因此输出对我来说如下所示:
update-alternatives --config regulatory.db
There are 2 choices for the alternative regulatory.db (providing /lib/firmware/regulatory.db).
Selection Path Priority Status
------------------------------------------------------------
0 /lib/firmware/regulatory.db-debian 100 auto mode
1 /lib/firmware/regulatory.db-debian 100 manual mode
* 2 /lib/firmware/regulatory.db-upstream 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
就您的情况而言,当前选择的版本显然不适合您,因此您可能想尝试其他版本的监管数据库。