En el proceso de tratar de diagnosticar los abandonos de WiFi, descubrí que el dominio regulador en mi interfaz WiFi está configurado en "mundo" (00), y cambiarlo a mi región (EE. UU.) Debería ayudar a solucionar el problema. Sin embargo, cada intento que hice para hacerlo ha sido ignorado.
Correr iw reg set USno tiene un efecto 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)
Después de una búsqueda exhaustiva en Google sobre el tema, parece que lo que se supone que sucede es iw reg setque el kernel emite un evento udev, lo que hace crdaque se ejecute y revele la información normativa relevante. Sin embargo, cerca de lo que puedo decir udevadm, este evento nunca se emite. La ausencia de este evento es corroborada por el siguiente kluge que no funciona:
$ sudo iw reg set US; sudo COUNTRY=US crda
Failed to set regulatory domain: -7
El mensaje de error es de crda. El kernel aceptará cambios regulatorios de WiFi solo si ha emitido un evento / solicitud de udev para ellos y espera una respuesta. Como crdafalla, el núcleo claramente no lo esperaba, lo que sugiere que no se emitió ningún evento udev.
La interfaz WiFi es una Intel 7265D; de quién es el controlador del núcleo iwlmvm. Tengo crdae wireless-regdbinstalado, y /etc/default/crdacontiene REGDOMAIN=US. Eliminar y volver a cargar el iwlmvmcontrolador no tiene ningún efecto.
¿Alguna sugerencia de qué más consultar?
dmesgsalida ni en ninguno de los registros que sugiera que se haya intentado cambiar el dominio regulador. El único mensaje en ese sentido aparece cuando el controlador se carga por primera vez, informando: "Región maestra DFS: sin establecer"