好的,问题是,我使用原装 wireless-regdb 获得的我国规定是不正确的。事实上,它甚至与我们获得的规定相差甚远。我们被允许使用 13 通道 (2472 MHz),当然,我们被允许使用超过 20 dBm 的传输功率。由于我的 wlan 适配器能够提供 1W,我想利用这个优势并使用 30 dBm。在我看来 - 最简单的解决方案是获取这些 debian 软件包的源代码,纠正规定,重建 deb 软件包并安装它们。这就是我多年前在 Debian 7 (Wheezy) 上所做的,它非常有效。Debian 9 上的情况并非如此。构建结束时没有失败,我得到了两个闪亮的新软件包,但它们就是不起作用。我使用 iw reg get 获得了国家 00。我敢打赌,我对签署监管.bin 文件所需的密钥做错了,可能自 Wheezy 以来发生了一些变化。以下是我的步骤:
安装 pbuilder,获取源代码并安装所需的依赖项
apt-get update
apt-get install pbuilder
apt-get source wireless-regdb crda
apt-get build-dep wireless-regdb crda
生成我的密钥对
openssl genrsa -out ~/.wireless-regdb-andy.key.priv.pem 2048
openssl rsa -in ~/.wireless-regdb-andy.key.priv.pem -out andy.key.pub.pem -pubout -outform PEM
cd wireless-regdb-2016.06.10
vi debian/rules (change REGDB_AUTHOR to andy, that's for the key)
vi db.txt (edit the regulations to the correct values)
创建新的regulatory.bin并用我的私钥对其进行签名
./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-andy.key.priv.pem
将公钥复制到 crda
cp ../andy.key.pub.pem ../crda-3.18/pubkeys/
为他们构建包
debuild -i -us -uc -b
cd ../crda-3.18/
debuild -i -us -uc -b
就是这样。他们建造了,但却没有发挥作用。