No processo de tentar diagnosticar desistências de WiFi, descobri que o domínio regulatório na minha interface WiFi está definido como "mundo" (00) e alterá-lo para minha região (EUA) deve ajudar a corrigir o problema. No entanto, todas as tentativas que fiz foram ignoradas.
Correr iw reg set US
não tem efeito evidente:
$ iw reg get
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 40), (6, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (6, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (6, 20), (0 ms), DFS, 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)
$ sudo iw reg set US
$ iw reg get
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 40), (6, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (6, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (6, 20), (0 ms), DFS, 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)
Depois de pesquisar bastante sobre o assunto, parece que o que deveria acontecer é fazer iw reg set
com que o kernel emita um evento udev, o que faz crda
com que seja executado e expele as informações regulatórias relevantes. No entanto, quase como posso dizer udevadm
, esse evento nunca é emitido. A ausência deste evento é corroborada pelo seguinte kluge não funcionando:
$ sudo iw reg set US; sudo COUNTRY=US crda
Failed to set regulatory domain: -7
A mensagem de erro é de crda
. O kernel aceitará alterações regulatórias de WiFi apenas se tiver emitido um evento / solicitação do udev para eles e estiver esperando uma resposta. Como crda
falha, o kernel claramente não esperava por isso, sugerindo que nenhum evento udev foi emitido.
A interface WiFi é um Intel 7265D; cujo driver do kernel é iwlmvm
. Eu tenho crda
e wireless-regdb
instalado, e /etc/default/crda
contém REGDOMAIN=US
. Remover e recarregar o iwlmvm
driver não tem efeito.
Alguma sugestão do que mais deve ser verificado?
dmesg
saída ou em qualquer um dos logs que sugira que foi feita alguma tentativa de alterar o domínio regulatório. A única mensagem para esse efeito aparece quando o driver é carregado pela primeira vez, informando: "região mestre DFS: unset"