twitter icon   twitter icon   rss icon

Linux.com Japan

Home Linux Jp チュートリアル Linux WiFiを快適に利用するためのちょっとしたこと

Linux WiFiを快適に利用するためのちょっとしたこと

原文は、2015 年 12 月 10 日に掲載されました。

利用している OS にかかわらず、無線関係は頭痛のタネです。信号を拾えなかったり、接続が不安定だったり、遅かったり、無線用デバイスが MIA を終わらせたりします。

Linux の利用者であれば、無線の問題が OSS のプラットフォームだけに限らないことを理解しているでしょう。プリンターを制御しているすべての OS が無線問題に悩まされています。幸いなことに、Linux では問題を解決する方法がいくつかあります。

システムの最大限のパワーと機能を利用したい人のために、無線に関するいくつかの知恵とトリックを教えましょう。これらの知恵やトリックが、皆さんの無線接続を快適にすることを期待します (図 1)。

著者は、これらの内容を Ubuntu GNOME 15.10 と elementary OS Freya で確認しました。他のディストリビューションを使う場合でも、コマンドを多少変えるだけで問題なくできると思います (たとえば sudo の代わりに su を使うなど)。

 

無効になった無線デバイスを有効にする

たとえば次のような状態になることがあります。デスクトップ、ラップトップ マシンで何かした (マシン内臓の WiFi アダプターのスイッチを切った) 場合、Network manager から WiFi が、認識されません。何度リブートしても、無線を有効にできません。これは、'rfkill' によって、ハードブロックされるからです。

ターミナルを開いて、'rfkill list' コマンドを投入してください。無線アダプターがハード/ソフト ブロックされていることがわかります。ブロックを解除するために 'rfkill unblock all' コマンドを投入します。これにより、アダプターのブロック状態が解除され、再び有効化できるようになります (通常、何もしなくても有効になります)。もし有効にならなかったら、リブートします。

 

802.11n を強制的に無効にする

802.11n は、より速い接続スピードを提供しますが、古いルーターの多くはこれをサポートしていません。そのような場合にスピードを向上させる方法の 1 つが、802.11n の無効化です。特に iwlwifi ドライバー (Intel 無線チップ) を利用している場合は、ドライバーが 802.11n では性能が出ないからです。このために、以下のようにしてプロトコル無効化を行います。

1. ターミナルを開く。

2. lshw -C network コマンドを使い、無線カードのドライバーを確認する。

3. driver= セクションから、ドライバー名を確認する。

4. sudo su でスーパーユーザーになる。

5. echo "options DRIVER_NAME 11n_disable=1" >> /etc/modprobe.d/DRIVER_NAME.conf を実行する (DRIVER_NAME にはドライバーの名称を入れます)。

注意: 上記で設定した変更は、常時有効となります。元に戻すためには、echo "options DRIVER_NAME 11n_disable=1" >> /etc/modprobe.d/DRIVER_NAME.conf コマンドを投入します (DRIVER_NAME はドライバの名称)。

 

電源管理を無効にする

電源管理ができる無線カードがあります。この機能が、接続の品質に影響を与える場合があります (スピードにも影響を与えます)。カードが電源管理機能を持っている場合は、以下のようにして無効化できます。

iwconfig wlp4s0 power off

問題は、リブートすると元の設定に戻ってしまうことです。これを避けるために、ブート時に実行される簡単なスクリプトを用意します。

wifipower と名付けた下記のようなスクリプト (wlp4s0 は、実際のデバイス名称で置き換えてください) を作成します。

#!/bin/sh
/sbin/iwconfig wlp4s0 power off

スクリプトを作成したら、"chmod u+x wifipower" コマンドで実行可とします。パーミッションを保ったまま、ファイルを /etc/init.d に移動し、"update-rc.d wifipower defaults" コマンドを実行します。これで、ブート後、電源管理機能が無効になります。ここで大事なことは、カードが電源管理機能を持っていることを確認することです。もし、持っていなければ、"power off" コマンドがエラーを返します。

 

BSSID をセットする

Network Manager は 2 分間隔でネットワークをスキャンし直します。これは、無線接続に影響を与えます。同一の場所で無線を使うのであれば、BSSID と MAC アドレスをルーターに設定することで、Network Manager がアクセス ポイントを再スキャンしないようにします。具体的には下記のようにします。

1. Network Mangerを開きます (通常、システムトレイ中にあります)。

2. 利用している無線接続を選択します。

3. 「編集」を選びます。

4. WiFi タブで、ドロップダウン メニューから BSSID を選択します (図 2)。

5. ルーターの MAC アドレスを選択します (ない場合は手入力します)。

6. 「保存」をクリックします。

 

デュアルブート

Linux ボックスが Windows とのデュアルブートの場合、Windows 使用後、IP アドレスが取得できないことがあります。これは、当該 MAC アドレスのマシンに対して既に IP アドレスを割り当てていると、ルーターが認識しているからです。

解決方法がいくつかあります。どれを使うかはマシンによります。ほとんどの時間を家で利用するのであれば、一方の OS に対して 1 つの静的 IP アドレスを割り当てます。これにより、ルーターが他方の OS に対して動的な IP アドレス割り当てに失敗することがなくなります。

Linux 上で静的 IP アドレスを割り当てる方法は下記の通りです。

1. Network Manager を開きます。

2. 利用している無線接続を選択します。「編集」を選びます。

3. IPv4 セクション設定タブに行きます。

4. 「方式」から手動を選択します。

5. アドレスを入力します (図 3)。

6. 「保存」をクリックします。

7. Network Manager を閉じます。

どちらの OS でも静的アドレスを設定したくない場合 (または、他者のネットワークを使用していて設定できない場合)、Windows を終了する前に IP アドレスを返却します。これは、以下のようにします。

ipconfig /release

Windows が IP アドレスを返却したら、ルーターは、次にその MAC アドレスが IP アドレスを必要とすると認識できます。リブートして、Linux を起動してください。無線関係で問題は生じないでしょう。

無線関係では、他にもさまざまな状況が生じて、それぞれの解があります。ここでは、Linux 上の無線関係で一番問題となるであろうものを説明しました。

Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2017/10/06 2017年 10月 05日
  2. Today's Linux 2017/10/05 2017年 10月 04日
  3. Today's Linux 2017/10/11 2017年 10月 10日
  4. Today's Linux 2017/10/12 2017年 10月 11日
  5. Today's Linux 2017/10/13 2017年 10月 12日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!