Difference between revisions of "Wireless Setup (日本語)"

From ArchWiki
Jump to: navigation, search
m
Line 16: Line 16:
 
{{Article summary heading|概要}}
 
{{Article summary heading|概要}}
 
{{Article summary text|{{Networking overview (日本語)}}}}
 
{{Article summary text|{{Networking overview (日本語)}}}}
 +
{{Article summary heading|関連項目}}
 +
{{Article summary wiki|Network Configuration (日本語)}}
 +
{{Article summary wiki|Software Access Point}}
 +
{{Article summary wiki|Ad-hoc networking}}
 +
{{Article summary wiki|Internet Share}}
 
{{Article summary end}}
 
{{Article summary end}}
  
 
ワイヤレスネットワークの設定は2段階で行います; まずワイヤレスデバイスを使うために正しいドライバがインストールされているか確認し(インストールメディアにある場合はそれらをインストールします)、インターフェースを設定します。次に、ワイヤレス接続を管理する方法を選びます。この記事では両方をカバーしています。また、ワイヤレス管理ツールへの追加リンクもあります。
 
ワイヤレスネットワークの設定は2段階で行います; まずワイヤレスデバイスを使うために正しいドライバがインストールされているか確認し(インストールメディアにある場合はそれらをインストールします)、インターフェースを設定します。次に、ワイヤレス接続を管理する方法を選びます。この記事では両方をカバーしています。また、ワイヤレス管理ツールへの追加リンクもあります。
  
'''新しい Arch Linux システムについて:''' Arch をセットアップするにあたって、ワイヤレスドライバやツールのほとんどが {{grp|base}} グループ下で利用できます。あなたのカードに合った正しいドライバをインストールしてください。[[Udev]] は通常、インストーラのライブ環境だけでなく、新しくインストールするハードドライブ上の環境でも、適切なモジュールをロードしワイヤレスインターフェースを作成します。Arch Linux インストール後にワイヤレス機能を設定するには、必要なパッケージ(ドライバ、ファームウェア、{{Pkg|wireless_tools}}、{{Pkg|iw}}、{{Pkg|wpa_supplicant}}、など)を [[pacman (日本語)|pacman]] でインストールして下のガイドラインに従って下さい。あなたのワイヤレスハードウェアの年式によっては {{Pkg|wireless_tools}} は任意になるかもしれません。
+
== デバイスドライバ ==
  
== Part I: カードの確認/ドライバのインストール ==
+
デフォルトの Arch Linux カーネルは''モジュール式''です、つまりマシンに必要なドライバの多くはハードドライブに置かれ、''[[Kernel modules (日本語)|モジュール]]''として利用されます。起動時に、[[udev]] がハードウェアの棚卸を実施します。Udev はハードウェアに必要である適切なモジュール(ドライバ)をロードし、次に、ドライバをロードしてカーネル''インターフェース''を作成します。
  
