Ok, então o problema é que os regulamentos que recebo com o regdb sem fio padrão para o meu país estão incorretos. Na verdade, não chega nem perto dos regulamentos que temos. Podemos usar 13 canais (2.472 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. A meu ver - a solução mais simples é obter as fontes desses pacotes debian, corrigir os regulamentos, reconstruir os pacotes deb e instalá-los. Foi o que fiz anos atrás no Debian 7 (Wheezy) e funcionou perfeitamente. Esse não é o caso do Debian 9. A compilação termina sem falhas, recebo dois pacotes novinhos em folha, mas eles simplesmente não funcionam. Recebo o país 00 com iw reg get. Aposto que estou fazendo algo errado com as chaves, preciso assinar o arquivo regulador.bin, provavelmente algo mudou desde o Wheezy. Estes são meus passos:
Instale o 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
Gerar 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 um novo arquivoregulatory.bin e assine-o com minha chave privada
./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-andy.key.priv.pem
Copie a chave pública para crda
cp ../andy.key.pub.pem ../crda-3.18/pubkeys/
Crie pacotes para eles
debuild -i -us -uc -b
cd ../crda-3.18/
debuild -i -us -uc -b
É isso. Eles constroem, mas não funcionam.