
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:
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.
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 mac80211
indicado, 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 -p
interruptor 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 lsmod
resultado 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 modprobe
el 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_24ghz
se movió de un mac80211
módulo a cfg80211
otro. Por lo tanto, todos los pasos siguen siendo relevantes, excepto que deberá sustituirlos en el cfg80211
módulo donde mac80211
se 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/module
sistema de archivos. Por ejemplo:
$ cat /sys/module/mac80211/parameters/ieee80211_disable_40mhz_24ghz
Y