=== カードを確認しサポートされているか調べる ===
+
ワイヤレスチップセットによっては、適切なドライバーに加えて、ファームウェアも必要になります。ほとんどのファームウェアイメージはデフォルトでインストールされる {{Pkg|linux-firmware}} パッケージに含まれていますが、プロプライエタリなファームウェアイメージは含まれていないため別にインストールする必要があります。[[#ドライバー・ファームウェアのインストール]]で説明されています。
  
まず、Linux カーネルがあなたのカードをサポートしているかどうか、ユーザースペースのドライバが利用できるかどうか確認する必要があります。
+
{{Note|
 +
* Udev は完全ではありません。起動時に udev が正しいモジュールをロードしない場合、[[Kernel modules (日本語)#ロード|手動でモジュールをロード]]してください。また、場合によっては udev が1つのデバイスに複数のドライバをロードし、それが衝突を生んで設定が完了できなくなることがあります。不要なモジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]するようにしてください。
 +
* インターフェースの名前はドライバやチップセットによって変わります。例: ''wlan0'', ''eth1'', ''ath0''。[[Network Configuration (日本語)#デバイス名]] を参照してください。
 +
}}
  
==== カードを確認する ====
+
{{Tip|絶対に必要というわけではありませんが、最初に [[#手動セットアップ]] で説明されているユーザースペースツールをインストールすると良いでしょう (特に、なんらかの問題が発生する場合)。}}
  
カードの種類を確認するには次のコマンドを実行します:
+
=== ドライバーの状態を確認する ===
# lspci | grep -i net
+
  
もしくは、USB デバイスの場合:
+
あなたのカードに合ったドライバーがロードされているか確認するには、{{ic|lspci -k}} コマンドの出力をチェックしてください。カーネルドライバーが使われているなら、例えば以下のように表示されるはずです:
# lsusb
+
  
{{Note|ラップトップ内蔵の Wi-Fi カードでも USB デバイスの可能性があります、両方のコマンドをチェックしてください。}}
+
{{hc|$ lspci -k|<nowiki>
 +
06:00.0 Network controller: Intel Corporation WiFi Link 5100
 +
Subsystem: Intel Corporation WiFi Link 5100 AGN
 +
Kernel driver in use: iwlwifi
 +
Kernel modules: iwlwifi
 +
</nowiki>}}
  
==== カードがサポートされているか調べる ====
+
{{Note|ラップトップ内蔵の Wi-Fi カードを使っている場合、実は USB デバイスだったりすることがあるので以下のコマンドも試して下さい:
 +
* {{ic|lsusb -v}}
 +
* {{ic|<nowiki>dmesg | grep usbcore</nowiki>}}、{{ic|usbcore: registered new interface driver rtl8187}} 等と表示されるはずです
 +
}}
  
* [https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported Ubuntu Wiki] にはワイヤレスカードの一覧と、Linux カーネル・ユーザースペースドライバによってサポートされているかの情報があります(ドライバ名含む)。
+
また、{{ic|ip link}} コマンドの出力をチェックして無線インターフェイス (例: {{ic|wlan0}}, {{ic|wlp2s1}}, {{ic|ath0}}) が作成されているか確認してください。そして、{{ic|ip link set <interface> up}} を実行してインターフェイスを立ち上げて下さい。例えば、インターフェイスが {{ic|wlan0}} の場合:
 +
 
 +
# ip link set wlan0 up
 +
 
 +
次のエラーメッセージが表示される場合: {{ic|SIOCSIFFLAGS: No such file or directory}}、おそらくチップセットを機能させるためにファームウェアが必要です。
 +
 
 +
ファームウェアがロードされているかカーネルメッセージを確認してください:
 +
 
 +
{{hc|$ dmesg <nowiki>|</nowiki> grep firmware|<nowiki>
 +
[  7.148259] iwlwifi 0000:02:00.0: loaded firmware version 39.30.4.1 build 35138 op_mode iwldvm
 +
</nowiki>}}
 +
 
 +
自動検知されたハードウェアのモジュールの名前が前に付いているのが {{ic|dmesg}} の出力で関連する部分で、後で問題を確かめるのに役立ちます。
 +
 
 +
カーネルモジュールが正しくロードされ、インターフェイスが立ち上がっている場合は、次のセクションを飛ばしてかまいません。
 +
 
 +
=== ドライバー・ファームウェアをインストールする ===
 +
 
 +
あなたのカードがサポートされているかどうか調べるために以下のリストを確認してください:
 +
 
 +
* [https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported Ubuntu Wiki] にはワイヤレスカードの一覧と、Linux カーネル・ユーザースペースドライバによってサポートされているかの情報があります (ドライバ名含む)。
 
* [http://linux-wless.passys.nl/ Linux Wireless Support] と Linux Questions の [http://www.linuxquestions.org/hcl/index.php?cat=10 Hardware Compatibility List] (HCL) にもカーネルで利用できるハードウェアのデータベースがあります。
 
* [http://linux-wless.passys.nl/ Linux Wireless Support] と Linux Questions の [http://www.linuxquestions.org/hcl/index.php?cat=10 Hardware Compatibility List] (HCL) にもカーネルで利用できるハードウェアのデータベースがあります。
 
* さらに [http://wireless.kernel.org/en/users/Devices kernel page] にはサポートされているハードウェアの表が存在します。
 
* さらに [http://wireless.kernel.org/en/users/Devices kernel page] にはサポートされているハードウェアの表が存在します。
  
==== あなたのカードがリストされてなかった場合 ====
+
あなたのワイヤレスカードが上記のリストにあった場合、このページの [[#ドライバとファームウェアのトラブルシューティング]] サブセクションを見て下さい、特定のワイヤレスカードのドライバーやファームウェアのインストール情報が載っています。インストールした後、また[[#ドライバーの状態を確認する|ドライバーの状態を確認]]してください。
  
ワイヤレスハードウェアが上記のリストになかった場合、おそらくサポートしているのが Windows のみだと思われます (Broadcom, 3com, etc)。そういったカードについては、[http://ndiswrapper.sourceforge.net/wiki/index.php/List ndiswrapper] を使う必要があります。
+
If your wireless card is not listed above, it is likely supported only under Windows (some Broadcom, 3com, etc). For these, you can try to use ''ndiswrapper''. See [[#ndiswrapper]] for details.
  
Ndiswrapper は Windows ドライバを Linux で使うためのラッパースクリプトです。[http://ndiswrapper.sourceforge.net/mediawiki/index.php/List 対応しているハードウェアの一覧]を見て下さい。Windows 用のインストールファイルに含まれている {{ic|.inf}} や {{ic|.sys}} ファイルが必要です。Ndiswrapper を使う前に、新しめのカードやマイナーなカードを持っている場合、インターネットで正しいモデル名に 'linux' を付けて検索したほうがいいかもしれません。
+
ワイヤレスハードウェアが上記のリストになかった場合、おそらくサポートしているのが Windows のみだと思われます (Broadcom, 3com, etc)。そういったカードについては、[http://ndiswrapper.sourceforge.net/wiki/index.php/List ndiswrapper] を使う必要があります。詳しくは [[#ndiswrapper]] を見て下さい。
  
===ユーザースペースツールをインストールする===
+
== ワイヤレス管理 ==
  
====有線のインターネット接続が利用できる場合====
+
ドライバがインストールされ正しく動作しているとして、次にワイヤレス接続を管理するための方法を選ぶ必要があります。次のサブセクションが方法を決めるのに役立つでしょう。
すでに有線の Ethernet を利用できていてワイヤレス機能をシステムに加えるだけの場合、または最初のインストールに {{Pkg|wireless_tools}} を含めなかった場合、{{Pkg|wireless_tools}} パッケージを[[pacman (日本語)|インストール]]してください。
+
  
{{Note|あなたのハードウェアの年式、ハードウェアやドライバによる {{Pkg|wpa_supplicant}} のサポートの如何によっては {{Pkg|wireless_tools}} は必要ないかもしれません。{{Pkg|wpa_supplicant}} だけを使って設定して十分に動く場合は、wpa_supplicant のみ使うことが推奨されます。}}
+
複数の理由によって手順とツールが必要になるでしょう:
  
このページではドライバの適切なパッケージ名は '''太字''' や {{ic|等幅フォント}} を使って強調しています。パッケージは最初の Arch Linux インストールメディア上でインストールすることも、後から[[pacman (日本語)|インストール]]することもできます。
+
* 望む設定管理の種類; 完全に手動なコマンドラインによる設定方法から、グラフィカルフロントエンドによる自動設定まで。
 +
* ワイヤレスネットワークを保護する暗号化方式。
 +
* コンピュータが使うネットワークを頻繁に変える場合 (ラップトップなど)、ネットワークプロファイルの必要性。
  
====ワイヤレスインターネットしか利用できない場合====
+
マニュアル設定はあなたに多くの仕事を課しますが、設定のよりよいコントロールが得られます。
現在ベースシステムの一部として {{Pkg|wireless_tools}} パッケージが [[Beginners%27_Guide (日本語)#ベースシステムのインストール|base-devel]] グループで live インストールメディア (CD/USB イメージ) からも利用できます。
+
一般に、永続的な効果のないコマンドセットを入力する必要があるでしょう、つまり、再起動後に適用はされないでしょう。
 +
起動毎にコマンドを入力するのがやっかいな場合は、コマンドをシェルスクリプトに入れて手順を自動化することができます。スクリプトは起動時に自動で実行されるでしょう。[[Arch Boot Process (日本語)]] を見て下さい。
  
これらのユーザースペースツールなしではワイヤレスハードウェアを初期化できないので、特にワイヤレス以外にネットワーク接続する方法がない場合、[[Beginners%27_Guide (日本語)#ベースシステムのインストール|インストールメディア]]からインストールするようにしてください。さもなければ、新しくインストールした Arch Linux システムを再起動したときに矛盾している状況になって ("catch 22") 困ることになるでしょう: {{Pkg|wireless_tools}} とドライバが必要なのに、それらを手に入れるには、{{Pkg|wireless_tools}} とドライバが必要になるというわけです。
+
{{Tip|
 +
* どの方法を選ぶにせよ、'''まずは手動で接続を試行するべきです'''。問題がおこったときに必要なことは何でどのようにデバッグすればいいかを知るのに役に立つでしょう。
 +
* 可能であれば (例: あなたが Wi-Fi アクセスポイントを管理している場合)、暗号化なしで接続してみて、全てが動作するか確認してください。それから、WEP (設定がシンプルですが数秒でクラックできます)、WPA、WPA2 などの暗号化を使ってみてください。
 +
}}
  
===ドライバとファームウェア===
+
以下の表はワイヤレスネットワーク接続を有効化・管理するために使われる方法を、暗号化と管理方式、必要になるツールによってまとめています。他の方法も存在しますが、よく使われるのはこの通りです:
  
デフォルトの Arch Linux カーネルは''モジュール式''です、つまりマシンに必要なドライバの多くはハードドライブに置かれ、''[[Kernel modules (日本語)|モジュール]]''として利用されます。起動時に、[[udev]] はハードウェアの棚卸を実施します。Udev はハードウェアに必要である適切なモジュール(ドライバ)をロードし、次に、ドライバをロードしてカーネル''インターフェース''を作成します。
+
{| class="wikitable" border="1"
 +
! 管理方法 || インターフェイスの有効化 || ワイヤレス接続管理 <br>(/=代替) || IP アドレスの取得 <br>(/=代替)
 +
|-
 +
| [[#手動セットアップ|手動管理]], <br>暗号化なしか WEP || [[Core Utilities#ip|ip]] || {{Pkg|iw}} / [https://www.archlinux.org/packages/?name=wireless_tools iwconfig] || [[Core Utilities#ip|ip]] / {{Pkg|dhcpcd}} / {{Pkg|dhclient}}
 +
|-
 +
| [[#手動セットアップ|手動管理]], <br>WPA か WPA2 PSK || [[Core Utilities#ip|ip]] || {{Pkg|iw}} / [https://www.archlinux.org/packages/?name=wireless_tools iwconfig] + [[WPA supplicant|wpa_supplicant]] || [[Core Utilities#ip|ip]] / {{Pkg|dhcpcd}} / {{Pkg|dhclient}}
 +
|-
 +
| [[#自動セットアップ|自動管理]], <br>ネットワークプロファイルのサポート || colspan="3" align="center" | [[netctl (日本語)|netctl]], [[Wicd]], [[NetworkManager (日本語)|NetworkManager]], etc.<br>
 +
これらのツールは手動の方法にあるパッケージのリストから必要な依存パッケージを引き込みます。
 +
|}
  
インターフェースの名前はドライバやチップセットによって変わります。例: ''wlan0'', ''eth1'', ''ath0''。
+
===手動セットアップ===
  
{{Note|Udev は完全ではありません。起動時に udev が正しいモジュールをロードしなかった場合、それを {{ic|modprobe}} してモジュール名を {{ic|/etc/modules-load.d/}} 内の {{ic|.conf}} ファイルに追加してください。また、場合によっては udev が1つのデバイスに複数のドライバをロードし、それが衝突を生んで設定が完了できなくなることがあります。要らないモジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]するようにしてください。}}
+
他のネットワークインターフェイスと同じように、無線インターフェイスは {{Pkg|iproute2}} パッケージの {{ic|ip}} で操作します。さらに {{pkg|wireless_tools}} パッケージはワイヤレス接続を管理する基本的なツールのセットを提供しますが、これらのツールは {{Pkg|iw}} に置き換えられています。あなたのカードで ''iw'' が動かない場合に、''wireless_tools'' を使って下さい。下の表は両方のツールのコマンドの簡単な比較です ([http://wireless.kernel.org/en/users/Documentation/iw/replace-iwconfig] にもっと詳しい例があります)
 +
また、WPA/WPA2 暗号化を使うには、{{pkg|wpa_supplicant}} パッケージをインストールする必要があります。これらのパワフルなユーザースペースのツールはすこぶる良く動作し、ワイヤレス接続を完全に手動で操作できます。
  
様々なチップセットのカーネルモジュールをインストールする方法が以下でカバーされています。また、チップセットによっては適切な''ファームウェア''をインストールする必要があります(これも以下で述べています)。モジュールの操作についての一般的な情報は [[Kernel modules (日本語)]] を見て下さい。
+
{{Note|
 +
* このセクションに出てくる例ではあなたのワイヤレスデバイスを ''wlan0''、wifi のアクセスポイントを {{ic|''your_essid''}} と仮定しています。それぞれ適切な文字列に置き換えて下さい。
 +
* ほとんどのコマンドは [[Users and Groups (日本語)|root 権限]]で実行する必要があることに注意してください。通常ユーザーで実行すると、コマンドによっては (例: {{ic|iwlist}}) エラーを出さずに終了して正しい出力をしないため、混乱をきたすおそれが有ります。
 +
}}
  
====rt2860 と rt2870====
+
{| class="wikitable" border="1"
 +
! ''iw'' コマンド
 +
! ''wireless_tools'' コマンド
 +
! 説明
 +
|-
 +
| iw dev wlan0 link
 +
| iwconfig wlan0
 +
| リンクの状態を取得。
 +
|-
 +
| iw dev wlan0 scan
 +
| iwlist wlan0 scan
 +
| 利用可能なアクセスポイントをスキャン。
 +
|-
 +
| iw wlan0 set type ibss
 +
| iwconfig wlan0 mode ad-hoc
 +
| 動作モードを ''ad-hoc'' に設定。
 +
|-
 +
| iw wlan0 connect ''your_essid''
 +
| iwconfig wlan0 essid ''your_essid''
 +
| 接続してネットワークを開く。
 +
|-
 +
| iw wlan0 connect ''your_essid'' 2432
 +
| iwconfig wlan0 essid ''your_essid'' freq 2432M
 +
| 接続して指定したチャンネルのネットワークを開く。
 +
|-
 +
| iw wlan0 connect ''your_essid'' key 0:''your_key''
 +
| iwconfig wlan0 essid ''your_essid'' key ''your_key''
 +
| 十六進数のキーを使って WEP で暗号化されたネットワークに接続。
 +
|-
 +
| iw wlan0 connect ''your_essid'' key 0:''your_key''
 +
| iwconfig wlan0 essid ''your_essid'' key s:''your_key''
 +
| ASCII 文字のキーを使って WEP で暗号化されたネットワークに接続。
 +
|-
 +
| iw dev wlan0 set power_save on
 +
| iwconfig wlan0 power on
 +
| 省電力機能を有効にする。
 +
|}
  
Linux カーネル 3.0 から、実験段階の {{ic|rt2860sta}} ドライバはメインラインのドライバである {{ic|rt2800pci}}、{{ic|rt2870sta}} は {{ic|rt2800usb}} に置き換えられました。従って、実験段階のドライバは削除されました。ソース: [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fefecc6989b4b24276797270c0e229c07be02ad3 Kernel commit]。 rt2800 ドライバは rt2870 チップセットを使ったドライバを自動で動作させます。
+
{{Note|ハードウェアや暗号化方式によっては、手順のいくつかは必要ありません。カードによってはアクセスポイントに関連付けをして IP アドレスを取得する前に、インターフェースの有効化やアクセスポイントのスキャニングが必要なことがあります。実験が必要かもしれません。例えば、WPA/WPA2 ユーザーは [[#関連付け]] の手順から直接ワイヤレスネットワークを有効化できます。}}
  
{{ic|iwpriv}} によって様々なオプションを設定することができます。Ralink によるドキュメントが [http://web.ralinktech.com/ralink/Home/Support/Linux.html source tarballs] で読むことができます。
+
==== 情報を取得する ====
  
====rt3090====
+
{{Tip|''iw'' ツールの [http://wireless.kernel.org/en/users/Documentation/iw 公式ドキュメント] により多くのサンプルがあります。}}
rt3090 を使っているデバイスには {{ic|rt2860sta}} ドライバを使うことができます。メインラインのドライバ {{ic|rt2800pci}} はうまく動作しないことがあります(例えば時々 2Mb/s 以上の速度が出なくなります)。
+
  
[[Arch User Repository (日本語)|AUR]] から {{AUR|rt3090}} ドライバを使って下さい。[[Arch User Repository (日本語)|AUR]] から {{AUR|rt3090}} ドライバをコンパイルし、/etc/Wireless/RT2860STA/RT2860STA.dat ファームウェアファイルを削除してコンパイルした RT3090 パッケージのインストールをしてください。rt2860sta モジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]して、起動時に rt3090sta モジュールを[[Kernel modules (日本語)#ロード|ロード]]するように設定します。
+
* まず無線インターフェイスの名前を調べる必要があります。次のコマンドを使って確認できます:
  
Note: このドライバは rt3062 チップセットでも動作します。
+
{{hc|$ iw dev|
 +
phy#0
 +
Interface '''wlan0'''
 +
ifindex 3
 +
wdev 0x1
 +
addr 12:34:56:78:9a:bc
 +
type managed
 +
channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
 +
}}
  
====rt2x00====
+
* リンクの状態を確認するには、次のコマンドを使って下さい。アクセスポイント (AP) に接続されていないと以下のように表示されます:
Ralink チップセット用に統一されたドライバーです ({{ic|rt2500}}, {{ic|rt61}}, {{ic|rt73}} などを置き換えます)。このドライバは Linux カーネル 2.6.24 からありますが、デバイスによっては追加のファームウェアが必要かもしれません。標準の {{Pkg|wpa_supplicant}} や {{ic|iwconfig}} ツールを使って設定できます。
+
  
チップによってはファームウェアファイルが必要です、Arch Linux ではデフォルトで {{Pkg|linux-firmware}} パッケージを通してインストールされています。
+
{{hc|$ iw dev wlan0 link|
 +
Not connected.
 +
}}
  
参照: [[Using the new rt2x00 beta driver]]
+
AP に接続されている場合は、以下のように表示されるはずです:
  
====rt3573====
+
{{hc|$ iw dev wlan0 link|
2012年時点で新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバが必要かもしれません。様々な製造会社がそれを使っています、[https://bbs.archlinux.org/viewtopic.php?pid=1164228#p1164228 Belkin N750 の例]を見て下さい。
+
Connected to 12:34:56:78:9a:bc (on wlan0)
====rt5572====
+
SSID: MyESSID
5 Ghz 帯をサポートした2012年時点の新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバをコンパイルする必要があるかもしれません。DLINK DWA-160 rev のためのコンパイル方法が書かれています。B2 [http://bernaerts.dyndns.org/linux/229-ubuntu-precise-dlink-dwa160-revb2 here]。
+
freq: 2412
 +
RX: 33016518 bytes (152703 packets)
 +
TX: 2024638 bytes (11477 packets)
 +
signal: -53 dBm
 +
tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI
  
====w322u====
+
bss flags: short-preamble short-slot-time
この Tenda カードは {{ic|rt2870sta}} デバイスとして扱って下さい。参照: [[rt2870]]
+
dtim period: 1
 +
beacon int: 100
 +
}}
  
====rtl8180====
+
* 次のコマンドで tx/rx バイトの総量やシグナルの強さと言った統計値を取得することができます:
Realtek rtl8180 PCI/Cardbus 802.11b は現在カーネルで完全にサポートされています。標準の {{Pkg|wpa_supplicant}} や {{ic|iwconfig}} ツールを使って設定できます。
+
  
====rtl8187====
+
{{hc|$ iw dev wlan0 station dump|
参照: [[Rtl8187_wireless|rtl8187]]
+
Station 12:34:56:78:9a:bc (on wlan0)
 +
inactive time: 1450 ms
 +
rx bytes: 24668671
 +
rx packets: 114373
 +
tx bytes: 1606991
 +
tx packets: 8557
 +
tx retries: 623
 +
tx failed: 1425
 +
signal:  -52 dBm
 +
signal avg: -53 dBm
 +
tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI
 +
authorized: yes
 +
authenticated: yes
 +
preamble: long
 +
WMM/WME: yes
 +
MFP: no
 +
TDLS peer: no
 +
}}
  
====rtl8192e====
+
====インターフェースの有効化====
  
このドライバは現在カーネルパッケージの一部になっています。標準の {{Pkg|wpa_supplicant}} や {{ic|iwconfig}} ツールを使って設定できます。
+
''(任意、または必須)''
  
{{Note|このドライバを使うと [[wicd]] では接続が切れることがあります、[[NetworkManager (日本語)]] では問題ありません。}}
+
カードによっては {{ic|iw}} や {{ic|wireless_tools}} を使う前にカーネルインターフェースを初期化する必要があります:
  
=====モジュールの初期化が失敗する=====
+
# ip link set wlan0 up
  
次のエラーメッセージを表示してモジュールの初期化が失敗する場合があるかもしれません:
+
{{Note|{{ic|RTNETLINK answers: Operation not possible due to RF-kill}} のようなエラーが表示される場合、ハードウェアのスイッチが''オン''になっているか確認してください。また、あなたの無線ネットワークカードがソフトブロックされている可能性もあります。{{Pkg|rfkill}} をインストールして {{ic|rfkill list all}} を実行して確認してみてください。}}
  
rtl819xE:ERR in CPUcheck_firmware_ready()
+
====アクセスポイント検索====
rtl819xE:ERR in init_firmware() step 2
+
rtl819xE:ERR!!! _rtl8192_up(): initialization is failed!
+
r8169 0000:03:00.0: eth0: link down
+
  
回避方法は単純にモジュールをアンロードするだけです:
+
利用できるアクセスポイントを見るには:
# modprobe -r r8192e_pci
+
そしてモジュールをリロードします:
+
# modprobe r8192e_pci
+
  
====rtl8192s====
+
# iw dev wlan0 scan | less
  
このドライバは現在カーネルパッケージの一部になっています。{{ic|/usr/lib/firmware/RTL8192SU/rtl8192sfw.bin}} が存在しない場合、手動でファームウェアを追加する必要があります(ファームウェアが見つからないとき {{ic|dmesg}} は ''"rtl819xU:FirmwareRequest92S(): failed"'' を出力します)。
+
{{Note|"''Interface doesn't support scanning''" と表示される場合、おそらくファームウェアのインストールを忘れています。場合によっては、{{ic|iw}} が root 権限で実行されていない時にもこのメッセージが表示されます。}}
  
ファームウェアのダウンロードとインストール:
+
チェックするべきポイント:
$ wget http://launchpadlibrarian.net/33927923/rtl8192se_linux_2.6.0010.1012.2009.tar.gz
+
# mkdir /lib/firmware/RTL8192SU
+
# tar -xzOf rtl8192se_linux_2.6.0010.1012.2009.tar.gz \
+
  rtl8192se_linux_2.6.0010.1012.2009/firmware/RTL8192SE/rtl8192sfw.bin > \
+
  /lib/firmware/RTL8192SU/rtl8192sfw.bin
+
  
{{Note|ファームウェアの別バージョンが[http://launchpadlibrarian.net/37387612/rtl8192sfw.bin.gz ここ]にあります、ただしこのバージョンのファームウェアは接続を解除することがあります。}}
+
* ESSID: そのアクセスポイントの"名前"。
 +
* Quality: 一般的に 40/70 以上が望ましい値です。
 +
* Encryption key: これが "on" の場合、見なくてはいけないのは以下の点です
 +
** WEP, WPA, RSN。RSN と WPA2 は同じプロトコルの別名です。
 +
** Group cipher: 値は TKIP, CCMP, その両方, もしくはその他。
 +
** Pairwise ciphers: 値は TKIP, CCMP その両方, もしくはその他。Group cipher と同じ値である必要はありません。
 +
** Authentication Suites: 値は PSK, 802.1x, もしくはその他。家庭用ルーターでは、一般的に PSK になるでしょう (''つまり''パスフレーズ)。大学などでは、ログインとパスワードが必要な 802.1x スイートになると思われます。利用するためにはどのキーマネージメント (例: EAP) とカプセル化 (例: PEAP) が使われているか知る必要があります。詳しくは [[Wikipedia:Authentication protocol]] と関連記事を見て下さい。
  
{{Note|このドライバを使うと [[wicd]] では接続が切れることがあります、[[NetworkManager (日本語)]] では問題ありません。}}
+
====動作モード====
  
====madwifi-ng====
+
''(任意、または必須)''
MadWifi チームによって、3つのモジュールがメンテナンスされています:
+
* {{ic|ath_pci}} は古いドライバです
+
* [[#ath5k|{{ic|ath5k}}]] はゆくゆく {{ic|ath_pci}} を置き換えるものです。現在、チップセットによってはより良い選択肢ですが、全てのチップセットがサポートされているわけではありません(下を見て下さい)
+
* [[#ath9k|{{ic|ath9k}}]] は新しい Atheros ハードウェア(下を見て下さい)に対応した、新しく、公式の、より優れたドライバです
+
  
古い {{ic|ath_pci}} ドライバを使うには {{AUR|madwifi}} パッケージと任意で {{AUR|madwifi-utils-svn}} をインストールし、次を実行します:
+
ワイヤレスカードの正しい動作モードを設定する必要があるかもしれません。具体的に言うと、[[Ad-hoc networking|ad-hoc]] ネットワークに接続したい場合、動作モードを ''ad-hoc'' に設定する必要があります:
# modprobe ath_pci
+
  
{{ic|ath_pci}} を使う場合、{{ic|ath5k}} をブラックリスト化する必要があるかもしれません。やり方については [[Kernel modules (日本語)#ブラックリスト]] を見て下さい。
+
# iw wlan0 set type ibss
  
ユーザーによっては、MadWifi ドライバをロードするときに、チャンネルと出力の設定を国や地域の法律に適合させるために {{ic|countrycode}} オプションを使う'''必要があるかもしれません'''。例えば、オランダでは、モジュールを次のようにロードします:
+
{{Note|カードによっては、動作モードを変更するためにワイヤレスインターフェースを ''down'' させておく必要があるかもしれません ({{ic|ip link set wlan0 down}})。}}
# modprobe ath_pci countrycode=528
+
  
{{ic|iwlist}} コマンドで設定を確認できます。{{ic|man iwlist}} と [http://madwifi-project.org/wiki/UserDocs/CountryCode CountryCode page on the MadWifi wiki] を読んで下さい。起動中に自動で設定を適用させるには、[[Kernel modules (日本語)#設定]] を参照し、次のモジュールオプションを設定してください:
+
====関連付け====
options ath_pci countrycode=528
+
  
====ath5k====
+
暗号化方式によって、利用するアクセスポイントと暗号化キーをワイヤレスデバイスに関連付ける必要があります。
{{ic|ath5k}} is the preferred driver for AR5xxx chipsets including those which are already working with {{ic|madwifi-ng}} and for some chipsets older than AR5xxx.
+
  
{{ic|ath5k}} はシステム内の {{ic|ath_pci}} と衝突するので、以下のドライバを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]してください(そして {{ic|rmmod}} を使ってアンロードするか再起動してください):
+
* '''暗号化なし'''
ath_hal
+
ath_pci
+
ath_rate_amrr
+
ath_rate_onoe
+
ath_rate_sample
+
wlan
+
wlan_acl
+
wlan_ccmp
+
wlan_scan_ap
+
wlan_scan_sta
+
wlan_tkip
+
wlan_wep
+
wlan_xauth
+
  
それから手動で {{ic|modprobe ath5k}} を実行するか再起動してください。''wlan0'' (または ''wlanX'') インターフェースが出来て使えるようになっているはずです。
+
# iw wlan0 connect ''your_essid''
  
参照:
+
* '''WEP'''
* http://wireless.kernel.org/en/users/Drivers/ath5k
+
* http://wiki.debian.org/ath5k
+
  
{{Note|1=いくつかのラップトップにはワイヤレスの LED が赤と青に点滅するという問題があります。この問題を解決するには、次を実行してください:
+
十六進数キーか ASCII キーを使う:
echo none > "/sys/class/leds/ath5k-phy0::tx/trigger"
+
echo none > "/sys/class/leds/ath5k-phy0::rx/trigger"
+
  
もしくは、[https://bugzilla.redhat.com/show_bug.cgi?id=618232 ここ]を見て下さい。}}
+
# iw wlan0 connect ''your_essid'' key 0:''your_key''
  
{{Note|1=Firefox/Opera/Chromium でウェブページを回覧しているとランダムにとても遅くなるときは、暗号化をハードウェアからソフトウェアに変えてみて下さい:
+
十六進数キーか ASCII キーを使う、3番目に設定したキーをデフォルトとして指定する (キーは0からカウントされます):
rmmod ath5k
+
modprobe ath5k nohwcrypt
+
  
その後接続をリスタートしてください。この設定を永続的にするには {{ic|/etc/modprobe.d/010-ath5k.conf}} に次のオプションを加えて下さい:
+
# iw wlan0 connect ''your_essid'' key d:2:''your_key''
options ath5k nohwcrypt
+
  
modprobe のオプションについて詳しくは: [[Kernel modules (日本語)]]
+
* '''WPA/WPA2'''
}}
+
  
====ath9k====
+
[[WPA_Supplicant]] で説明されているように [[#アクセスポイント検索]] で得られた結果にあわせて {{ic|/etc/wpa_supplicant.conf}} ファイルを編集する必要があります。それができたら、次のコマンドを実行してください:
{{ic|ath9k}} は新しい 802.11n チップセット用の Atheros の公式サポートドライバです。802.11n に対応したチップ全てがサポートされ、最大スループットは 180 Mbps です。サポートされているハードウェアを一覧するには[http://wireless.kernel.org/en/users/Drivers/ath9k このページ]を見て下さい。
+
  
動作モード: Station, AP, Adhoc.
+
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
  
{{ic|ath9k}} は Linux カーネル v2.6.27 から含まれています (In the unlikely event that you have stability issues that trouble you, you could try using the [http://wireless.kernel.org/en/users/Download compat-wireless] package.
+
ここではあなたのデバイスが {{ic|wext}} ドライバを使うと仮定しています。これで動かない場合、オプションを修正しなくてはならないかもしれません。
An [https://lists.ath9k.org/mailman/listinfo/ath9k-devel ath9k mailing list] exists for support and development related discussions.)
+
接続に成功したなら、新しいターミナルで次に進んでください (もしくは {{ic|Ctrl+c}} で {{ic|wpa_supplicant}} を終了し上記のコマンドに {{ic|-B}} スイッチを付けてバックグラウンドで実行してください)。[[WPA Supplicant]] にはより詳しい情報とトラブルシューティングが載っています。
  
参照:
+
使う方法によらず、関連付けが成功しているかどうかは次を実行することで確かめられます:
* http://wireless.kernel.org/en/users/Drivers/ath9k
+
* http://wiki.debian.org/ath9k
+
  
====ath9k_htc====
+
# iw dev wlan0 link
{{ic|ath9k_htc}} は 802.11n USB デバイス用の Atheros の公式サポートドライバです。Station と Ad-Hoc モードがサポートされています。このドライバはカーネルに含まれています。詳しくは http://wireless.kernel.org/en/users/Drivers/ath9k_htc を見てください。
+
  
====ipw2100 と ipw2200====
+
====IP アドレスを取得====
モジュールはカーネルによって完全にサポートされていますが、追加のファームウェアが必要になります。標準の {{Pkg|wpa_supplicant}} や {{ic|iwconfig}} ツールを使って設定できます。
+
  
使うチップセットによって、{{Pkg|ipw2100-fw}} か {{Pkg|ipw2200-fw}} を[[pacman (日本語)|インストール]]してください。
+
{{Note|詳しくは [[Network Configuration (日本語)#IP アドレスの設定]] を見て下さい。この部分は全く同じです。}}
  
Arch Linux をインストールしたあとにモジュールをインストールする場合、ファームウェアをロードするためにモジュールをリロードする必要があります; root 権限で次のコマンドを実行して下さい:
+
最後に、ネットワークインターフェースに IP アドレスを与えます。例えば DHCP を使って:
rmmod ipw2200
+
modprobe ipw2200
+
  
=====radiotap インターフェースを有効にする=====
+
  # dhcpcd wlan0
root 権限で以下を実行してください:
+
  rmmod ipw2200
+
modprobe ipw2200 rtap_iface=1
+
  
=====LED を有効にする=====
+
もしくは固定 IP アドレスの場合:
ほとんどのラップトップにはワイヤレスが使われていることを占める LED がフロントにあります。有効にするには {{ic|/etc/modprobe.d/ipw2200.conf}} に以下を追加してください:
+
options ipw2200 led=1
+
  
====iwl3945, iwl4965, iwl5000-シリーズ====
+
# ip addr add 192.168.0.2/24 dev wlan0
'''I'''ntel のオープンソース '''W'''i-Fi ドライバ for '''L'''inux ([http://intellinuxwireless.org iwlwifi] を見て下さい) はカーネル 2.6.24 から 3945 と 4965 チップセットを動作させます。iwl5000-シリーズチップセット (including 5100BG, 5100ABG, 5100AGN, 5300AGN, 5350AGN) は '''カーネル 2.6.27''' から '''iwlagn''' でサポートされています。
+
# ip route add default via 192.168.0.1
  
2.6.34 カーネルから、ファームウェアのファイルは {{ic|linux-firmware}} パッケージに移されました。手動でファームウェアパッケージをインストールする必要はありません。
+
{{Note|''waiting for carrier'' の問題でタイムアウトエラーになる場合、特定のデバイスのチャンネルモードを {{ic|auto}} に設定する必要があるかもしれません:
  
=====ドライバをロードする=====
+
  # iwconfig wlan0 channel auto
[[udev]] は自動でドライバをロードするはずです。起動時に手動でドライバをロードするには、[[Kernel modules (日本語)#ロード]] を読んで、新しいファイルにそれぞれ {{ic|iwl3945}} か {{ic|iwl4965}} を加えて下さい。例:
+
  # Load Intel Wi-Fi modules
+
iwl3945
+
  
再起動後にドライバがロードされるはずです、{{ic|ip addr}} を実行して端末が新しいネットワークインターフェースとして ''wlan0'' を表示するか確かめて下さい。
+
チャンネルを auto に変える前に、あなたのワイヤレスインターフェース (この場合 'wlan0') が '''down''' になっていることを確認してください。変更が成功したら、インターフェースを立ち上げなおして次の手順に進んで下さい。}}
  
=====LED の点滅を無効化する=====
+
==== カスタムスタートアップスクリプト・サービス ====
  
デフォルト設定ではモジュールの動作中 LED が点滅するようになっています。人によってはこれが鬱陶しく感じるかもしれません。Wi-Fi を使っている時に LED を固定するには:
+
手動設定はワイヤレスに関する問題のトラブルシューティングに役立ちますが、再起動する毎にコマンドを再入力する必要があります。全体のプロセスを自動で行うシェルスクリプトを書けば、設定の全てのコントロールを維持しながらネットワーク管理をとても便利にすることができます。
  
# echo 'w /sys/class/leds/phy0-led/trigger - - - - phy0radio' > /etc/tmpfiles.d/phy0-led.conf
+
=====systemd と dhcpcd を使って起動時に手動でワイヤレス接続=====
# systemd-tmpfiles --create phy0-led.conf
+
  
LED のトリガの全ての設定値を見るには:
+
この例ではスタートアップに [[systemd (日本語)|systemd]] を、接続に [[WPA supplicant]] を、IP アドレスの取得に {{Pkg|dhcpcd}} を使っています。
  
# cat /sys/class/leds/phy0-led/trigger
+
{{Note|あらかじめ {{Pkg|wpa_supplicant}} をインストールして {{ic|/etc/wpa_supplicant.conf}} を作成してください。詳しくは [[WPA supplicant]] を見て下さい。}}
  
Here is an example for the old way, if you do not have {{ic|/sys/class/leds/phy0-led}}:
+
systemd のユニットを作成してください、例: {{ic|/etc/systemd/system/network-wireless@.service}}:
  
# echo "options iwlcore led_mode=1" >> /etc/modprobe.d/modprobe.conf
+
{{hc|/etc/systemd/system/network-wireless@.service|<nowiki>
# rmmod iwlagn
+
[Unit]
# rmmod iwlcore
+
Description=Wireless network connectivity (%i)
# modprobe iwlcore
+
Wants=network.target
# modprobe iwlagn
+
Before=network.target
 +
BindsTo=sys-subsystem-net-devices-%i.device
 +
After=sys-subsystem-net-devices-%i.device
  
On Linux kernels 2.6.39.1-1 and up, the {{ic|iwlcore}} module was deprecated. Use {{ic|1=options iwlagn led_mode=1}} or {{ic|1=options iwl_legacy led_mode=1}} instead (find out what module is loaded with {{ic|lsmod}}).
+
[Service]
 +
Type=oneshot
 +
RemainAfterExit=yes
  
{{Note| iwl_legacy was renamed iwlegacy in Linux kernel 3.3.1. For this version, use {{ic|1=options iwlegacy led_mode=1}}.}}
+
ExecStart=/usr/bin/ip link set dev %i up
 +
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
 +
ExecStart=/usr/bin/dhcpcd %i
  
=====ノート=====
+
ExecStop=/usr/bin/ip link set dev %i down
* ndiswrapper では {{ic|iwl3945}} と {{ic|ipw3945}} ドライバの代わりとして MS Windows NETw4x32 ドライバを使うことができます。
+
* インストール後に、{{ic|iwl3945}} と {{ic|ipw3945}} モジュールの両方がロードされることがあります (特に [[Dell Latitude D620]])。モジュールが両方ロードされているとカードが動作しません。その時は {{ic|ipw3945}} モジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]する必要があります。
+
* By default, {{ic|iwl3945}} is configured to only work with networks on channels 1-11. Higher frequency bands are not allowed in some parts of the world (e.g. the US). In the EU however, channels 12 and 13 are used quite commonly (and Japan allows for channel 14). To make {{ic|iwl3945}} scan for all channels, add {{ic|1=options cfg80211 ieee80211_regdom=EU}} to {{ic|/etc/modprobe.d/modprobe.conf}}. With {{ic|iwlist f}} you can check which channels are allowed.
+
* If you want to enable more channels on Intel Wifi 5100 (and quite possible other cards too), you can do that with the {{pkg|crda}} package. After installing the package, edit {{ic|/etc/conf.d/wireless-regdom}} and uncomment the line where your country code is found. When executing {{ic|sudo iwlist wlan0 channel}}, you should now have access to more channels (depending on your location).
+
  
====orinoco====
+
[Install]
カーネルパッケージの一部となっているので、別個インストールする必要はありません。
+
WantedBy=multi-user.target
 +
</nowiki>}}
  
{{Note|1=いくつかの Orinoco チップセットは Hermes I/II です。AUR パッケージ {{AUR|wl_lkm}} を使って {{ic|orinoco}} ドライバを置き換え WPA サポートを得ることができます。詳しくは [http://ubuntuforums.org/showthread.php?p=2154534#post2154534 this post] を見て下さい。}}
+
ユニットを有効にして起動してください (インターフェイスの名前を指定します):
  
ドライバを使うには、{{ic|orinoco_cs}} を[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]して、それから {{ic|wlags49_h1_cs}} を加えて下さい。
+
# systemctl enable network-wireless@wlan0.service
 +
# systemctl start network-wireless@wlan0.service
  
====ndiswrapper====
+
=====Systemd と wpa_supplicant と固定 IP=====
Ndiswrapper は実際のドライバではありませんが、あなたのワイヤレスチップセットをサポートしているネイティブ Linux カーネルドライバが存在しない場合に使うことができ、場合によってはとても役に立ちます。これを使うには、Windows のドライバーに含まれる {{ic|*.inf}} ファイルが必要です ({{ic|*.sys}} ファイルも同じディレクトリにあるはずです)。ドライバがあなたのアーキテクチャ (例: 32/64 ビット) に適合しているかも確認してください。{{ic|*.exe}} ファイルからこれらのファイルを展開する必要がある場合は、{{pkg|cabextract}} を使って下さい。
+
  
ndiswrapper を設定するには以下の手順に従って下さい。
+
{{Note|あらかじめ {{Pkg|wpa_supplicant}} をインストールして {{ic|/etc/wpa_supplicant.conf}} を作成してください。詳しくは [[WPA supplicant]] を見て下さい。}}
  
1. ドライバを {{ic|/etc/ndiswrapper/*}} にインストールします
+
まず [[systemd (日本語)|systemd]] サービスの設定ファイルを作成してください ({{ic|<interface>}} は適切なインターフェイス名に置き換えて下さい):
ndiswrapper -i ファイル名.inf
+
2. ndiswrapper にインストールされたドライバを全て一覧します
+
ndiswrapper -l
+
3. {{ic|/etc/modprobe.d/ndiswrapper.conf}} 内に設定ファイルを書き出します
+
ndiswrapper -m
+
depmod -a
+
  
これで ndiswrapper のインストールはほぼ完了です; あとは [[Kernel modules (日本語)#ロード]] の指示に従って起動時に自動でモジュールをロードするようにしてください。
+
{{hc|/etc/conf.d/network-wireless@<interface>|<nowiki>
 +
address=192.168.0.10
 +
netmask=24
 +
broadcast=192.168.0.255
 +
gateway=192.168.0.1
 +
</nowiki>}}
  
重要なことは ndiswrapper が他のモジュールと一緒にロードされることです。ndiswrapper がロードされているかテストするには、次を実行してください:
+
systemd のユニットファイルを作成してください:
modprobe ndiswrapper
+
iwconfig
+
  
''wlan0'' が表示されるはずです。問題が起こった場合は次のページを見て下さい:
+
{{hc|/etc/systemd/system/network-wireless@.service|<nowiki>
[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,installation/ Ndiswrapper installation wiki].
+
[Unit]
 +
Description=Wireless network connectivity (%i)
 +
Wants=network.target
 +
Before=network.target
 +
BindsTo=sys-subsystem-net-devices-%i.device
 +
After=sys-subsystem-net-devices-%i.device
  
====prism54====
+
[Service]
[http://linuxwireless.org/en/users/Drivers/p54 このサイト]からあなたのカードに対応したファームウェアドライバをダウンロードしてください。ファームウェアファイルは {{ic|isl3890}} に名前を変更してください。
+
Type=oneshot
存在しない場合は {{ic|/usr/lib/firmware}} ディレクトリを作成し、{{ic|isl3890}} ファイルをこのディレクトリの中に入れて下さい。これでうまくいくはずです。 [https://bbs.archlinux.org/viewtopic.php?t=16569&start=0&postdays=0&postorder=asc&highlight=siocsifflags+such+file++directory]
+
RemainAfterExit=yes
 +
EnvironmentFile=/etc/conf.d/network-wireless@%i
  
動作しない場合、以下を試して下さい:
+
ExecStart=/usr/bin/ip link set dev %i up
 +
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
 +
ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i
 +
ExecStart=/usr/bin/ip route add default via ${gateway}
  
*prism モジュールをリロードする ({{ic|modprobe p54usb}} or {{ic|modprobe p54pci}}, depending on your hardware)
+
ExecStop=/usr/bin/ip addr flush dev %i
もしくは、一度 Wi-Fi カードを抜き、それからもう一度接続する。
+
ExecStop=/usr/bin/ip link set dev %i down
*{{ic|dmesg}} コマンドを使って、表示の一番最後を見て下さい。
+
次のようなセクションを探します:
+
firmware: requesting '''isl3887usb_bare'''
+
p54: LM86 firmware
+
p54: FW rev 2.5.8.0 - Softmac protocol 3.0
+
それからファームウェアファイルを正しい名前(強調されている部分)に変更してください。
+
  
If you get the message
+
[Install]
SIOCSIFFLAGS: Operation not permitted
+
WantedBy=multi-user.target
when performing {{ic|ip link set wlan0 up}} OR
+
</nowiki>}}
prism54: Your card/socket may be faulty, or IRQ line too busy :(
+
appears in {{ic|dmesg}}'s output this may be because you have both the deprecated kernel module {{ic|prism54}} and one of the newer kernel modules ({{ic|p54pci}} or {{ic|p54usb}}) loaded at the same time and they are fighting over ownership of the IRQ. Use the command {{ic|<nowiki>lsmod | grep prism54</nowiki>}} to see if the deprecated module is being loaded. If so, you need to stop {{ic|prism54}} from loading by [[blacklisting]] it (there are several ways to do this which are described elsewhere). Once blacklisted, you may find you have to rename the firmware as {{ic|prism54}} and {{ic|p54pci}}/{{ic|p54usb}} look for different firmware filenames (i.e. recheck the {{ic|dmesg}} output after performing {{ic|ip link set eth0 up}}).
+
  
====ACX100/111====
+
ユニットを有効にして起動してください (インターフェイスの名前を指定します):
パッケージ: {{ic|tiacx}} {{ic|tiacx-firmware}}
+
  
ドライバはファームウェアが必要だと警告しているはずです; {{ic|/var/log/messages.log}} をチェックするか {{ic|dmesg}} コマンドを使って下さい。
+
# systemctl enable network-wireless@wlan0.service
 +
# systemctl start network-wireless@wlan0.service
  
適切なファームウェアを {{ic|/usr/lib/firmware}} にリンクします:
+
===自動セットアップ===
ln -s /usr/share/tiacx/acx111_2.3.1.31/tiacx111c16 /usr/lib/firmware
+
様々な方法を選ぶことができますが、相互に相容れないことを忘れないで下さい; 2つのデーモンを同時に実行してはいけません。下の表は接続マネージャを比較しています。それぞれの詳細は下のサブセクションにあります。
  
For another way to determine which firmware revision number to use, see the [http://acx100.sourceforge.net/wiki/Firmware "Which firmware" section] of the acx100.sourceforge wiki. For ACX100, you can follow the links provided there to a table of card model numbers vs. "firmware files known to work"; you can figure out the rev. number you need, by looking at the suffix there. For example, a dlink_dwl650+ uses "1.9.8.b", in which case you would do this:
+
{| class="wikitable" border="1"
ln -s /usr/share/tiacx/acx100_1.9.8.b/* /usr/lib/firmware
+
! 接続マネージャ || ネットワーク <br>プロファイル <br>サポート || ローミング <br>(切断したり場所を変更した時の <br>自動接続) || [[Wikipedia:point-to-point protocol|PPP]] サポート <br>(例: 3G モデム) || 公式 <br>GUI || コンソールツール
 +
|-
 +
| [[Connman]] || Yes || Yes || Yes || No || {{ic|connmanctl}}
 +
|-
 +
| [[Netctl]] || Yes || Yes || Yes || No || {{ic|netctl}},{{ic|wifi-menu}}
 +
|-
 +
| [[NetworkManager]] || Yes || Yes || Yes || Yes || {{ic|nmcli}}
 +
|-
 +
| [[Wicd]] || Yes || Yes || No || Yes || {{ic|wicd-curses}}
 +
|}
  
If you find that the driver is spamming your kernel log, for example because you are running Kismet with channel-hopping, you could put this in {{ic|/etc/modprobe.d/modprobe.conf}}:
+
====Netctl====
options acx debug=0
+
  
{{Note|The open-source {{ic|acx}} driver does not support WPA/RSN encryption. Ndiswrapper will have to be used with the Windows driver to enable the enhanced encryption. See ndiswrapper, this page, for more details.}}
+
{{ic|netctl}} は {{ic|netcfg}} の後継で systemd で動作するように設計されています。設定にプロファイルを使い、幅広いタイプのネットワークを検知・接続することができます。グラフィカルツールを使うのと難易度は大して変わりません。
  
==== b43, broadcom-wl, brcmsmac (以前の brcm80211)====
+
参照: [[Netctl (日本語)]]
[[Broadcom_wireless|Broadcom wireless]] ページを見て下さい。
+
  
====zd1211rw====
+
====Wicd====
[http://zd1211.wiki.sourceforge.net/ {{ic|zd1211rw}}] は ZyDAS ZD1211 802.11b/g USB WLAN チップセット用のドライバで、最近の Linux カーネルに含まれています。サポートされているドライバの一覧は [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices] を見て下さい。{{Pkg|zd1211-firmware}} パッケージとして提供されているファームウェアを[[pacman (日本語)|インストール]]することだけが必要です。
+
  
====carl9170====
+
Wicd は無線・有線両方の接続を管理することができるネットワークマネージャです。Python と Gtk で書かれており NetworkManager よりも依存ライブラリがすくなく、軽量なデスクトップを使うユーザーにとって理想的な選択肢になるかもしれません。Wicd は[[Official Repositories (日本語)|公式リポジトリ]]で利用できます。
[http://wireless.kernel.org/en/users/Drivers/carl9170/ {{ic|carl9170}}] 802.11n USB ドライバと、Atheros USB AR9170 デバイス用の GPLv2 ファームウェアです。[http://wireless.kernel.org/en/users/Drivers/carl9170#available_devices これらのデバイス]をサポートしています。'''ファームウェア'''は {{Pkg|linux-firmware}} パッケージには含まれていません; [[Arch User Repository (日本語)|AUR]] から利用することができます ({{AUR|carl9170-fw}})。'''ドライバ'''は Linux カーネル v2.6.37 以上に含まれています。
+
  
このドライバを使うには、以下の古いドライバモジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]してください:
+
参照: [[Wicd]]
*{{ic|arusb_lnx}}
+
*{{ic|ar9170usb}}
+
  
====hostap_cs====
+
{{Note|ドライバーによっては [[NetworkManager (日本語)|NetworkManager]] で問題なく動くものが、[[wicd]] では何度も切断することがあります。}}
Host AP は WCP11 などの Prism2/2.5/3 用の Linux ドライバです。{{ic|hostap_cs}} は {{ic|linux}} パッケージに含まれており個別にインストールする必要はありません。
+
  
{{ic|orinico_cs}} と問題を発生することがあるので、[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]してください。ブラックリストに入れれば、ドライバが動作するはずです。
+
====NetworkManager====
  
詳しい情報は: [http://hostap.epitest.fi/ Home page]
+
NetworkManager は高度なネットワーク管理ツールであり、人気のある GNU/Linux ディストーションのほとんどでデフォルトで有効にされています。有線接続の管理に加えて、NetworkManager は、GUI プログラムで利用したいネットワークを選択する、使いやすくて、心配のないワイヤレスローミングを提供します。 
  
====compat-drivers-patched====
+
[[GNOME (日本語)|GNOME]] ではなく [[Openbox (日本語)|Openbox]] や [[xmonad]] などのウィンドウマネージャを使っている場合 WEP, WPA, WPA2 接続を管理するために {{Pkg|polkit-gnome}}, {{Pkg|gnome-keyring}}, {{Pkg|libgnome-keyring}}, {{Pkg|pyxdg}} を[[pacman (日本語)|インストール]]することを忘れないで下さい。
Patched compat wireless ドライバは "fixed-channel -1" 問題を修正し、より良いインジェクションを提供します。[[Arch User Repository (日本語)|AUR]] から {{AUR|compat-drivers-patched}} パッケージをインストールしてください。
+
  
{{AUR|compat-drivers-patched}} は他のパッケージや {{ic|/usr/lib/modules/''your_kernel_version''/updates}} に作られるモジュールと衝突しません。
+
参照: [[NetworkManager (日本語)]]
  
[http://wireless.kernel.org/ Linux Wireless project] ではパッチ済みのドライバを提供しており多くのチップがサポートされています:
+
{{Note|最初に ([[Arch User Repository (日本語)|AUR]] にある) {{AUR|xfce4-xfapplet-plugin}} をインストールすれば、GNOME の {{pkg|network-manager-applet}} を [[Xfce (日本語)|Xfce]] でも動作させることができます。さらに、[[KDE (日本語)|KDE]] で利用できるアップレットもあります。}}
  
ath5k ath9k_htc carl9170 b43 zd1211rw rt2x00 wl1251 wl12xx ath6kl brcm80211
+
====WiFi Radar====
  
サポートされているグループ:
+
WiFi Radar はワイヤレスプロファイルを管理する Python/PyGTK2 ユーティリティです(ワイヤレス''だけ''をサポートしています)。利用できるネットワークのスキャンとネットワークのプロファイルの作成ができます。
  
atheros ath iwlagn rtl818x rtlwifi wl12xx atlxx bt
+
参照: [[Wifi Radar]]
  
[[PKGBUILD (日本語)]] を編集することで特定のモジュール・ドライバやドライバグループをビルドすることも可能です。以下は atheros グループのビルドの例:
+
==トラブルシューティング==
  
scripts/driver-select atheros
+
=== ログの取得 ===
  
コンパイルやインストールの前に可能な他の修正についてはパッケージの [[PKGBUILD (日本語)]] を読んで下さい。
+
トラブルシューティングで一番初めにするべきなのはシステムのログファイルを解析することです。全部を手でパースしないために、新しいターミナル(コンソール)を開いて、接続を試行している間のカーネルメッセージを次のコマンドで見ると良いでしょう:
 +
$ dmesg -w
  
===テストインストール===
+
ネットワーク管理にツールを使っている場合、systemd でも同じことができます:
ドライバをロードした後、{{ic|ip link}} を実行することでワイヤレスインターフェース (例: ''wlanX'', ''ethX'', ''athX'') が作成されたか確認することができます。
+
# journalctl -f
  
インターフェースが表示されない場合、modprobe することで働くかもしれません。ドライバを起動するには、{{ic|rmmod}} と {{ic|modprobe}} コマンドを使って下さい。{{ic|rmmod}} が失敗したときでも、続けて {{ic|modprobe}} をしてください。詳しくは [[Kernel modules (日本語)]] を見て下さい。
+
この記事にあるそれぞれのツールは詳細なデバッグ出力をするオプションを用意しているので、必要ならば、解析の第二段階としてそれを使うことができます。
  
サンプル: ドライバの名前が "driverXXX" の場合、次のコマンドを実行します:
+
===省電力機能===
# rmmod driverXXX
+
# modprobe driverXXX
+
  
インターフェースを {{ic|ip link set <interface> up}} で起動します。例えば、インターフェースが ''wlan0'' だと仮定して:
+
[[Power saving#Network interfaces]] を見て下さい。
# ip link set wlan0 up
+
  
次のエラーメッセージが表示される場合: {{ic|SIOCSIFFLAGS: No such file or directory}}、あなたのワイヤレスチップセットを機能させるにはファームウェアが必要なことを表しています、上記で説明されているようにインストールしてください。
+
=== IP アドレスの取得に失敗する ===
  
==Part II: ワイヤレス管理==
+
デフォルトの {{Pkg|dhcpcd}} クライアントでは IP アドレスの取得に何度も失敗する場合、代わりに {{Pkg|dhclient}} をインストールして使用してみて下さい。あなたの使っている[[#自動セットアップ|接続マネージャ]]で DHCP クライアントとして ''dhclient'' を忘れずに選択してください。
ドライバがインストールされ正しく動作しているとして、次にワイヤレス接続を管理するための方法を選ぶ必要があります。次のサブセクションが方法を決めるのに役立つでしょう。
+
  
複数の理由によってプロシージャとツールが必要になるでしょう:
+
有線インターフェイスでは IP アドレスを取得できるのに、無線インターフェイスでは出来ない場合、ワイヤレスカードの省電力機能を無効にしてみてください:
* 望む設定管理の種類; 完全な手動なコマンドラインによる設定から、ソフトウェアによる自動設定まで。
+
* ワイヤレスネットワークを保護する暗号化方式。
+
* コンピュータが使うネットワークを頻繁に変える場合(ラップトップなど)の、ネットワークプロファイルの必要性。
+
  
マニュアル設定はあなたに多くの仕事を課しますが、設定のよりよいコントロールが得られます。
+
# iwconfig wlan0 power off
一般に、永続的な効果のないコマンドセットを入力する必要があるでしょう、つまり、再起動後に適用はされないでしょう。
+
起動毎にコマンドを入力するのがやっかいな場合は、コマンドをシェルスクリプトに入れて手順を自動化することができます。スクリプトは起動時に自動で実行されるでしょう。[[Arch Boot Process (日本語)]] を見て下さい。
+
  
===管理方法===
+
=== 接続がいつもタイムアウトになる ===
以下の表はワイヤレスネットワーク接続を有効化・管理するために使われる方法を、暗号化方式と管理タイプによって表記しています、様々なツールが必要になります。他の方法も存在しますが、よく使われるのはこの通りです。
+
{| border="1"
+
! 管理方法 || 暗号化なし/WEP || WPA/WPA2 PSK
+
|-
+
| 手動 || {{pkg|iproute2}} + {{ic|iwconfig}} + {{ic|dhcpcd}}/{{ic|iproute2}} || {{ic|iproute2}} + {{ic|iwconfig}} + [[WPA supplicant|wpa_supplicant]] + {{ic|dhcpcd}}/{{ic|iproute2}}
+
|-
+
| 自動管理、ネットワークプロファイルサポート || colspan="2" align="center" | [[netcfg (日本語)]], [[Wicd]], [[NetworkManager (日本語)]], など.
+
|}
+
  
自動管理についてもっと細かく:
+
The driver may suffer from a lot of tx excessive retries and invalid misc errors for some unknown reason, resulting in a lot of packet loss and keep disconnecting, sometimes instantly. Following tips might be helpful.
  
{| border="1"
+
==== Lowering the rate ====
! - || netcfg || Wicd || [[NetworkManager (日本語)|NetworkManager]] + {{pkg|network-manager-applet}}
+
|-
+
| 起動時の自動接続 || [[Netcfg#Net-Profiles|net-profiles]] サービスを使う || yes || yes
+
|-
+
| auto connect if dropped <br>or changed location || [[Netcfg#Net-Auto-Wireless|net-auto-wireless]] サービスを使う || yes || yes
+
|-
+
| 3G モデムのサポート || || || yes
+
|-
+
| GUI (システムトレイアイコンからの<br>接続・切断するプロファイルの管理<br>自動ワイヤレス検知も可能) || ArchAssistant || yes || yes
+
|-
+
| コンソールツール || {{ic|wifi-select}} || {{ic|wicd-curses}} ({{pkg|wicd}} パッケージ) || {{ic|nmcli}}
+
|}
+
  
Linux のワイヤレスエクステンションや {{ic|iwconfig}} などのコマンドはすでに推奨されておらず、core-リポジトリとは別にインストールする必要がある、{{ic|iw}} に取って代わられていることに注意してください。このことはまだ wiki 内で完全には反映されていません。一般的なコマンドの比較は [http://linuxwireless.org/en/users/Documentation/iw/replace-iwconfig Linuxwireless] にあります。
+
Try setting lower rate, for example 5.5M:
  
どの方法を選んだにせよ、'''まずは手動で接続を試行するべきです'''。問題がおこったときに必要なことは何でどのようにデバッグすればいいかを知るのに役に立つでしょう。可能であれば(例: あなたが Wi-Fi アクセスポイントを管理している場合)、暗号化なしで接続してみて、全てが動作するか確認してください。それから、WEP (設定がシンプルですが数秒でクラックされかねません、暗号化していないのとほとんど変わりません)、WPA、WPA2 などの暗号化を使ってみてください。
+
# iwconfig wlan0 rate 5.5M auto
  
簡単に使用するには、(GNOME の {{pkg|network-manager-applet}} を含む) NetworkManager と {{ic|wicd}} には GUI があり、利用できるネットワークの一覧から接続したいものを選び、パスワードを入力するだけの、簡単でイチオシの方法があります。WPA Supplicant にも GUI 設定ツールである {{pkg|wpa_supplicant_gui}} があります。
+
Fixed option should ensure that the driver does not change the rate on its own, thus making the connection a bit more stable:
  
{{Note|最初に {{AUR|xfce4-xfapplet-plugin}} をインストールすれば、GNOME の {{pkg|network-manager-applet}} を [[Xfce]] で動作させることができます。{{AUR|xfce4-xfapplet-plugin}} は [[Arch User Repository (日本語)|AUR]] にあります、しかし管理されておらず動作しないかもしれません。さらに、[[KDE (日本語)]] で利用できるアップレットもあります。}}
+
# iwconfig wlan0 rate 5.5M fixed
  
===手動セットアップ===
+
==== Lowering the txpower ====
{{pkg|wireless_tools}} パッケージが提供するプログラムはワイヤレスネットワークを設定するための基本的なツールのセットです。さらに {{pkg|iw}} パッケージは新しいツールを提供します。WPA/WPA2 暗号化を使うには、{{pkg|wpa_supplicant}} パッケージをインストールする必要があります。これらのパワフルなユーザースペースのコンソールツールはすこぶる良く動作し、シェルからの手動操作で設定を完了できます。
+
  
以下の例ではあなたのワイヤレスデバイスを ''wlan0'' と仮定しています。''wlan0'' を適当なデバイス名に置き換えて下さい。
+
You can try lowering the transmit power as well. This may save power as well:
{{Note|ハードウェアや暗号化方式によっては、手順のいくつかは必要ありません。カードによってはアクセスポイントに関連付けをして IP アドレスを取得する前に、インターフェースの有効化やアクセスポイントのスキャニングが必要なことがあります。実験が必要かもしれません。例えば、WPA/WPA2 ユーザーはワイヤレスネットワークをスレップ3から直接有効化できます。}}
+
  
====動作モード====
+
# iwconfig wlan0 txpower 5
''(任意、または必須)'' ワイヤレスカードの正しい動作モードを設定する必要があるかもしれません。具体的に言うと、ad-hoc ネットワークに接続したい場合、動作モードを ''ad-hoc'' に設定する必要があります:
+
  
# iw wlan0 set type ibss
+
Valid settings are from {{ic|0}} to {{ic|20}}, {{ic|auto}} and {{ic|off}}.
  
{{Note|理想を言えば、接続するネットワークのタイプを既に知っておくべきです。そうでないならば、下のステップ2で説明されているようにネットワークをスキャンし、必要なら、このステップに戻って動作モードを変更してください。また、動作モードを変更するにはワイヤレスインターフェースを ''down'' させておく必要があるかもしれません ({{ic|ip link set wlan0 down}})。}}
+
==== Setting rts and fragmentation thresholds ====
  
====インターフェースの有効化====
+
Default iwconfig options have rts and fragmentation thresholds off. These options are particularly useful when there are many adjacent APs or in a noisy environment.
''(任意、または必須)'' カードによっては {{ic|wireless_tools}} を使う前にカーネルインターフェースを初期化する必要があります:
+
# ip link set wlan0 up
+
  
====アクセスポイント検索====
+
The minimum value for fragmentation value is 256 and maximum is 2346. In many windows drivers the maximum is the default value:
利用できるアクセスポイントを見るには:
+
# iw dev wlan0 scan | less
+
{{Note|"''Interface doesn't support scanning''" と表示される場合、おそらくファームウェアのインストールを忘れています。ポイント 1 で示されているようにインターフェースの有効かも試してみてください。場合によっては、{{ic|iw}} が root 権限で実行されていない時にこのメッセージが表示されることもあります。
+
また、あなたのワイヤレスネットワークカードがブロックされているのかもしれません。{{pkg|rfkill}} をインストールしてチェックするために {{ic|rfkill list all}} を実行してみてください。}}
+
  
チェックするべきポイント:
+
# iwconfig wlan0 frag 2346
* ESSID: そのアクセスポイントの"名前"。
+
* Quality: 一般的に 40/70 以上が望ましい値です。
+
* Encryption key: これが "on" の場合、見なくてはいけないのは以下の点です
+
** WEP, WPA, RSN。RSN と WPA2 は同じプロトコルの別名です。
+
** Group cipher: 値は TKIP, CCMP, その両方, もしくはその他。
+
** Pairwise ciphers: 値は TKIP, CCMP その両方, もしくはその他。Group cipher と同じ値である必要はありません。
+
** Authentication Suites: 値は PSK, 802.1x, もしくはその他。家庭用ルーターでは、一般的に PSK になるでしょう (''つまり''パスフレーズ)。大学などでは、ログインとパスワードが必要な 802.1x スイートになると思われます。利用するためにはどのキーマネージメント (例: EAP) とカプセル化 (例: PEAP) が使われているか知る必要があります。詳しくは [[Wikipedia:List_of_authentication_protocols]] と関連記事を見て下さい。
+
  
====関連付け====
+
For rts minimum is 0, maximum is 2347. Once again windows drivers often use maximum as the default:
暗号化方式によって、ワイヤレスデバイスに利用するアクセスポイントへ渡す暗号化キーを関連付ける必要があります。
+
  
あなたが ESSID {{ic|MyEssid}} を使いたいとします:
+
  # iwconfig wlan0 rts 2347
{{Note|普通 essid は接続したいネットワークの名前と同じだと思われます。}}
+
* '''暗号化なし'''
+
  # iwconfig wlan0 essid "MyEssid"
+
もしくは、新しい netlink インターフェースでは
+
# iw wlan0 connect MyEssid
+
* '''WEP'''
+
十六進数キーを使う:
+
# iwconfig wlan0 essid "MyEssid" key 1234567890
+
ASCII キーを使う:
+
# iwconfig wlan0 essid "MyEssid" key s:asciikey
+
* '''WPA/WPA2'''
+
  
[[WPA_Supplicant]] で説明されているように [[#アクセスポイント検索]] で得られた結果にあわせて {{ic|/etc/wpa_supplicant.conf}} ファイルを編集する必要があります。それができたら、次のコマンドを実行してください:
+
=== ランダムに切断する ===
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
+
  
ここではあなたのデバイスが {{ic|wext}} ドライバを使うと仮定しています。これで動かない場合、オプションを修正しなくてはならないかもしれません。
+
==== 原因 #1 ====
接続に成功したなら、新しいターミナルで次に進んでください (もしくは {{ic|Ctrl+c}} で {{ic|wpa_supplicant}} を終了し上記のコマンドに {{ic|-B}} スイッチを付けてバックグラウンドで実行してください)。[[WPA_Supplicant]] にはより詳しい情報とトラブルシューティングが載っています。
+
  
使う方法によらず、関連付けが成功しているかどうか次を実行することで確かめられます:
+
If dmesg says {{ic|1=wlan0: deauthenticating from MAC by local choice (reason=3)}} and you lose your Wi-Fi connection, it is likely that you have a bit too aggressive power-saving on your Wi-Fi card[http://us.generation-nt.com/answer/gentoo-user-wireless-deauthenticating-by-local-choice-help-204640041.html]. Try disabling the wireless card's power-saving features:
# iwconfig wlan0
+
もしくは、新しい netlink インターフェースでは
+
# iw dev wlan0 link
+
  
{{Note|場合によっては "Access Point: Not-Associated" の表示が変わらないかもしれません、次のステップに進んで下さい。}}
+
# iwconfig wlan0 power off
  
====IP アドレスを取得====
+
See [[Power saving]] for tips on how to make it permanent (just specify {{ic|off}} instead of {{ic|on}}).
最後に、ネットワークインターフェースに IP アドレスを与えます。例として DHCP の場合:
+
# dhcpcd wlan0
+
もしくは固定 IP アドレスの場合:
+
# ip addr add 192.168.0.2/24 dev wlan0
+
# ip route add default via 192.168.0.1
+
  
{{Note|''waiting for carrier'' によってタイムアウトエラーになる場合、特定のデバイスのチャンネルモードを {{ic|auto}} に設定する必要があるかもしれません。}}
+
If your card does not support {{ic|iwconfig wlan0 power off}}, check the '''BIOS''' for power management options. Disabling PCI-Express power management in the BIOS of a Lenovo W520 resolved this issue.
# iwconfig wlan0 channel auto
+
チャンネルを auto に変える前に、あなたのワイヤレスインターフェース (この場合 'wlan0') が '''down''' になっていることを確認してください。変更が成功したら、インターフェースを立ち上げなおして次の手順に進んで下さい。
+
  
{{Note|手動設定はワイヤレスに関する問題のトラブルシューティングに役立ちますが、再起動する毎にコマンドを再入力する必要があります。全体のプロセスを自動で行うシェルスクリプトを書けば、設定の全てのコントロールを維持しながらネットワーク管理をとても便利にすることができます。}}
+
==== 原因 #2 ====
  
====systemd と dhcpcd を使って起動時に手動でワイヤレス接続====
+
If you are experiencing frequent disconnections and dmesg shows messages such as
起動時に [[systemd (日本語)|systemd]] を使って手動で設定したワイヤレスネットワークに接続するには:
+
  
インターフェース、もしくは固定 IP 設定を含んだ {{ic|/etc/conf.d/network}} を作成します:
+
{{ic|1=ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting}}
{{hc|/etc/conf.d/network|<nowiki>
+
interface=wlan0
+
address=192.168.0.10
+
netmask=24
+
broadcast=192.168.0.255
+
gateway=192.168.0.1
+
</nowiki>}}
+
  
systemctl ユニットを作成します。例: {{ic|/etc/systemd/system/network.service}}。この例では dhcpcd と [[WPA supplicant]] を使っています。
+
try changing the channel bandwidth to {{ic|20MHz}} through your router's settings page.
{{hc|/etc/systemd/system/network.service|<nowiki>
+
[Unit]
+
Description=Network Connectivity
+
Wants=network.target
+
Before=network.target
+
BindsTo=sys-subsystem-net-devices-${interface}.device
+
After=sys-subsystem-net-devices-${interface}.device
+
     
+
[Service]
+
Type=oneshot
+
RemainAfterExit=yes
+
EnvironmentFile=/etc/conf.d/network
+
ExecStart=/sbin/ip link set dev ${interface} up
+
ExecStart=/usr/sbin/wpa_supplicant -B -i ${interface} -c /etc/wpa_supplicant.conf
+
ExecStart=/sbin/dhcpcd ${interface}
+
       
+
[Install]
+
WantedBy=multi-user.target
+
</nowiki>}}
+
  
もしくは {{ic|/etc/conf.d/network}} を使わないで:
+
==ドライバとファームウェアのトラブルシューティング==
{{hc|/etc/systemd/system/network.service|<nowiki>
+
[Unit]
+
Description=Network Connectivity
+
Wants=network.target
+
Before=network.target
+
BindsTo=sys-subsystem-net-devices-wlan0.device
+
After=sys-subsystem-net-devices-wlan0.device
+
     
+
[Service]
+
Type=oneshot
+
RemainAfterExit=yes
+
ExecStart=/sbin/ip link set dev wlan0 up
+
ExecStart=/usr/sbin/wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
+
ExecStart=/sbin/dhcpcd wlan0
+
       
+
[Install]
+
WantedBy=multi-user.target
+
</nowiki>}}
+
  
有効化するのを忘れないで下さい!
+
このセクションでは、一般的な方法とは異なる、特定のチップセットのカーネルモジュールと''ファームウェア''をインストールする方法を説明します。
# systemctl enable network
+
  
テストするには、再起動するか他の全てのネットワークデーモンを止めて、管理者権限で次を実行します
+
モジュールの動作についての一般的な情報は [[Kernel modules (日本語)]] を見て下さい。
# systemctl start network
+
  
====Systemd と wpa_supplicant と固定 IP====
+
=== Ralink ===
ここの例では新しい systemd-197 命名規則を使って設定を行なっています。
+
  
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
+
====rt2x00====
  
https://mailman.archlinux.org/pipermail/arch-dev-public/2013-January/024231.html
+
Ralink のチップセット用の統合ドライバー ({{ic|rt2500}}, {{ic|rt61}}, {{ic|rt73}} などを置き換えます)。このドライバーは Linux カーネル 2.6.24 から含まれており、チップに合わせて適切なモジュールをロードするだけで問題なく使うことができます: {{ic|rt2400pci}}, {{ic|rt2500pci}}, {{ic|rt2500usb}}, {{ic|rt61pci}}, {{ic|rt73usb}} は {{ic|rt2x00}} モジュールもそれぞれ自動でロードします。
  
以下のスクリプトを一般ユーザーで実行してインターフェースの名前を探します:
+
このモジュールでサポートされているデバイスの一覧はプロジェクトの [http://rt2x00.serialmonkey.com/wiki/index.php/Hardware ホームページ] で見ることができます。
  
for i in /sys/class/net/*; do
+
; 追加情報
  echo "==$i"
+
* カーネル 3.0 から、rt2x00 は次のドライバーを含んでいます: {{ic|rt2800pci}}, {{ic|rt2870usb}}。
  udevadm test-builtin net_id "$i";
+
* カーネル 3.0 から、staging ドライバー {{ic|rt2860sta}} と {{ic|rt2870sta}} は mainline ドライバー {{ic|rt2800pci}} と {{ic|rt2800usb}} によって置き換えられました<sup>[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fefecc6989b4b24276797270c0e229c07be02ad3]</sup>
  echo
+
* デバイスによっては {{ic|iwpriv}} を使って様々なオプションを設定することができます。これらのオプションについては Ralink から入手できる [http://web.ralinktech.com/ralink/Home/Support/Linux.html source tarballs] にまとめられています。
done 2>/dev/null
+
  
{{ic|/etc/conf.d/network}} を作成します
+
====rt3090====
{{hc|/etc/conf.d/network|<nowiki>
+
interface=wlp0s26f7u3
+
address=192.168.0.10
+
netmask=24
+
broadcast=192.168.0.255
+
gateway=192.168.0.1
+
</nowiki>}}
+
  
{{ic|wpa_supplicant}} をインストールし {{ic|/etc/wpa_supplicant.conf}} を作成します。[[WPA supplicant]] を見て下さい。
+
rt3090 を使っているデバイスには {{ic|rt2800pci}} ドライバを使うことができますが、うまく動作しないことがあります (例えば時々 2Mb/s 以上の速度が出なくなります)。
{{hc|/etc/wpa_supplicant.conf|<nowiki>
+
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=network
+
update_config=1
+
network={
+
        ssid="My-Wireless"
+
        psk=b705a6bfcd5639d5c40cd972cd4048cfb94572987f30d324c82036317b91a138
+
}
+
</nowiki>}}
+
  
インターフェースの名前が入った systemd ユニットファイルを作成します: {{ic|/etc/systemd/system/network@wlp0s26f7u3.service}}
+
[[Arch User Repository (日本語)|AUR]] から {{AUR|rt3090}} ドライバを使うのが最適です。{{ic|rt2800pci}} モジュールを[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]して、起動時に {{ic|rt3090sta}} モジュールを[[Kernel modules (日本語)#ロード|ロード]]するように設定します。
{{hc|/etc/systemd/system/network@wlp0s26f7u3.service|<nowiki>
+
[Unit]
+
Description=Network Connectivity (%i)
+
Wants=network.target
+
Before=network.target
+
BindsTo=sys-subsystem-net-devices-%i.device
+
After=sys-subsystem-net-devices-%i.device
+
  
[Service]
+
{{Note|このドライバは rt3062 チップセットでも動作します。}}
Type=oneshot
+
RemainAfterExit=yes
+
EnvironmentFile=/etc/conf.d/network
+
ExecStart=/usr/sbin/ip link set dev ${interface} up
+
ExecStart=/usr/sbin/wpa_supplicant -B -i ${interface} -c /etc/wpa_supplicant.conf
+
ExecStart=/usr/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
+
ExecStart=/usr/sbin/ip route add default via ${gateway}
+
ExecStop=/usr/sbin/ip addr flush dev ${interface}
+
ExecStop=/usr/sbin/ip link set dev ${interface} down
+
  
[Install]
+
==== rt3290 ====
WantedBy=multi-user.target
+
</nowiki>}}
+
  
ユニットを有効にして実行します。
+
rt3290 チップセットはカーネルの {{ic|rt2800pci}} モジュールによって認識されます。ただし、問題が起こることもあり、[https://bbs.archlinux.org/viewtopic.php?id=161952 そのような場合]はパッチがあてられた Ralink ドライバーに戻すと良いようです。
# systemctl enable network@wlp0s26f7u3.service
+
# systemctl start network@wlp0s26f7u3.service
+
  
===自動セットアップ===
+
====rt3573====
様々な方法を選ぶことができますが、相互に相容れないことを忘れないで下さい; 2つのデーモンを同時に実行してはいけません。
+
  
====Netcfg====
+
2012年時点で新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバが必要かもしれません。様々な製造会社がそれを使っています、[https://bbs.archlinux.org/viewtopic.php?pid=1164228#p1164228 Belkin N750 無線 USB アダプタ]のスレッドを見て下さい。
{{ic|netcfg}} は Arch Linux での''多目的の、強固で高速な''ネットワーク接続ソリューションを提供します。
+
  
netcfg はプロファイルを使って設定して、幅広い種類のネットワークを検知・接続することができます。グラフィカルツールを使うのと難易度は変わりません。
+
====rt5572====
  
参照: [[Netcfg (日本語)]]
+
5 Ghz 帯をサポートした2012年時点で新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバをコンパイルする必要があるかもしれません。DLINK DWA-160 rev のためのコンパイル方法が書かれています。B2 [http://bernaerts.dyndns.org/linux/229-ubuntu-precise-dlink-dwa160-revb2 here]
  
====Wicd====
+
=== Realtek ===
Wicd は無線・有線両方の接続を管理することができるネットワークマネージャです。Python と Gtk で書かれており NetworkManager よりも依存ライブラリがすくなく、軽量なデスクトップを使うユーザーにとって理想的な方法になるかもしれません。Wicd は[[Official Repositories (日本語)|公式リポジトリ]]で利用できます。
+
  
参照: [[Wicd]]
+
==== rtl8192cu ====
  
====NetworkManager====
+
このドライバーはカーネルに含まれていますが、多くのユーザーがネットワークのスキャンはできても接続が出来ないと報告しています。
NetworkManager は高度なネットワーク管理ツールであり、ほとんどの人気のある GNU/Linux ディストーションでデフォルトで有効にされています。有線接続に加えて、NetworkManager は、使いやすい GUI プログラムで利用したいネットワークを選択する、心配のないワイヤレスローミングを提供します。 
+
  
[[GNOME]] ではなく [[Openbox]] や [[xmonad]] などのウィンドウマネージャを使っている場合、WEP、WPA、WPA2 接続を管理するために {{Pkg|polkit-gnome}}、{{Pkg|gnome-keyring}}、{{Pkg|libgnome-keyring}}、{{Pkg|pyxdg}} を[[pacman (日本語)|インストール]]することを忘れないで下さい。
+
AUR にある {{AUR|dkms-8192cu}} パッケージで改善するかもしれません。
  
参照: [[NetworkManager (日本語)]]
+
====rtl8192e====
  
====WiFi Radar====
+
このドライバはカーネルパッケージの一部になっています。以下のエラーメッセージを表示してモジュールの初期化が失敗する場合があるかもしれません:
WiFi Radar はワイヤレスプロファイルを管理するための Python/PyGTK2 ユーティリティです(ワイヤレス''だけ''をサポートしています)。利用できるネットワークのスキャンとネットワークのプロファイルの作成ができます。
+
  
参照: [[Wifi Radar]]
+
rtl819xE:ERR in CPUcheck_firmware_ready()
 +
rtl819xE:ERR in init_firmware() step 2
 +
rtl819xE:ERR!!! _rtl8192_up(): initialization is failed!
 +
r8169 0000:03:00.0: eth0: link down
  
====wlassistant====
+
回避方法は単純にモジュールをアンロードするだけです:
wlassistant は、ワイヤレス接続を管理するための、非常に直感的で簡単な GUI アプリケーションです。
+
# modprobe -r r8192e_pci
 +
そして (一定時間後) モジュールをリロードします:
 +
# modprobe r8192e_pci
  
[[Arch User Repository (日本語)|AUR]] から {{AUR|wlassistant}} パッケージをインストールしてください。
+
=== Atheros ===
  
wlassistant は root 権限で実行する必要があります:
+
[http://madwifi-project.org/ MadWifi チーム] によって、Atheros チップセットを使っているデバイス用に3つのモジュールがメンテナンスされています:
# wlassistant
+
  
One method of using wlassistant is to configure your wireless card within {{ic|/etc/rc.conf}}, specifying the access point you use most often. On start-up, your card will automatically be configured for this ESSID, but if other wireless networks are needed/available, {{ic|wlassistant}} can then be invoked to access them. Background the {{ic|network}} daemon in {{ic|/etc/rc.conf}}, by prefixing it with a {{ic|@}} to avoid boot-up delays.
+
* {{ic|madwifi}} は古い、旧式のドライバーです。2.6.39.1 から Arch のカーネルには含まれていません<sup>[https://mailman.archlinux.org/pipermail/arch-dev-public/2011-June/020669.html]</sup>。
 +
* {{ic|ath5k}} は新しいドライバーで {{ic|madwifi}} ドライバーを置き換えます。現在、チップセットによってはベターな選択肢ですが、全てのチップセットがサポートされているわけではありません(下を見て下さい)。
 +
* {{ic|ath9k}} は3つのドライバーの中で最新のドライバーで、新しい Atheros チップセットに対応しています。802.11n 対応のチップは全てサポートしています。
  
==パワーセーブ==
+
Atheros デバイス向けに他にも複数のドライバーが存在します。詳しくは [http://wireless.kernel.org/en/users/Drivers/Atheros#PCI_.2F_PCI-E_.2F_AHB_Drivers Linux Wireless documentation] を見て下さい。
 +
 
 +
====ath5k====
 +
 
 +
参照:
 +
* http://wireless.kernel.org/en/users/Drivers/ath5k
 +
* http://wiki.debian.org/ath5k
 +
 
 +
ウェブページのロードがランダムで極端に遅くなったり、デバイスが IP アドレスを取得できなくなったら、{{ic|ath5k}} モジュールに {{ic|1=nohwcrypt=1}} オプションを付けてロードして暗号化をハードウェアからソフトウェアに切り替えてください。詳しくは [[Kernel modules (日本語)#設定]] を見て下さい。
 +
 
 +
ラップトップによっては無線 LED インディケータが赤と青に点滅する問題が発生することがあります。この問題を解決するには、以下を実行して下さい:
 +
 
 +
# echo none > /sys/class/leds/ath5k-phy0::tx/trigger
 +
# echo none > /sys/class/leds/ath5k-phy0::rx/trigger
 +
 
 +
もしくは [https://bugzilla.redhat.com/show_bug.cgi?id=618232 このバグレポート] を見て下さい。
 +
 
 +
====ath9k====
 +
 
 +
参照:
 +
* http://wireless.kernel.org/en/users/Drivers/ath9k
 +
* http://wiki.debian.org/ath9k
 +
 
 +
不安定になる場合、[http://wireless.kernel.org/en/users/Download compat-wireless] パッケージを使ってみることができます。
 +
サポートや開発などの議論をする [https://lists.ath9k.org/mailman/listinfo/ath9k-devel ath9k mailing list] が存在します。
 +
 
 +
=== Intel ===
 +
 
 +
====ipw2100 と ipw2200====
 +
モジュールはカーネルによって完全にサポートされていますが、追加のファームウェアが必要になります。使うチップセットによって、{{Pkg|ipw2100-fw}} か {{Pkg|ipw2200-fw}} を[[pacman (日本語)|インストール]]してください。そして適切なモジュールを[[Kernel modules (日本語)#手動でモジュールを扱う|再ロード]]してください。
 +
 
 +
{{Tip|以下の[[Kernel modules#モジュールオプションを設定する|モジュールオプション]]を使用できます:
 +
* {{ic|1=rtap_iface=1}} オプションを使うと radiotap インターフェイスが有効になります
 +
* {{ic|1=led=1}} オプションを使うと無線が接続・切断した時にフロントの LED が光るようになります
 +
}}
 +
 
 +
==== iwlegacy ====
 +
 
 +
[http://wireless.kernel.org/en/users/Drivers/iwlegacy iwlegacy] は Intel の 3945, 4965 ワイヤレスチップのワイヤレスドライバーです。このファームウェアは {{Pkg|linux-firmware}} パッケージに含まれています。
 +
 
 +
[[udev]] が自動でドライバーをロードするはずですが、ロードしないときは手動で {{ic|iwl3945}} か {{ic|iwl4965}} をロードしてください。詳しくは [[Kernel modules (日本語)#ロード]] を見て下さい。
 +
 
 +
==== iwlwifi ====
 +
 
 +
[http://wireless.kernel.org/en/users/Drivers/iwlwifi iwlwifi] は 5100AGN, 5300AGN, 5350AGN などの Intel の最新のワイヤレスチップのワイヤレスドライバーです。[http://wireless.kernel.org/en/users/Drivers/iwlwifi#Supported_Devices full list of supported devices] を見て下さい。このファームウェアは {{Pkg|linux-firmware}} パッケージに含まれています。
 +
 
 +
=====LED の点滅を無効化する=====
 +
 
 +
{{Note|{{ic|iwlegacy}} と {{ic|iwlwifi}} ドライバーで動作します。}}
 +
 
 +
デフォルト設定ではモジュールの動作中 LED が点滅するようになっています。人によってはこれが鬱陶しく感じるかもしれません。Wi-Fi を使っている時に LED を固定するには、[[systemd (日本語)#一時ファイル|systemd-tmpfiles]] を使って下さい:
 +
 
 +
{{hc|/etc/tmpfiles.d/phy0-led.conf|
 +
w /sys/class/leds/phy0-led/trigger - - - - phy0radio
 +
}}
 +
 
 +
変更を適用するには、{{ic|systemd-tmpfiles --create phy0-led.conf}} を実行するか再起動してください。
 +
 
 +
LED のトリガの全ての設定値を見るには:
 +
 
 +
# cat /sys/class/leds/phy0-led/trigger
 +
 
 +
{{Tip|{{ic|/sys/class/leds/phy0-led}} がない場合、{{ic|1=led_mode="1"}} [[Kernel modules (日本語)#モジュールオプションを設定する|モジュールオプション]]を使ってみて下さい。}}
 +
 
 +
=====ノート=====
 +
 
 +
* By default, {{ic|iwl3945}} is configured to only work with networks on channels 1-11. Higher frequency bands are not allowed in some parts of the world (e.g. the US). In the EU however, channels 12 and 13 are used quite commonly (and Japan allows for channel 14). To make {{ic|iwl3945}} scan for all channels, add {{ic|1=options cfg80211 ieee80211_regdom=EU}} to {{ic|/etc/modprobe.d/modprobe.conf}}. With {{ic|iwlist frequency}} you can check which channels are allowed.
 +
* If you want to enable more channels on Intel Wifi 5100 (and quite possible other cards too), you can do that with the {{Pkg|crda}} package. After installing the package, edit {{ic|/etc/conf.d/wireless-regdom}} and uncomment the line where your country code is found. When executing {{ic|iwlist wlan0 channel}}, you should now have access to more channels (depending on your location).
 +
 
 +
=== Broadcom ===
 +
[[Broadcom_wireless|Broadcom wireless]] を見て下さい。
 +
 
 +
=== 他のドライバー・デバイス ===
 +
 
 +
====Tenda w322u====
 +
この Tenda カードは {{ic|rt2870sta}} デバイスとして扱って下さい。[[#rt2x00]] を参照。
 +
 
 +
====orinoco====
 +
カーネルパッケージの一部となっているので、別個インストールする必要はありません。
 +
 
 +
いくつかの Orinoco チップセットは Hermes I/II です。{{ic|orinoco_cs}} の代わりに {{ic|wlags49_h1_cs}} を使うことで WPA サポートを得ることができます。このドライバーを使うには {{ic|orinoco_cs}} を[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]して下さい。
 +
 
 +
==== prism54 ====
 +
 
 +
このドライバー {{ic|p54}} はカーネルに含まれていますが、[http://linuxwireless.org/en/users/Drivers/p54#firmware このサイト] からあなたのカードに対応するファームウェアをダウンロードして {{ic|/usr/lib/firmware}} ディレクトリにインストールする必要があります。
 +
 
 +
{{Note|古いドライバー {{ic|prism54}} が新しいドライバー ({{ic|p54pci}} や {{ic|p54usb}}) と衝突することがあります。{{ic|prism54}} を[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]して下さい。}}
 +
 
 +
==== ACX100/111 ====
 +
 
 +
{{Warning|The drivers for these devices [https://mailman.archlinux.org/pipermail/arch-dev-public/2011-June/020669.html are broken] and do not work with newer kernel versions.}}
 +
 
 +
パッケージ: {{ic|tiacx}} {{ic|tiacx-firmware}} (公式リポジトリや AUR からは削除されました)
 +
 
 +
詳しくは [http://sourceforge.net/apps/mediawiki/acx100/index.php?title=Main_Page official wiki] を見て下さい。
 +
 
 +
====zd1211rw====
 +
 
 +
[http://zd1211.wiki.sourceforge.net/ {{ic|zd1211rw}}] は ZyDAS ZD1211 802.11b/g USB WLAN チップセット用のドライバで、最近の Linux カーネルに含まれています。サポートされているドライバの一覧は [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices] を見て下さい。{{Pkg|zd1211-firmware}} パッケージとして提供されているファームウェアを[[pacman (日本語)|インストール]]することだけが必要です。
 +
 
 +
====hostap_cs====
 +
 
 +
[http://hostap.epitest.fi/ Host AP] は Intersil の Prism2/2.5/3 チップセットを使ったワイヤレス LAN カードの Linux ドライバです。{{ic|hostap_cs}} は {{ic|linux}} パッケージに含まれています。
 +
 
 +
{{Note|{{ic|orinico_cs}} と問題を発生することがあるので、[[Kernel modules (日本語)#ブラックリスト|ブラックリスト化]]してください。}}
 +
 
 +
===ndiswrapper===
 +
 
 +
Ndiswrapper は Linux で Windows のドライバーを使うためのラッパースクリプトです。互換リストは [http://ndiswrapper.sourceforge.net/mediawiki/index.php/List ここ] を見て下さい。Windows のドライバーに含まれる {{ic|*.inf}} と {{ic|.sys}} ファイルが必要です。ドライバがあなたのアーキテクチャ (例: 32/64 ビット) に適合しているかも確認してください。
 +
 
 +
{{Tip|{{ic|*.exe}} ファイルからこれらのファイルを展開する必要がある場合は、{{pkg|cabextract}} を使って下さい。}}
 +
 
 +
ndiswrapper を設定するには以下の手順に従って下さい。
 +
 
 +
1. ドライバを {{ic|/etc/ndiswrapper/*}} にインストールします
 +
ndiswrapper -i ファイル名.inf
 +
2. ndiswrapper にインストールされたドライバを全て一覧します
 +
ndiswrapper -l
 +
3. {{ic|/etc/modprobe.d/ndiswrapper.conf}} 内に設定ファイルを書き出します
 +
ndiswrapper -m
 +
depmod -a
 +
 
 +
これで ndiswrapper のインストールはほぼ完了です; あとは [[Kernel modules (日本語)#ロード]] の指示に従って起動時に自動でモジュールをロードするようにしてください。
 +
 
 +
重要なことは ndiswrapper が他のモジュールと一緒にロードされることです。ndiswrapper がロードされているかテストするには、次を実行してください:
 +
modprobe ndiswrapper
 +
iwconfig
 +
 
 +
''wlan0'' が表示されるはずです。問題が起こった場合は次のページを見て下さい:
 +
[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,installation/ Ndiswrapper installation wiki]。
 +
 
 +
===compat-drivers-patched===
 +
 
 +
Patched compat wireless ドライバは "fixed-channel -1" 問題を修正し、より良いインジェクションを提供します。[[Arch User Repository (日本語)|AUR]] から {{AUR|compat-drivers-patched}} パッケージをインストールしてください。
 +
 
 +
{{AUR|compat-drivers-patched}} は他のパッケージや {{ic|/usr/lib/modules/''your_kernel_version''/updates}} に作られるモジュールと衝突しません。
 +
 
 +
[http://wireless.kernel.org/ Linux Wireless project] ではパッチ済みのドライバを提供しており多くのチップがサポートされています:
 +
 
 +
ath5k ath9k_htc carl9170 b43 zd1211rw rt2x00 wl1251 wl12xx ath6kl brcm80211
 +
 
 +
サポートされているグループ:
 +
 
 +
atheros ath iwlagn rtl818x rtlwifi wl12xx atlxx bt
 +
 
 +
[[PKGBUILD (日本語)|PKGBUILD]] を編集することで特定のモジュール・ドライバやドライバグループをビルドすることも可能です。以下は atheros グループのビルドの例:
 +
 
 +
scripts/driver-select atheros
  
[[Power_saving#Wireless_power_saving]] を見て下さい。
+
コンパイルやインストールの前に可能な他の修正についてはパッケージの [[PKGBUILD (日本語)|PKGBUILD]] を読んで下さい。
  
 
==参照==
 
==参照==
*[[Sharing PPP Connection]]
 
*[[Ad-hoc networking]]
 
  
==外部リンク==
+
* [http://wireless.kernel.org/ The Linux Wireless project]
*[http://www.gnome.org/projects/NetworkManager/ NetworkManager] -- NetworkManager の公式ウェブサイト
+
* [http://aircrack-ng.org/doku.php?id=install_drivers Aircrack-ng guide on installing drivers]
*[http://wicd.sourceforge.net/ WICD] -- WICD の公式ウェブサイト
+
*[http://wifi-radar.berlios.de/ WiFi Radar] -- WiFi Radar information page
+
*[http://madwifi-project.org/wiki/UserDocs/FirstTimeHowTo The MadWifi project's method of installing] -- Recommended if you are having trouble after reading this article
+

Revision as of 16:37, 3 September 2013

zh-CN:Wireless Setup Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

ワイヤレスネットワークの設定は2段階で行います; まずワイヤレスデバイスを使うために正しいドライバがインストールされているか確認し(インストールメディアにある場合はそれらをインストールします)、インターフェースを設定します。次に、ワイヤレス接続を管理する方法を選びます。この記事では両方をカバーしています。また、ワイヤレス管理ツールへの追加リンクもあります。

Contents

デバイスドライバ

デフォルトの Arch Linux カーネルはモジュール式です、つまりマシンに必要なドライバの多くはハードドライブに置かれ、モジュールとして利用されます。起動時に、udev がハードウェアの棚卸を実施します。Udev はハードウェアに必要である適切なモジュール(ドライバ)をロードし、次に、ドライバをロードしてカーネルインターフェースを作成します。

ワイヤレスチップセットによっては、適切なドライバーに加えて、ファームウェアも必要になります。ほとんどのファームウェアイメージはデフォルトでインストールされる linux-firmware パッケージに含まれていますが、プロプライエタリなファームウェアイメージは含まれていないため別にインストールする必要があります。#ドライバー・ファームウェアのインストールで説明されています。

Note:
  • Udev は完全ではありません。起動時に udev が正しいモジュールをロードしない場合、手動でモジュールをロードしてください。また、場合によっては udev が1つのデバイスに複数のドライバをロードし、それが衝突を生んで設定が完了できなくなることがあります。不要なモジュールをブラックリスト化するようにしてください。
  • インターフェースの名前はドライバやチップセットによって変わります。例: wlan0, eth1, ath0Network Configuration (日本語)#デバイス名 を参照してください。
Tip: 絶対に必要というわけではありませんが、最初に #手動セットアップ で説明されているユーザースペースツールをインストールすると良いでしょう (特に、なんらかの問題が発生する場合)。

ドライバーの状態を確認する

あなたのカードに合ったドライバーがロードされているか確認するには、lspci -k コマンドの出力をチェックしてください。カーネルドライバーが使われているなら、例えば以下のように表示されるはずです:

$ lspci -k
06:00.0 Network controller: Intel Corporation WiFi Link 5100
	Subsystem: Intel Corporation WiFi Link 5100 AGN
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
Note: ラップトップ内蔵の Wi-Fi カードを使っている場合、実は USB デバイスだったりすることがあるので以下のコマンドも試して下さい:
  • lsusb -v
  • dmesg | grep usbcoreusbcore: registered new interface driver rtl8187 等と表示されるはずです

また、ip link コマンドの出力をチェックして無線インターフェイス (例: wlan0, wlp2s1, ath0) が作成されているか確認してください。そして、ip link set <interface> up を実行してインターフェイスを立ち上げて下さい。例えば、インターフェイスが wlan0 の場合:

# ip link set wlan0 up

次のエラーメッセージが表示される場合: SIOCSIFFLAGS: No such file or directory、おそらくチップセットを機能させるためにファームウェアが必要です。

ファームウェアがロードされているかカーネルメッセージを確認してください:

$ dmesg | grep firmware
[   7.148259] iwlwifi 0000:02:00.0: loaded firmware version 39.30.4.1 build 35138 op_mode iwldvm

自動検知されたハードウェアのモジュールの名前が前に付いているのが dmesg の出力で関連する部分で、後で問題を確かめるのに役立ちます。

カーネルモジュールが正しくロードされ、インターフェイスが立ち上がっている場合は、次のセクションを飛ばしてかまいません。

ドライバー・ファームウェアをインストールする

あなたのカードがサポートされているかどうか調べるために以下のリストを確認してください:

  • Ubuntu Wiki にはワイヤレスカードの一覧と、Linux カーネル・ユーザースペースドライバによってサポートされているかの情報があります (ドライバ名含む)。
  • Linux Wireless Support と Linux Questions の Hardware Compatibility List (HCL) にもカーネルで利用できるハードウェアのデータベースがあります。
  • さらに kernel page にはサポートされているハードウェアの表が存在します。

あなたのワイヤレスカードが上記のリストにあった場合、このページの #ドライバとファームウェアのトラブルシューティング サブセクションを見て下さい、特定のワイヤレスカードのドライバーやファームウェアのインストール情報が載っています。インストールした後、またドライバーの状態を確認してください。

If your wireless card is not listed above, it is likely supported only under Windows (some Broadcom, 3com, etc). For these, you can try to use ndiswrapper. See #ndiswrapper for details.

ワイヤレスハードウェアが上記のリストになかった場合、おそらくサポートしているのが Windows のみだと思われます (Broadcom, 3com, etc)。そういったカードについては、ndiswrapper を使う必要があります。詳しくは #ndiswrapper を見て下さい。

ワイヤレス管理

ドライバがインストールされ正しく動作しているとして、次にワイヤレス接続を管理するための方法を選ぶ必要があります。次のサブセクションが方法を決めるのに役立つでしょう。

複数の理由によって手順とツールが必要になるでしょう:

  • 望む設定管理の種類; 完全に手動なコマンドラインによる設定方法から、グラフィカルフロントエンドによる自動設定まで。
  • ワイヤレスネットワークを保護する暗号化方式。
  • コンピュータが使うネットワークを頻繁に変える場合 (ラップトップなど)、ネットワークプロファイルの必要性。

マニュアル設定はあなたに多くの仕事を課しますが、設定のよりよいコントロールが得られます。 一般に、永続的な効果のないコマンドセットを入力する必要があるでしょう、つまり、再起動後に適用はされないでしょう。 起動毎にコマンドを入力するのがやっかいな場合は、コマンドをシェルスクリプトに入れて手順を自動化することができます。スクリプトは起動時に自動で実行されるでしょう。Arch Boot Process (日本語) を見て下さい。

Tip:
  • どの方法を選ぶにせよ、まずは手動で接続を試行するべきです。問題がおこったときに必要なことは何でどのようにデバッグすればいいかを知るのに役に立つでしょう。
  • 可能であれば (例: あなたが Wi-Fi アクセスポイントを管理している場合)、暗号化なしで接続してみて、全てが動作するか確認してください。それから、WEP (設定がシンプルですが数秒でクラックできます)、WPA、WPA2 などの暗号化を使ってみてください。

以下の表はワイヤレスネットワーク接続を有効化・管理するために使われる方法を、暗号化と管理方式、必要になるツールによってまとめています。他の方法も存在しますが、よく使われるのはこの通りです:

管理方法 インターフェイスの有効化 ワイヤレス接続管理
(/=代替)
IP アドレスの取得
(/=代替)
手動管理,
暗号化なしか WEP
ip iw / iwconfig ip / dhcpcd / dhclient
手動管理,
WPA か WPA2 PSK
ip iw / iwconfig + wpa_supplicant ip / dhcpcd / dhclient
自動管理,
ネットワークプロファイルのサポート
netctl, Wicd, NetworkManager, etc.

これらのツールは手動の方法にあるパッケージのリストから必要な依存パッケージを引き込みます。

手動セットアップ

他のネットワークインターフェイスと同じように、無線インターフェイスは iproute2 パッケージの ip で操作します。さらに wireless_tools パッケージはワイヤレス接続を管理する基本的なツールのセットを提供しますが、これらのツールは iw に置き換えられています。あなたのカードで iw が動かない場合に、wireless_tools を使って下さい。下の表は両方のツールのコマンドの簡単な比較です ([1] にもっと詳しい例があります)。 また、WPA/WPA2 暗号化を使うには、wpa_supplicant パッケージをインストールする必要があります。これらのパワフルなユーザースペースのツールはすこぶる良く動作し、ワイヤレス接続を完全に手動で操作できます。

Note:
  • このセクションに出てくる例ではあなたのワイヤレスデバイスを wlan0、wifi のアクセスポイントを your_essid と仮定しています。それぞれ適切な文字列に置き換えて下さい。
  • ほとんどのコマンドは root 権限で実行する必要があることに注意してください。通常ユーザーで実行すると、コマンドによっては (例: iwlist) エラーを出さずに終了して正しい出力をしないため、混乱をきたすおそれが有ります。
iw コマンド wireless_tools コマンド 説明
iw dev wlan0 link iwconfig wlan0 リンクの状態を取得。
iw dev wlan0 scan iwlist wlan0 scan 利用可能なアクセスポイントをスキャン。
iw wlan0 set type ibss iwconfig wlan0 mode ad-hoc 動作モードを ad-hoc に設定。
iw wlan0 connect your_essid iwconfig wlan0 essid your_essid 接続してネットワークを開く。
iw wlan0 connect your_essid 2432 iwconfig wlan0 essid your_essid freq 2432M 接続して指定したチャンネルのネットワークを開く。
iw wlan0 connect your_essid key 0:your_key iwconfig wlan0 essid your_essid key your_key 十六進数のキーを使って WEP で暗号化されたネットワークに接続。
iw wlan0 connect your_essid key 0:your_key iwconfig wlan0 essid your_essid key s:your_key ASCII 文字のキーを使って WEP で暗号化されたネットワークに接続。
iw dev wlan0 set power_save on iwconfig wlan0 power on 省電力機能を有効にする。
Note: ハードウェアや暗号化方式によっては、手順のいくつかは必要ありません。カードによってはアクセスポイントに関連付けをして IP アドレスを取得する前に、インターフェースの有効化やアクセスポイントのスキャニングが必要なことがあります。実験が必要かもしれません。例えば、WPA/WPA2 ユーザーは #関連付け の手順から直接ワイヤレスネットワークを有効化できます。

情報を取得する

Tip: iw ツールの 公式ドキュメント により多くのサンプルがあります。
  • まず無線インターフェイスの名前を調べる必要があります。次のコマンドを使って確認できます:
$ iw dev
phy#0
	Interface wlan0
		ifindex 3
		wdev 0x1
		addr 12:34:56:78:9a:bc
		type managed
		channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
  • リンクの状態を確認するには、次のコマンドを使って下さい。アクセスポイント (AP) に接続されていないと以下のように表示されます:
$ iw dev wlan0 link
Not connected.

AP に接続されている場合は、以下のように表示されるはずです:

$ iw dev wlan0 link
Connected to 12:34:56:78:9a:bc (on wlan0)
	SSID: MyESSID
	freq: 2412
	RX: 33016518 bytes (152703 packets)
	TX: 2024638 bytes (11477 packets)
	signal: -53 dBm
	tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI

	bss flags:	short-preamble short-slot-time
	dtim period:	1
	beacon int:	100
  • 次のコマンドで tx/rx バイトの総量やシグナルの強さと言った統計値を取得することができます:
$ iw dev wlan0 station dump
Station 12:34:56:78:9a:bc (on wlan0)
	inactive time:	1450 ms
	rx bytes:	24668671
	rx packets:	114373
	tx bytes:	1606991
	tx packets:	8557
	tx retries:	623
	tx failed:	1425
	signal:  	-52 dBm
	signal avg:	-53 dBm
	tx bitrate:	150.0 MBit/s MCS 7 40MHz short GI
	authorized:	yes
	authenticated:	yes
	preamble:	long
	WMM/WME:	yes
	MFP:		no
	TDLS peer:	no

インターフェースの有効化

(任意、または必須)

カードによっては iwwireless_tools を使う前にカーネルインターフェースを初期化する必要があります:

# ip link set wlan0 up
Note: RTNETLINK answers: Operation not possible due to RF-kill のようなエラーが表示される場合、ハードウェアのスイッチがオンになっているか確認してください。また、あなたの無線ネットワークカードがソフトブロックされている可能性もあります。rfkill をインストールして rfkill list all を実行して確認してみてください。

アクセスポイント検索

利用できるアクセスポイントを見るには:

# iw dev wlan0 scan | less
Note: "Interface doesn't support scanning" と表示される場合、おそらくファームウェアのインストールを忘れています。場合によっては、iw が root 権限で実行されていない時にもこのメッセージが表示されます。

チェックするべきポイント:

  • ESSID: そのアクセスポイントの"名前"。
  • Quality: 一般的に 40/70 以上が望ましい値です。
  • Encryption key: これが "on" の場合、見なくてはいけないのは以下の点です
    • WEP, WPA, RSN。RSN と WPA2 は同じプロトコルの別名です。
    • Group cipher: 値は TKIP, CCMP, その両方, もしくはその他。
    • Pairwise ciphers: 値は TKIP, CCMP その両方, もしくはその他。Group cipher と同じ値である必要はありません。
    • Authentication Suites: 値は PSK, 802.1x, もしくはその他。家庭用ルーターでは、一般的に PSK になるでしょう (つまりパスフレーズ)。大学などでは、ログインとパスワードが必要な 802.1x スイートになると思われます。利用するためにはどのキーマネージメント (例: EAP) とカプセル化 (例: PEAP) が使われているか知る必要があります。詳しくは Wikipedia:Authentication protocol と関連記事を見て下さい。

動作モード

(任意、または必須)

ワイヤレスカードの正しい動作モードを設定する必要があるかもしれません。具体的に言うと、ad-hoc ネットワークに接続したい場合、動作モードを ad-hoc に設定する必要があります:

# iw wlan0 set type ibss
Note: カードによっては、動作モードを変更するためにワイヤレスインターフェースを down させておく必要があるかもしれません (ip link set wlan0 down)。

関連付け

暗号化方式によって、利用するアクセスポイントと暗号化キーをワイヤレスデバイスに関連付ける必要があります。

  • 暗号化なし
# iw wlan0 connect your_essid
  • WEP

十六進数キーか ASCII キーを使う:

# iw wlan0 connect your_essid key 0:your_key

十六進数キーか ASCII キーを使う、3番目に設定したキーをデフォルトとして指定する (キーは0からカウントされます):

# iw wlan0 connect your_essid key d:2:your_key
  • WPA/WPA2

WPA_Supplicant で説明されているように #アクセスポイント検索 で得られた結果にあわせて /etc/wpa_supplicant.conf ファイルを編集する必要があります。それができたら、次のコマンドを実行してください:

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf

ここではあなたのデバイスが wext ドライバを使うと仮定しています。これで動かない場合、オプションを修正しなくてはならないかもしれません。 接続に成功したなら、新しいターミナルで次に進んでください (もしくは Ctrl+cwpa_supplicant を終了し上記のコマンドに -B スイッチを付けてバックグラウンドで実行してください)。WPA Supplicant にはより詳しい情報とトラブルシューティングが載っています。

使う方法によらず、関連付けが成功しているかどうかは次を実行することで確かめられます:

# iw dev wlan0 link

IP アドレスを取得

Note: 詳しくは Network Configuration (日本語)#IP アドレスの設定 を見て下さい。この部分は全く同じです。

最後に、ネットワークインターフェースに IP アドレスを与えます。例えば DHCP を使って:

# dhcpcd wlan0

もしくは固定 IP アドレスの場合:

# ip addr add 192.168.0.2/24 dev wlan0
# ip route add default via 192.168.0.1
Note: waiting for carrier の問題でタイムアウトエラーになる場合、特定のデバイスのチャンネルモードを auto に設定する必要があるかもしれません:
# iwconfig wlan0 channel auto
チャンネルを auto に変える前に、あなたのワイヤレスインターフェース (この場合 'wlan0') が down になっていることを確認してください。変更が成功したら、インターフェースを立ち上げなおして次の手順に進んで下さい。

カスタムスタートアップスクリプト・サービス

手動設定はワイヤレスに関する問題のトラブルシューティングに役立ちますが、再起動する毎にコマンドを再入力する必要があります。全体のプロセスを自動で行うシェルスクリプトを書けば、設定の全てのコントロールを維持しながらネットワーク管理をとても便利にすることができます。

systemd と dhcpcd を使って起動時に手動でワイヤレス接続

この例ではスタートアップに systemd を、接続に WPA supplicant を、IP アドレスの取得に dhcpcd を使っています。

Note: あらかじめ wpa_supplicant をインストールして /etc/wpa_supplicant.conf を作成してください。詳しくは WPA supplicant を見て下さい。

systemd のユニットを作成してください、例: /etc/systemd/system/network-wireless@.service:

/etc/systemd/system/network-wireless@.service
[Unit]
Description=Wireless network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStart=/usr/bin/ip link set dev %i up
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
ExecStart=/usr/bin/dhcpcd %i

ExecStop=/usr/bin/ip link set dev %i down

[Install]
WantedBy=multi-user.target

ユニットを有効にして起動してください (インターフェイスの名前を指定します):

# systemctl enable network-wireless@wlan0.service
# systemctl start network-wireless@wlan0.service
Systemd と wpa_supplicant と固定 IP
Note: あらかじめ wpa_supplicant をインストールして /etc/wpa_supplicant.conf を作成してください。詳しくは WPA supplicant を見て下さい。

まず systemd サービスの設定ファイルを作成してください (<interface> は適切なインターフェイス名に置き換えて下さい):

/etc/conf.d/network-wireless@<interface>
address=192.168.0.10
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.1

systemd のユニットファイルを作成してください:

/etc/systemd/system/network-wireless@.service
[Unit]
Description=Wireless network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network-wireless@%i

ExecStart=/usr/bin/ip link set dev %i up
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i
ExecStart=/usr/bin/ip route add default via ${gateway}

ExecStop=/usr/bin/ip addr flush dev %i
ExecStop=/usr/bin/ip link set dev %i down

[Install]
WantedBy=multi-user.target

ユニットを有効にして起動してください (インターフェイスの名前を指定します):

# systemctl enable network-wireless@wlan0.service
# systemctl start network-wireless@wlan0.service

自動セットアップ

様々な方法を選ぶことができますが、相互に相容れないことを忘れないで下さい; 2つのデーモンを同時に実行してはいけません。下の表は接続マネージャを比較しています。それぞれの詳細は下のサブセクションにあります。

接続マネージャ ネットワーク
プロファイル
サポート
ローミング
(切断したり場所を変更した時の
自動接続)
PPP サポート
(例: 3G モデム)
公式
GUI
コンソールツール
Connman Yes Yes Yes No connmanctl
Netctl Yes Yes Yes No netctl,wifi-menu
NetworkManager Yes Yes Yes Yes nmcli
Wicd Yes Yes No Yes wicd-curses

Netctl

netctlnetcfg の後継で systemd で動作するように設計されています。設定にプロファイルを使い、幅広いタイプのネットワークを検知・接続することができます。グラフィカルツールを使うのと難易度は大して変わりません。

参照: Netctl (日本語)

Wicd

Wicd は無線・有線両方の接続を管理することができるネットワークマネージャです。Python と Gtk で書かれており NetworkManager よりも依存ライブラリがすくなく、軽量なデスクトップを使うユーザーにとって理想的な選択肢になるかもしれません。Wicd は公式リポジトリで利用できます。

参照: Wicd

Note: ドライバーによっては NetworkManager で問題なく動くものが、wicd では何度も切断することがあります。

NetworkManager

NetworkManager は高度なネットワーク管理ツールであり、人気のある GNU/Linux ディストーションのほとんどでデフォルトで有効にされています。有線接続の管理に加えて、NetworkManager は、GUI プログラムで利用したいネットワークを選択する、使いやすくて、心配のないワイヤレスローミングを提供します。

GNOME ではなく Openboxxmonad などのウィンドウマネージャを使っている場合 WEP, WPA, WPA2 接続を管理するために polkit-gnome, gnome-keyring, libgnome-keyring, pyxdgインストールすることを忘れないで下さい。

参照: NetworkManager (日本語)

Note: 最初に (AUR にある) xfce4-xfapplet-pluginAUR をインストールすれば、GNOME の network-manager-appletXfce でも動作させることができます。さらに、KDE で利用できるアップレットもあります。

WiFi Radar

WiFi Radar はワイヤレスプロファイルを管理する Python/PyGTK2 ユーティリティです(ワイヤレスだけをサポートしています)。利用できるネットワークのスキャンとネットワークのプロファイルの作成ができます。

参照: Wifi Radar

トラブルシューティング

ログの取得

トラブルシューティングで一番初めにするべきなのはシステムのログファイルを解析することです。全部を手でパースしないために、新しいターミナル(コンソール)を開いて、接続を試行している間のカーネルメッセージを次のコマンドで見ると良いでしょう:

$ dmesg -w

ネットワーク管理にツールを使っている場合、systemd でも同じことができます:

# journalctl -f 

この記事にあるそれぞれのツールは詳細なデバッグ出力をするオプションを用意しているので、必要ならば、解析の第二段階としてそれを使うことができます。

省電力機能

Power saving#Network interfaces を見て下さい。

IP アドレスの取得に失敗する

デフォルトの dhcpcd クライアントでは IP アドレスの取得に何度も失敗する場合、代わりに dhclient をインストールして使用してみて下さい。あなたの使っている接続マネージャで DHCP クライアントとして dhclient を忘れずに選択してください。

有線インターフェイスでは IP アドレスを取得できるのに、無線インターフェイスでは出来ない場合、ワイヤレスカードの省電力機能を無効にしてみてください:

# iwconfig wlan0 power off

接続がいつもタイムアウトになる

The driver may suffer from a lot of tx excessive retries and invalid misc errors for some unknown reason, resulting in a lot of packet loss and keep disconnecting, sometimes instantly. Following tips might be helpful.

Lowering the rate

Try setting lower rate, for example 5.5M:

# iwconfig wlan0 rate 5.5M auto

Fixed option should ensure that the driver does not change the rate on its own, thus making the connection a bit more stable:

# iwconfig wlan0 rate 5.5M fixed

Lowering the txpower

You can try lowering the transmit power as well. This may save power as well:

# iwconfig wlan0 txpower 5

Valid settings are from 0 to 20, auto and off.

Setting rts and fragmentation thresholds

Default iwconfig options have rts and fragmentation thresholds off. These options are particularly useful when there are many adjacent APs or in a noisy environment.

The minimum value for fragmentation value is 256 and maximum is 2346. In many windows drivers the maximum is the default value:

# iwconfig wlan0 frag 2346

For rts minimum is 0, maximum is 2347. Once again windows drivers often use maximum as the default:

# iwconfig wlan0 rts 2347

ランダムに切断する

原因 #1

If dmesg says wlan0: deauthenticating from MAC by local choice (reason=3) and you lose your Wi-Fi connection, it is likely that you have a bit too aggressive power-saving on your Wi-Fi card[2]. Try disabling the wireless card's power-saving features:

# iwconfig wlan0 power off

See Power saving for tips on how to make it permanent (just specify off instead of on).

If your card does not support iwconfig wlan0 power off, check the BIOS for power management options. Disabling PCI-Express power management in the BIOS of a Lenovo W520 resolved this issue.

原因 #2

If you are experiencing frequent disconnections and dmesg shows messages such as

ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting

try changing the channel bandwidth to 20MHz through your router's settings page.

ドライバとファームウェアのトラブルシューティング

このセクションでは、一般的な方法とは異なる、特定のチップセットのカーネルモジュールとファームウェアをインストールする方法を説明します。

モジュールの動作についての一般的な情報は Kernel modules (日本語) を見て下さい。

Ralink

rt2x00

Ralink のチップセット用の統合ドライバー (rt2500, rt61, rt73 などを置き換えます)。このドライバーは Linux カーネル 2.6.24 から含まれており、チップに合わせて適切なモジュールをロードするだけで問題なく使うことができます: rt2400pci, rt2500pci, rt2500usb, rt61pci, rt73usbrt2x00 モジュールもそれぞれ自動でロードします。

このモジュールでサポートされているデバイスの一覧はプロジェクトの ホームページ で見ることができます。

追加情報
  • カーネル 3.0 から、rt2x00 は次のドライバーを含んでいます: rt2800pci, rt2870usb
  • カーネル 3.0 から、staging ドライバー rt2860start2870sta は mainline ドライバー rt2800pcirt2800usb によって置き換えられました[3]
  • デバイスによっては iwpriv を使って様々なオプションを設定することができます。これらのオプションについては Ralink から入手できる source tarballs にまとめられています。

rt3090

rt3090 を使っているデバイスには rt2800pci ドライバを使うことができますが、うまく動作しないことがあります (例えば時々 2Mb/s 以上の速度が出なくなります)。

AUR から rt3090AUR ドライバを使うのが最適です。rt2800pci モジュールをブラックリスト化して、起動時に rt3090sta モジュールをロードするように設定します。

Note: このドライバは rt3062 チップセットでも動作します。

rt3290

rt3290 チップセットはカーネルの rt2800pci モジュールによって認識されます。ただし、問題が起こることもあり、そのような場合はパッチがあてられた Ralink ドライバーに戻すと良いようです。

rt3573

2012年時点で新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバが必要かもしれません。様々な製造会社がそれを使っています、Belkin N750 無線 USB アダプタのスレッドを見て下さい。

rt5572

5 Ghz 帯をサポートした2012年時点で新しいチップセットです。Ralink が提供している新しいプロプライエタリドライバをコンパイルする必要があるかもしれません。DLINK DWA-160 rev のためのコンパイル方法が書かれています。B2 here

Realtek

rtl8192cu

このドライバーはカーネルに含まれていますが、多くのユーザーがネットワークのスキャンはできても接続が出来ないと報告しています。

AUR にある dkms-8192cuAUR パッケージで改善するかもしれません。

rtl8192e

このドライバはカーネルパッケージの一部になっています。以下のエラーメッセージを表示してモジュールの初期化が失敗する場合があるかもしれません:

rtl819xE:ERR in CPUcheck_firmware_ready()
rtl819xE:ERR in init_firmware() step 2
rtl819xE:ERR!!! _rtl8192_up(): initialization is failed!
r8169 0000:03:00.0: eth0: link down

回避方法は単純にモジュールをアンロードするだけです:

# modprobe -r r8192e_pci

そして (一定時間後) モジュールをリロードします:

# modprobe r8192e_pci

Atheros

MadWifi チーム によって、Atheros チップセットを使っているデバイス用に3つのモジュールがメンテナンスされています:

  • madwifi は古い、旧式のドライバーです。2.6.39.1 から Arch のカーネルには含まれていません[4]
  • ath5k は新しいドライバーで madwifi ドライバーを置き換えます。現在、チップセットによってはベターな選択肢ですが、全てのチップセットがサポートされているわけではありません(下を見て下さい)。
  • ath9k は3つのドライバーの中で最新のドライバーで、新しい Atheros チップセットに対応しています。802.11n 対応のチップは全てサポートしています。

Atheros デバイス向けに他にも複数のドライバーが存在します。詳しくは Linux Wireless documentation を見て下さい。

ath5k

参照:

ウェブページのロードがランダムで極端に遅くなったり、デバイスが IP アドレスを取得できなくなったら、ath5k モジュールに nohwcrypt=1 オプションを付けてロードして暗号化をハードウェアからソフトウェアに切り替えてください。詳しくは Kernel modules (日本語)#設定 を見て下さい。

ラップトップによっては無線 LED インディケータが赤と青に点滅する問題が発生することがあります。この問題を解決するには、以下を実行して下さい:

# echo none > /sys/class/leds/ath5k-phy0::tx/trigger
# echo none > /sys/class/leds/ath5k-phy0::rx/trigger

もしくは このバグレポート を見て下さい。

ath9k

参照:

不安定になる場合、compat-wireless パッケージを使ってみることができます。 サポートや開発などの議論をする ath9k mailing list が存在します。

Intel

ipw2100 と ipw2200

モジュールはカーネルによって完全にサポートされていますが、追加のファームウェアが必要になります。使うチップセットによって、ipw2100-fwipw2200-fwインストールしてください。そして適切なモジュールを再ロードしてください。

Tip: 以下のモジュールオプションを使用できます:
  • rtap_iface=1 オプションを使うと radiotap インターフェイスが有効になります
  • led=1 オプションを使うと無線が接続・切断した時にフロントの LED が光るようになります

iwlegacy

iwlegacy は Intel の 3945, 4965 ワイヤレスチップのワイヤレスドライバーです。このファームウェアは linux-firmware パッケージに含まれています。

udev が自動でドライバーをロードするはずですが、ロードしないときは手動で iwl3945iwl4965 をロードしてください。詳しくは Kernel modules (日本語)#ロード を見て下さい。

iwlwifi

iwlwifi は 5100AGN, 5300AGN, 5350AGN などの Intel の最新のワイヤレスチップのワイヤレスドライバーです。full list of supported devices を見て下さい。このファームウェアは linux-firmware パッケージに含まれています。

LED の点滅を無効化する
Note: iwlegacyiwlwifi ドライバーで動作します。

デフォルト設定ではモジュールの動作中 LED が点滅するようになっています。人によってはこれが鬱陶しく感じるかもしれません。Wi-Fi を使っている時に LED を固定するには、systemd-tmpfiles を使って下さい:

/etc/tmpfiles.d/phy0-led.conf
w /sys/class/leds/phy0-led/trigger - - - - phy0radio

変更を適用するには、systemd-tmpfiles --create phy0-led.conf を実行するか再起動してください。

LED のトリガの全ての設定値を見るには:

# cat /sys/class/leds/phy0-led/trigger
Tip: /sys/class/leds/phy0-led がない場合、led_mode="1" モジュールオプションを使ってみて下さい。
ノート
  • By default, iwl3945 is configured to only work with networks on channels 1-11. Higher frequency bands are not allowed in some parts of the world (e.g. the US). In the EU however, channels 12 and 13 are used quite commonly (and Japan allows for channel 14). To make iwl3945 scan for all channels, add options cfg80211 ieee80211_regdom=EU to /etc/modprobe.d/modprobe.conf. With iwlist frequency you can check which channels are allowed.
  • If you want to enable more channels on Intel Wifi 5100 (and quite possible other cards too), you can do that with the crda package. After installing the package, edit /etc/conf.d/wireless-regdom and uncomment the line where your country code is found. When executing iwlist wlan0 channel, you should now have access to more channels (depending on your location).

Broadcom

Broadcom wireless を見て下さい。

他のドライバー・デバイス

Tenda w322u

この Tenda カードは rt2870sta デバイスとして扱って下さい。#rt2x00 を参照。

orinoco

カーネルパッケージの一部となっているので、別個インストールする必要はありません。

いくつかの Orinoco チップセットは Hermes I/II です。orinoco_cs の代わりに wlags49_h1_cs を使うことで WPA サポートを得ることができます。このドライバーを使うには orinoco_csブラックリスト化して下さい。

prism54

このドライバー p54 はカーネルに含まれていますが、このサイト からあなたのカードに対応するファームウェアをダウンロードして /usr/lib/firmware ディレクトリにインストールする必要があります。

Note: 古いドライバー prism54 が新しいドライバー (p54pcip54usb) と衝突することがあります。prism54ブラックリスト化して下さい。

ACX100/111

Warning: The drivers for these devices are broken and do not work with newer kernel versions.

パッケージ: tiacx tiacx-firmware (公式リポジトリや AUR からは削除されました)

詳しくは official wiki を見て下さい。

zd1211rw

zd1211rw は ZyDAS ZD1211 802.11b/g USB WLAN チップセット用のドライバで、最近の Linux カーネルに含まれています。サポートされているドライバの一覧は [5] を見て下さい。zd1211-firmware パッケージとして提供されているファームウェアをインストールすることだけが必要です。

hostap_cs

Host AP は Intersil の Prism2/2.5/3 チップセットを使ったワイヤレス LAN カードの Linux ドライバです。hostap_cslinux パッケージに含まれています。

Note: orinico_cs と問題を発生することがあるので、ブラックリスト化してください。

ndiswrapper

Ndiswrapper は Linux で Windows のドライバーを使うためのラッパースクリプトです。互換リストは ここ を見て下さい。Windows のドライバーに含まれる *.inf.sys ファイルが必要です。ドライバがあなたのアーキテクチャ (例: 32/64 ビット) に適合しているかも確認してください。

Tip: *.exe ファイルからこれらのファイルを展開する必要がある場合は、cabextract を使って下さい。

ndiswrapper を設定するには以下の手順に従って下さい。

1. ドライバを /etc/ndiswrapper/* にインストールします

ndiswrapper -i ファイル名.inf

2. ndiswrapper にインストールされたドライバを全て一覧します

ndiswrapper -l

3. /etc/modprobe.d/ndiswrapper.conf 内に設定ファイルを書き出します

ndiswrapper -m
depmod -a

これで ndiswrapper のインストールはほぼ完了です; あとは Kernel modules (日本語)#ロード の指示に従って起動時に自動でモジュールをロードするようにしてください。

重要なことは ndiswrapper が他のモジュールと一緒にロードされることです。ndiswrapper がロードされているかテストするには、次を実行してください:

modprobe ndiswrapper
iwconfig

wlan0 が表示されるはずです。問題が起こった場合は次のページを見て下さい: Ndiswrapper installation wiki

compat-drivers-patched

Patched compat wireless ドライバは "fixed-channel -1" 問題を修正し、より良いインジェクションを提供します。AUR から compat-drivers-patchedAUR パッケージをインストールしてください。

compat-drivers-patchedAUR は他のパッケージや /usr/lib/modules/your_kernel_version/updates に作られるモジュールと衝突しません。

Linux Wireless project ではパッチ済みのドライバを提供しており多くのチップがサポートされています:

ath5k ath9k_htc carl9170 b43 zd1211rw rt2x00 wl1251 wl12xx ath6kl brcm80211

サポートされているグループ:

atheros ath iwlagn rtl818x rtlwifi wl12xx atlxx bt

PKGBUILD を編集することで特定のモジュール・ドライバやドライバグループをビルドすることも可能です。以下は atheros グループのビルドの例:

scripts/driver-select atheros

コンパイルやインストールの前に可能な他の修正についてはパッケージの PKGBUILD を読んで下さい。

参照