Ok, então o problema é que os regulamentos que eu obtenho com o estoque sem fio-regdb para o meu país estão incorretos. Na verdade, não é nem perto dos regulamentos que recebemos. Podemos usar 13 canais (2472 MHz) e, é claro, podemos usar potência de transmissão acima de 20 dBm. E como meu adaptador wlan é capaz de 1W, quero aproveitar essa vantagem e usar 30 dBm. Do jeito que eu vejo - a solução mais simples é conseguir as fontes desses pacotes Debian, corrigir os regulamentos, reconstruir pacotes deb e instalá-los. Isso é o que eu fiz anos atrás no Debian 7 (Wheezy), e funcionou como um encanto. Esse não é o caso do Debian 9. A construção termina sem falhas, eu recebo dois novos pacotes, mas eles simplesmente não funcionam. Eu recebo o país 00 com iw reg get. Aposto que estou fazendo algo errado com eles chaves eu preciso assinar o arquivo regulatory.bin, provavelmente algo mudou desde Wheezy. Estes são meus passos:
Instale pbuilder, obtenha os fontes e instale as dependências necessárias
apt-get update
apt-get install pbuilder
apt-get source wireless-regdb crda
apt-get build-dep wireless-regdb crda
Gere meu par de chaves
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)
Crie o novo regulatory.bin e assine-o com minha chave privada
./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-andy.key.priv.pem
Copiar chave pública para crda
cp ../andy.key.pub.pem ../crda-3.18/pubkeys/
Construa os pacotes
debuild -i -us -uc -b
cd ../crda-3.18/
debuild -i -us -uc -b
É isso. Eles constroem, mas não funcionam.