Cómo desactivar el adaptador inalámbrico de banda de 2,4Ghz

Cómo desactivar el adaptador inalámbrico de banda de 2,4Ghz

Para fines de depuración, es posible desactivar los 2,4 Ghz para conexiones inalámbricas en Linux (Linux Mint 13 LTS, Cinnamon). Es decir, ¿imponer que el controlador de red establezca conexiones utilizando únicamente la banda de 5 Ghz? Idealmente, estoy buscando algún comando/parámetro que no requiera recompilar el kernel. Tarjeta de red: Intel Corporation Centrino Ultimate-N 6300

Intenté configurar:

sudo iwconfig wlan0 channel 40

donde el canal 40 está en el rango deseado de 5Ghz, pero esto solo funciona una vez. Tan pronto como finaliza la conexión o cuando viajo de un punto de acceso a otro, mi conexión de red vuelve al rango de 2,4 Ghz.

Ejemplo:

  1. Sep  9 18:19:39 wpa_supplicant[1230]: Trying to authenticate with     
     00:1a:1e:88:3b:b1 (SSID='<hidden>' freq=5180 MHz)
     ---Connection is established correctly.
    
  2. Sep  9 18:19:45 NetworkManager[908]: <info> (wlan0): roamed from
       BSSID 00:1A:1E:8A:5B:41 (<hidden>) to 00:1A:1E:88:3B:B1 (<hidden>)
    Sep  9 18:20:16 wpa_supplicant[1230]: Trying to authenticate with
       00:1a:1e:88:3b:a1 (SSID='<hidden>' freq=2412 MHz)
    ---New connection is being established using the wrong frequency.
    

Respuesta1

Creo que puedes hacer esto directamente a través del módulo Kernel. La mayoría de los módulos del Kernel pueden tomar parámetros que usted puede pasar cuando se carga el controlador o pueden cargarse a través de un archivo de configuración durante el arranque.

Ejemplo (2.6 Núcleos)

Tengo un sistema Fedora 14 con los siguientes controladores inalámbricos.

$ lsmod |grep iw
iwlagn                209751  0 
iwlcore               195714  1 iwlagn
mac80211              229095  2 iwlagn,iwlcore
cfg80211              134981  3 iwlagn,iwlcore,mac80211

El módulo que nos interesa es el mac80211indicado, aquí hay más información al respecto:

$ modinfo mac80211
filename:       /lib/modules/2.6.35.14-106.fc14.x86_64/kernel/net/mac80211/mac80211.ko
license:        GPL
description:    IEEE 802.11 subsystem
srcversion:     8D64C9A86E6BE7B4C1AF862
depends:        cfg80211
vermagic:       2.6.35.14-106.fc14.x86_64 SMP mod_unload 
parm:           ieee80211_default_rc_algo:Default rate control algorithm for mac80211 to use (charp)
parm:           ieee80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)

También puede usar el -pinterruptor para obtener los parámetros de un módulo:

$ modinfo -p mac80211
ieee80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band
ieee80211_default_rc_algo:Default rate control algorithm for mac80211 to use

Si observa la sección en la parte inferior donde se especifica parm:, estos son los parámetros que puede pasar a este módulo para cambiar su configuración. La opción que te interesa es esta: ieee80211_disable_40mhz_24ghz. Puedes cargarlo con este comando para desactivarlo:

$ sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1

Módulos de carga y descarga

Para llegar a un punto en el que puedas hacer esto, necesitas descargar los otros módulos que dependen de este. Puede ver la lista de dependencias en el lsmodresultado anterior, principalmente:

mac80211              229095  2 iwlagn,iwlcore

Entonces necesitamos desinstalar estos 2 módulos:

$ sudo rmmod iwlagn
$ sudo rmmod iwlcore

Ahora podemos desinstalar mac80211:

$ sudo rmmod mac80211

Ahora podemos recargarlo con el parámetro para desactivar la función de 2,4GHz:

$ sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1

Ahora podemos recargar los otros 2 módulos:

$ sudo modprobe iwlagn

Es suficiente con just modprobeel controlador más alto de la pila, el Kernel se encargará de recargar los módulos adicionales de los que depende.

$ lsmod | grep iw
iwlagn                209751  0 
iwlcore               195714  1 iwlagn
mac80211              229095  2 iwlagn,iwlcore
cfg80211              134981  3 iwlagn,iwlcore,mac80211

Ejemplo (núcleos 3.x)

Las cosas cambiaron ligeramente con los kernels de Linux 3.x. El parámetro ieee80211_disable_40mhz_24ghzse movió de un mac80211módulo a cfg80211otro. Por lo tanto, todos los pasos siguen siendo relevantes, excepto que deberá sustituirlos en el cfg80211módulo donde mac80211se utilizó.

¿Con qué parámetros se cargó un módulo?

No existe un comando para hacer esto directamente, pero algunos módulos exponen esta información en el /sys/modulesistema de archivos. Por ejemplo:

$ cat /sys/module/mac80211/parameters/ieee80211_disable_40mhz_24ghz 
Y

Referencias

información relacionada