Tengo un pequeño aparato Wi-Fi móvil (mi nodo móvil de LaOtraRed, Mochila Hacker). Lo llevo a todas partes, y a veces el canal Wi-Fi en el que está configurado no es el mejor (tiene más interferencia de otros routers, por ejemplo). Usando la función Automatic Channel Selection que hostapd expone, podemos hacer que OpenWrt o LEDE revisen velozmente la banda 2.4GHz y elijan el canal más limpio.
Como nota adicional, el único controlador inalámbrico que he visto que funciona más o menos bien con ACS es ath9k (con alguno que otro bug, especialmente si usas 2+ interfaces virtuales en LEDE 17.01.2), ya que éste sí tiene cosas como el detector de ruido ambiental en el canal Wi-Fi (noise floor). Los chips Ralink de los aparatos que tengo, no soportan esto y ACS no funciona.
El problema que me ocasiona es que ésta función tiende a ocupar el canal 13, que casi siempre está vacío, pero no todos los clientes Wi-Fi lo soportan, gracias a clientes y APs mal configurados alrededor (es una historia larga acerca de 802.11d y 802.11h). Gracias a ésto, la gran mayoría de clientes Wi-Fi usa las regulaciones US (de Estados Unidos), y por lo tanto, son sordos a los canales 12 y 13. Podría configurar mi router móvil con las regulaciones en US y así evitar esos dos canales, pero eso significaría contribuir más al desastre de 802.11d en mi ciudad. Configurando la opción country_ie se evitaría, pero sigo creyendo que no es la mejor solución.
Solucionando el problema
Resulta que hay una opción no documentada en OpenWrt (desde r47427 de trunk, en noviembre de 2015) y LEDE para poder restringir los canales de los que el ACS puede disponer, llamado el array channels:
config wifi-device 'radio0'
#(…)
option channel 'auto'
list channels '1'
list channels '6'
list channels '11'
Funciona: puedes probar especificando algunos pocos canales y el router escogerá alguno de ellos.