2.4Ghz帯ワイヤレスアダプタを無効にする方法

2.4Ghz帯ワイヤレスアダプタを無効にする方法

デバッグの目的で、Linux (Linux Mint 13 LTS、Cinnamon) のワイヤレス接続で 2.4Ghz を無効にすることは可能ですか。つまり、ネットワーク ドライバーが 5Ghz 帯域のみを使用して接続を確立するように強制するということですか。理想的には、カーネルの再コンパイルを必要としないコマンド/パラメーターを探しています。ネットワーク カード: Intel Corporation Centrino Ultimate-N 6300

設定してみました:

sudo iwconfig wlan0 channel 40

チャネル 40 は目的の 5Ghz 範囲内ですが、これは 1 回しか機能しません。接続が終了するか、アクセス ポイント間を移動するとすぐに、ネットワーク接続は 2.4 Ghz 範囲に戻ります。

例:

  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.
    

答え1

これはカーネル モジュールを通じて直接実行できると思います。カーネル モジュールのほとんどは、ドライバーのロード時に渡すか、起動時に構成ファイルを介してロードできるパラメーターを受け取ることができます。

例 (2.6 カーネル)

私は次のワイヤレス ドライバーを搭載した Fedora 14 システムを使用しています。

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

私たちが興味を持っているモジュールはこれですmac80211。これに関する詳細情報は次のとおりです。

$ 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)

-pスイッチを使用してモジュールのパラメータのみを取得することもできます。

$ 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

下部の が指定されているセクションに気付いた場合parm:、これらはこのモジュールに渡して構成方法を変更できるパラメーターです。興味のあるオプションは です: ieee80211_disable_40mhz_24ghz。これを無効にするには、次のコマンドでロードできます:

$ sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1

モジュールのアンロードとロード

これを実行するには、このモジュールに依存する他のモジュールをアンロードする必要があります。lsmod上記の出力では、主に次の依存関係リストを確認できます。

mac80211              229095  2 iwlagn,iwlcore

したがって、次の 2 つのモジュールをアンインストールする必要があります。

$ sudo rmmod iwlagn
$ sudo rmmod iwlcore

これでmac80211をアンインストールできます。

$ sudo rmmod mac80211

ここで、2.4GHz 機能を無効にするパラメータを指定してリロードできます。

$ sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1

これで、他の 2 つのモジュールをリロードできます。

$ sudo modprobe iwlagn

スタック内の最上位のドライバーで十分でありjust modprobe、カーネルは依存する追加モジュールを再ロードするように処理します。

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

例 (3.x カーネル)

3.x Linux カーネルでは状況が少し変わりました。パラメータはモジュールからモジュールにieee80211_disable_40mhz_24ghz移動されました。したがって、使用されたモジュールを置き換える必要があることを除き、すべての手順は引き続き有効です。mac80211cfg80211cfg80211mac80211

モジュールにはどのようなパラメータがロードされましたか?

これを直接実行するコマンドはありませんが、一部のモジュールは/sys/moduleファイルシステムでこの情報を公開します。例:

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

参考文献

関連情報