Итак, проблема в том, что правила, которые я получаю со стандартным wireless-regdb для моей страны, неверны. На самом деле, они даже близко не похожи на те правила, которые есть у нас. Нам разрешено использовать 13 каналов (2472 МГц), и, конечно же, нам разрешено использовать мощность передачи более 20 дБм. И поскольку мой адаптер беспроводной сети способен на 1 Вт, я хочу воспользоваться этим преимуществом и использовать 30 дБм. Как я это вижу, самое простое решение — получить исходники этих пакетов Debian, исправить правила, пересобрать пакеты deb и установить их. Это то, что я сделал много лет назад на Debian 7 (Wheezy), и это сработало как по волшебству. В Debian 9 все не так. Сборка завершается без сбоев, я получаю два новых блестящих пакета, но они просто не работают. Я получаю страну 00 с помощью iw reg get. Держу пари, что я делаю что-то не так с этими ключами, мне нужно подписать файл Regulation.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)
Создайте новый файл Regulation.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
Вот именно. Строят, но не работают.