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

From ArchWiki
Jump to: navigation, search
m (compat-wireless-patched)
m (管理方法)
Line 437: Line 437:
 
簡単に使用するには、(GNOME の {{pkg|network-manager-applet}} を含む) NetworkManager と {{ic|wicd}} には GUI があり、利用できるネットワークの一覧から接続したいものを選び、パスワードを入力するだけの、簡単でイチオシの方法があります。WPA Supplicant にも GUI 設定ツールである {{pkg|wpa_supplicant_gui}} があります。
 
簡単に使用するには、(GNOME の {{pkg|network-manager-applet}} を含む) NetworkManager と {{ic|wicd}} には GUI があり、利用できるネットワークの一覧から接続したいものを選び、パスワードを入力するだけの、簡単でイチオシの方法があります。WPA Supplicant にも GUI 設定ツールである {{pkg|wpa_supplicant_gui}} があります。
  
{{Note|最初に {{AUR|xfce4-xfapplet-plugin}} をインストールすれば、GNOME の {{pkg|network-manager-applet}} を [[Xfce]] で動作させることができます。{{AUR|xfce4-xfapplet-plugin}} は [[Arch User Repository (日本語)|AUR]] にあります、しかし管理されておらず動作しないかもしれません。加えて、[[KDE]] で利用できるアップレットもあります。}}
+
{{Note|最初に {{AUR|xfce4-xfapplet-plugin}} をインストールすれば、GNOME の {{pkg|network-manager-applet}} を [[Xfce]] で動作させることができます。{{AUR|xfce4-xfapplet-plugin}} は [[Arch User Repository (日本語)|AUR]] にあります、しかし管理されておらず動作しないかもしれません。さらに、[[KDE (日本語)]] で利用できるアップレットもあります。}}
  
 
===手動セットアップ===
 
===手動セットアップ===

Revision as of 07:45, 24 March 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary end

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

新しい Arch Linux システムについて: Arch をセットアップするにあたって、ワイヤレスドライバやツールのほとんどが base グループ下で利用できます。あなたのカードに合った正しいドライバをインストールしてください。Udev は通常、インストーラのライブ環境だけでなく、新しくインストールするハードドライブ上の環境でも、適切なモジュールをロードしワイヤレスインターフェースを作成します。Arch Linux インストール後にワイヤレス機能を設定するには、必要なパッケージ(ドライバ、ファームウェア、wireless_toolsiwwpa_supplicant、など)を pacman でインストールして下のガイドラインに従って下さい。あなたのワイヤレスハードウェアの年式によっては wireless_tools は任意になるかもしれません。

Contents

Part I: カードの確認/ドライバのインストール

カードを確認しサポートされているか調べる

まず、Linux カーネルがあなたのカードをサポートしているかどうか、ユーザースペースのドライバが利用できるかどうか確認する必要があります。

カードを確認する

カードの種類を確認するには次のコマンドを実行します:

# lspci | grep -i net

もしくは、USB デバイスの場合:

# lsusb
Note: ラップトップ内蔵の Wi-Fi カードでも USB デバイスの可能性があります、両方のコマンドをチェックしてください。

カードがサポートされているか調べる

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

あなたのカードがリストされてなかった場合

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

Ndiswrapper は Windows ドライバを Linux で使うためのラッパースクリプトです。対応しているハードウェアの一覧を見て下さい。Windows 用のインストールファイルに含まれている .inf.sys ファイルが必要です。Ndiswrapper を使う前に、新しめのカードやマイナーなカードを持っている場合、インターネットで正しいモデル名に 'linux' を付けて検索したほうがいいかもしれません。

ユーザースペースツールをインストールする

有線のインターネット接続が利用できる場合

すでに有線の Ethernet を利用できていてワイヤレス機能をシステムに加えるだけの場合、または最初のインストールに wireless_tools を含めなかった場合、wireless_tools パッケージをインストールしてください。

Note: あなたのハードウェアの年式、ハードウェアやドライバによる wpa_supplicant のサポートの如何によっては wireless_tools は必要ないかもしれません。wpa_supplicant だけを使って設定して十分に動く場合は、wpa_supplicant のみ使うことが推奨されます。

このページではドライバの適切なパッケージ名は 太字等幅フォント を使って強調しています。パッケージは最初の Arch Linux インストールメディア上でインストールすることも、後からインストールすることもできます。

ワイヤレスインターネットしか利用できない場合

現在ベースシステムの一部として wireless_tools パッケージが base-devel グループで live インストールメディア (CD/USB イメージ) からも利用できます。

これらのユーザースペースツールなしではワイヤレスハードウェアを初期化できないので、特にワイヤレス以外にネットワーク接続する方法がない場合、インストールメディアからインストールするようにしてください。さもなければ、新しくインストールした Arch Linux システムを再起動したときに矛盾している状況になって ("catch 22") 困ることになるでしょう: wireless_tools とドライバが必要なのに、それらを手に入れるには、wireless_tools とドライバが必要になるというわけです。

ドライバとファームウェア

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

インターフェースの名前はドライバやチップセットによって変わります。例: wlan0, eth1, ath0

Note: Udev は完全ではありません。起動時に udev が正しいモジュールをロードしなかった場合、それを modprobe してモジュール名を /etc/modules-load.d/ 内の .conf ファイルに追加してください。また、場合によっては udev が1つのデバイスに複数のドライバをロードし、それが衝突を生んで設定が完了できなくなることがあります。要らないモジュールをブラックリスト化するようにしてください。

様々なチップセットのカーネルモジュールをインストールする方法が以下でカバーされています。また、チップセットによっては適切なファームウェアをインストールする必要があります(これも以下で述べています)。モジュールの操作についての一般的な情報は Kernel modules (日本語) を見て下さい。

rt2860 と rt2870

Linux カーネル 3.0 から、実験段階の rt2860sta ドライバはメインラインのドライバである rt2800pcirt2870start2800usb に置き換えられました。従って、実験段階のドライバは削除されました。ソース: Kernel commit。 rt2800 ドライバは rt2870 チップセットを使ったドライバを自動で動作させます。

iwpriv によって様々なオプションを設定することができます。Ralink によるドキュメントが source tarballs で読むことができます。

rt3090

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

AUR から rt3090AUR ドライバを使って下さい。AUR から rt3090AUR ドライバをコンパイルし、/etc/Wireless/RT2860STA/RT2860STA.dat ファームウェアファイルを削除してコンパイルした RT3090 パッケージのインストールをしてください。rt2860sta モジュールをブラックリスト化して、起動時に rt3090sta モジュールをロードするように設定します。

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

rt2x00

Ralink チップセット用に統一されたドライバーです (rt2500, rt61, rt73 などを置き換えます)。このドライバは Linux カーネル 2.6.24 からありますが、デバイスによっては追加のファームウェアが必要かもしれません。標準の wpa_supplicantiwconfig ツールを使って設定できます。

チップによってはファームウェアファイルが必要です、Arch Linux ではデフォルトで linux-firmware パッケージを通してインストールされています。

参照: Using the new rt2x00 beta driver

rt3573

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

rt5572

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

w322u

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

rtl8180

Realtek rtl8180 PCI/Cardbus 802.11b は現在カーネルで完全にサポートされています。標準の wpa_supplicantiwconfig ツールを使って設定できます。

rtl8187

参照: rtl8187

rtl8192e

このドライバは現在カーネルパッケージの一部になっています。標準の wpa_supplicantiwconfig ツールを使って設定できます。

Note: このドライバを使うと wicd では接続が切れることがあります、NetworkManager では問題ありません。
モジュールの初期化が失敗する

次のエラーメッセージを表示してモジュールの初期化が失敗する場合があるかもしれません:

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

このドライバは現在カーネルパッケージの一部になっています。/usr/lib/firmware/RTL8192SU/rtl8192sfw.bin が存在しない場合、手動でファームウェアを追加する必要があります(ファームウェアが見つからないとき dmesg"rtl819xU:FirmwareRequest92S(): failed" を出力します)。

ファームウェアのダウンロードとインストール:

$ 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: ファームウェアの別バージョンがここにあります、ただしこのバージョンのファームウェアは接続を解除することがあります。
Note: このドライバを使うと wicd では接続が切れることがあります、NetworkManager では問題ありません。

madwifi-ng

MadWifi チームによって、3つのモジュールがメンテナンスされています:

  • ath_pci は古いドライバです
  • ath5k はゆくゆく ath_pci を置き換えるものです。現在、チップセットによってはより良い選択肢ですが、全てのチップセットがサポートされているわけではありません(下を見て下さい)
  • ath9k は新しい Atheros ハードウェア(下を見て下さい)に対応した、新しく、公式の、より優れたドライバです

古い ath_pci ドライバを使うには madwifiAUR パッケージと任意で madwifi-utils-svnAUR をインストールし、次を実行します:

# modprobe ath_pci

ath_pci を使う場合、ath5k をブラックリスト化する必要があるかもしれません。やり方については Kernel modules (日本語)#ブラックリスト を見て下さい。

ユーザーによっては、MadWifi ドライバをロードするときに、チャンネルと出力の設定を国や地域の法律に適合させるために countrycode オプションを使う必要があるかもしれません。例えば、オランダでは、モジュールを次のようにロードします:

# modprobe ath_pci countrycode=528

iwlist コマンドで設定を確認できます。man iwlistCountryCode page on the MadWifi wiki を読んで下さい。起動中に自動で設定を適用させるには、Kernel modules (日本語)#設定 を参照し、次のモジュールオプションを設定してください:

options ath_pci countrycode=528

ath5k

ath5k is the preferred driver for AR5xxx chipsets including those which are already working with madwifi-ng and for some chipsets older than AR5xxx.

ath5k はシステム内の ath_pci と衝突するので、以下のドライバをブラックリスト化してください(そして 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

それから手動で modprobe ath5k を実行するか再起動してください。wlan0 (または wlanX) インターフェースが出来て使えるようになっているはずです。

参照:

Note: いくつかのラップトップにはワイヤレスの LED が赤と青に点滅するという問題があります。この問題を解決するには、次を実行してください:
echo none > "/sys/class/leds/ath5k-phy0::tx/trigger"
echo none > "/sys/class/leds/ath5k-phy0::rx/trigger"
もしくは、ここを見て下さい。
Note: Firefox/Opera/Chromium でウェブページを回覧しているとランダムにとても遅くなるときは、暗号化をハードウェアからソフトウェアに変えてみて下さい:
rmmod ath5k
modprobe ath5k nohwcrypt

その後接続をリスタートしてください。この設定を永続的にするには /etc/modprobe.d/010-ath5k.conf に次のオプションを加えて下さい:

options ath5k nohwcrypt
modprobe のオプションについて詳しくは: Kernel modules (日本語)

ath9k

ath9k は新しい 802.11n チップセット用の Atheros の公式サポートドライバです。802.11n に対応したチップ全てがサポートされ、最大スループットは 180 Mbps です。サポートされているハードウェアを一覧するにはこのページを見て下さい。

動作モード: Station, AP, Adhoc.

ath9k は Linux カーネル v2.6.27 から含まれています (In the unlikely event that you have stability issues that trouble you, you could try using the compat-wireless package. An ath9k mailing list exists for support and development related discussions.)

参照:

ath9k_htc

ath9k_htc は 802.11n USB デバイス用の Atheros の公式サポートドライバです。Station と Ad-Hoc モードがサポートされています。このドライバはカーネルに含まれています。詳しくは http://wireless.kernel.org/en/users/Drivers/ath9k_htc を見てください。

ipw2100 と ipw2200

モジュールはカーネルによって完全にサポートされていますが、追加のファームウェアが必要になります。標準の wpa_supplicantiwconfig ツールを使って設定できます。

使うチップセットによって、ipw2100-fwipw2200-fwインストールしてください。

Arch Linux をインストールしたあとにモジュールをインストールする場合、ファームウェアをロードするためにモジュールをリロードする必要があります; root 権限で次のコマンドを実行して下さい:

rmmod ipw2200
modprobe ipw2200
radiotap インターフェースを有効にする

root 権限で以下を実行してください:

rmmod ipw2200
modprobe ipw2200 rtap_iface=1
LED を有効にする

ほとんどのラップトップにはワイヤレスが使われていることを占める LED がフロントにあります。有効にするには /etc/modprobe.d/ipw2200.conf に以下を追加してください:

options ipw2200 led=1

iwl3945, iwl4965, iwl5000-シリーズ

Intel のオープンソース Wi-Fi ドライバ for Linux (iwlwifi を見て下さい) はカーネル 2.6.24 から 3945 と 4965 チップセットを動作させます。iwl5000-シリーズチップセット (including 5100BG, 5100ABG, 5100AGN, 5300AGN, 5350AGN) は カーネル 2.6.27 から iwlagn でサポートされています。

2.6.34 カーネルから、ファームウェアのファイルは linux-firmware パッケージに移されました。手動でファームウェアパッケージをインストールする必要はありません。

ドライバをロードする

udev は自動でドライバをロードするはずです。起動時に手動でドライバをロードするには、Kernel modules (日本語)#ロード を読んで、新しいファイルにそれぞれ iwl3945iwl4965 を加えて下さい。例:

# Load Intel Wi-Fi modules
iwl3945

再起動後にドライバがロードされるはずです、ip addr を実行して端末が新しいネットワークインターフェースとして wlan0 を表示するか確かめて下さい。

LED の点滅を無効化する

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

# echo 'w /sys/class/leds/phy0-led/trigger - - - - phy0radio' > /etc/tmpfiles.d/phy0-led.conf
# systemd-tmpfiles --create phy0-led.conf

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

# cat /sys/class/leds/phy0-led/trigger

Here is an example for the old way, if you do not have /sys/class/leds/phy0-led:

# echo "options iwlcore led_mode=1" >> /etc/modprobe.d/modprobe.conf
# rmmod iwlagn
# rmmod iwlcore
# modprobe iwlcore
# modprobe iwlagn

On Linux kernels 2.6.39.1-1 and up, the iwlcore module was deprecated. Use options iwlagn led_mode=1 or options iwl_legacy led_mode=1 instead (find out what module is loaded with lsmod).

Note: iwl_legacy was renamed iwlegacy in Linux kernel 3.3.1. For this version, use options iwlegacy led_mode=1.
Other Notes
  • The MS Windows NETw4x32 driver can be used with ndiswrapper as an alternative to the iwl3945 and ipw3945 drivers.
  • インストール後に、iwl3945ipw3945 モジュールの両方がロードされることがあります (特に Dell Latitude D620)。モジュールが両方ロードされているとカードが動作しません。その時は ipw3945 モジュールをブラックリスト化する必要があります。
  • 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 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 crda package. After installing the package, edit /etc/conf.d/wireless-regdom and uncomment the line where your country code is found. When executing sudo iwlist wlan0 channel, you should now have access to more channels (depending on your location).

orinoco

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

Note: いくつかの Orinoco チップセットは Hermes I/II です。AUR パッケージ wl_lkmAUR を使って orinoco ドライバを置き換え WPA サポートを得ることができます。詳しくは this post を見て下さい。

ドライバを使うには、orinoco_csブラックリスト化して、それから wlags49_h1_cs を加えて下さい。

ndiswrapper

Ndiswrapper は実際のドライバではありませんが、あなたのワイヤレスチップセットをサポートしているネイティブ Linux カーネルドライバが存在しない場合に使うことができ、場合によってはとても役に立ちます。これを使うには、Windows のドライバーに含まれる *.inf ファイルが必要です (*.sys ファイルも同じディレクトリにあるはずです)。ドライバがあなたのアーキテクチャ (例: 32/64 ビット) に適合しているかも確認してください。*.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.

prism54

このサイトからあなたのカードに対応したファームウェアドライバをダウンロードしてください。ファームウェアファイルは isl3890 に名前を変更してください。 存在しない場合は /usr/lib/firmware ディレクトリを作成し、isl3890 ファイルをこのディレクトリの中に入れて下さい。これでうまくいくはずです。 [1]

動作しない場合、以下を試して下さい:

  • prism モジュールをリロードする (modprobe p54usb or modprobe p54pci, depending on your hardware)

もしくは、一度 Wi-Fi カードを抜き、それからもう一度接続する。

  • dmesg コマンドを使って、表示の一番最後を見て下さい。

次のようなセクションを探します:

firmware: requesting isl3887usb_bare
p54: LM86 firmware
p54: FW rev 2.5.8.0 - Softmac protocol 3.0

それからファームウェアファイルを正しい名前(強調されている部分)に変更してください。

If you get the message

SIOCSIFFLAGS: Operation not permitted

when performing ip link set wlan0 up OR

prism54: Your card/socket may be faulty, or IRQ line too busy :(

appears in dmesg's output this may be because you have both the deprecated kernel module prism54 and one of the newer kernel modules (p54pci or p54usb) loaded at the same time and they are fighting over ownership of the IRQ. Use the command lsmod | grep prism54 to see if the deprecated module is being loaded. If so, you need to stop 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 prism54 and p54pci/p54usb look for different firmware filenames (i.e. recheck the dmesg output after performing ip link set eth0 up).

ACX100/111

パッケージ: tiacx tiacx-firmware

ドライバはファームウェアが必要だと警告しているはずです; /var/log/messages.log をチェックするか dmesg コマンドを使って下さい。

適切なファームウェアを /usr/lib/firmware にリンクします:

ln -s /usr/share/tiacx/acx111_2.3.1.31/tiacx111c16 /usr/lib/firmware

For another way to determine which firmware revision number to use, see the "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:

ln -s /usr/share/tiacx/acx100_1.9.8.b/* /usr/lib/firmware

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 /etc/modprobe.d/modprobe.conf:

options acx debug=0
Note: The open-source 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.

b43, broadcom-wl, brcmsmac (以前の brcm80211)

Broadcom wireless ページを見て下さい。

zd1211rw

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

carl9170

carl9170 は 802.11n USB ドライバと、Atheros USB AR9170 デバイス用の GPLv2 ファームウェアです。これらのデバイスをサポートしています。ファームウェアlinux-firmware パッケージには含まれていません; AUR から利用することができます (carl9170-fwAUR)。ドライバは Linux カーネル v2.6.37 以上に含まれています。

このドライバを使うには、以下の古いドライバモジュールをブラックリスト化してください:

  • arusb_lnx
  • ar9170usb

hostap_cs

Host AP は WCP11 などの Prism2/2.5/3 用の Linux ドライバです。hostap_cslinux パッケージに含まれており個別にインストールする必要はありません。

orinico_cs と問題を発生することがあるので、ブラックリスト化してください。ブラックリストに入れれば、ドライバが動作するはずです。

詳しい情報は: Home page

compat-wireless-patched

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

compat-wireless-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 (日本語) を編集することで特定のモジュール・ドライバやドライバグループをビルド、特に line #46 をアンコメント、することも可能です。以下は atheros グループのビルドの例:

scripts/driver-select atheros

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

テストインストール

ドライバをロードした後、ip link を実行することでワイヤレスインターフェース (例: wlanX, ethX, athX) が作成されたか確認することができます。

インターフェースが表示されない場合、modprobe することで働くかもしれません。ドライバを起動するには、rmmodmodprobe コマンドを使って下さい。rmmod が失敗したときでも、続けて modprobe をしてください。詳しくは Kernel modules (日本語) を見て下さい。

サンプル: ドライバの名前が "driverXXX" の場合、次のコマンドを実行します:

# rmmod driverXXX
# modprobe driverXXX

インターフェースを ip link set <interface> up で起動します。例えば、インターフェースが wlan0 だと仮定して:

# ip link set wlan0 up

次のエラーメッセージが表示される場合: SIOCSIFFLAGS: No such file or directory、あなたのワイヤレスチップセットを機能させるにはファームウェアが必要なことを表しています、上記で説明されているようにインストールしてください。

Part II: ワイヤレス管理

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

複数の理由によってプロシージャとツールが必要になるでしょう:

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

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

管理方法

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

管理方法 暗号化なし/WEP WPA/WPA2 PSK
手動 iproute2 + iwconfig + dhcpcd/iproute2 iproute2 + iwconfig + wpa_supplicant + dhcpcd/iproute2
自動管理、ネットワークプロファイルサポート netcfg (日本語), Wicd, NetworkManager, など.

自動管理についてもっと細かく:

- netcfg Wicd NetworkManager + network-manager-applet
起動時の自動接続 net-profiles サービスを使う yes yes
auto connect if dropped
or changed location
net-auto-wireless サービスを使う yes yes
3G モデムのサポート yes
GUI (システムトレイアイコンからの
接続・切断するプロファイルの管理
自動ワイヤレス検知も可能)
ArchAssistant yes yes
コンソールツール wifi-select wicd-curses (wicd パッケージ) nmcli

Linux のワイヤレスエクステンションや iwconfig などのコマンドはすでに推奨されておらず、core-リポジトリとは別にインストールする必要がある、iw に取って代わられていることに注意してください。このことはまだ wiki 内で完全には反映されていません。一般的なコマンドの比較は Linuxwireless にあります。

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

簡単に使用するには、(GNOME の network-manager-applet を含む) NetworkManager と wicd には GUI があり、利用できるネットワークの一覧から接続したいものを選び、パスワードを入力するだけの、簡単でイチオシの方法があります。WPA Supplicant にも GUI 設定ツールである wpa_supplicant_gui があります。

Note: 最初に xfce4-xfapplet-pluginAUR をインストールすれば、GNOME の network-manager-appletXfce で動作させることができます。xfce4-xfapplet-pluginAURAUR にあります、しかし管理されておらず動作しないかもしれません。さらに、KDE (日本語) で利用できるアップレットもあります。

手動セットアップ

wireless_tools パッケージが提供するプログラムはワイヤレスネットワークを設定するための基本的なツールのセットです。さらに iw パッケージは新しいツールを提供します。WPA/WPA2 暗号化を使うには、wpa_supplicant パッケージをインストールする必要があります。これらのパワフルなユーザースペースのコンソールツールはすこぶる良く動作し、シェルからの手動操作で設定を完了できます。

以下の例ではあなたのワイヤレスデバイスを wlan0 と仮定しています。wlan0 を適当なデバイス名に置き換えて下さい。

Note: ハードウェアや暗号化方式によっては、手順のいくつかは必要ありません。カードによってはアクセスポイントに関連付けをして IP アドレスを取得する前に、インターフェースの有効化やアクセスポイントのスキャニングが必要なことがあります。実験が必要かもしれません。例えば、WPA/WPA2 ユーザーはワイヤレスネットワークをスレップ3から直接有効化できます。

動作モード

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

# iw wlan0 set type ibss
Note: 理想を言えば、接続するネットワークのタイプを既に知っておくべきです。そうでないならば、下のステップ2で説明されているようにネットワークをスキャンし、必要なら、このステップに戻って動作モードを変更してください。また、動作モードを変更するにはワイヤレスインターフェースを down させておく必要があるかもしれません (ip link set wlan0 down)。

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

(任意、または必須) カードによっては wireless_tools を使う前にカーネルインターフェースを初期化する必要があります:

# ip link set wlan0 up

アクセスポイント検索

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

# iw dev wlan0 scan | less
Note: "Interface doesn't support scanning" と表示される場合、おそらくファームウェアのインストールを忘れています。ポイント 1 で示されているようにインターフェースの有効かも試してみてください。場合によっては、iw が root 権限で実行されていない時にこのメッセージが表示されることもあります。 また、あなたのワイヤレスネットワークカードがブロックされているのかもしれません。rfkill をインストールしてチェックするために rfkill list all を実行してみてください。

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

  • 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 と関連記事を見て下さい。

関連付け

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

あなたが ESSID MyEssid を使いたいとします:

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

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

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

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

# iwconfig wlan0

もしくは、新しい netlink インターフェースでは

# iw dev wlan0 link
Note: 場合によっては "Access Point: Not-Associated" の表示が変わらないかもしれません、次のステップに進んで下さい。

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 になっていることを確認してください。変更が成功したら、インターフェースを立ち上げなおして次の手順に進んで下さい。

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

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

起動時に systemd を使って手動で設定したワイヤレスネットワークに接続するには:

インターフェース、もしくは固定 IP 設定を含んだ /etc/conf.d/network を作成します:

/etc/conf.d/network
interface=wlan0
address=192.168.0.10
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.1

systemctl ユニットを作成します。例: /etc/systemd/system/network.service。この例では dhcpcd と WPA supplicant を使っています。

/etc/systemd/system/network.service
[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

もしくは /etc/conf.d/network を使わないで:

/etc/systemd/system/network.service
[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

有効化するのを忘れないで下さい!

# systemctl enable network

テストするには、再起動するか他の全てのネットワークデーモンを止めて、管理者権限で次を実行します

# systemctl start network

Systemd と wpa_supplicant と固定 IP

ここの例では新しい systemd-197 命名規則を使って設定を行なっています。

http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames

https://mailman.archlinux.org/pipermail/arch-dev-public/2013-January/024231.html

以下のスクリプトを一般ユーザーで実行してインターフェースの名前を探します:

for i in /sys/class/net/*; do
  echo "==$i"
  udevadm test-builtin net_id "$i";
  echo
done 2>/dev/null

/etc/conf.d/network を作成します

/etc/conf.d/network
interface=wlp0s26f7u3
address=192.168.0.10
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.1

wpa_supplicant をインストールし /etc/wpa_supplicant.conf を作成します。WPA supplicant を見て下さい。

/etc/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=network
update_config=1
network={
        ssid="My-Wireless"
        psk=b705a6bfcd5639d5c40cd972cd4048cfb94572987f30d324c82036317b91a138
}

インターフェースの名前が入った systemd ユニットファイルを作成します: /etc/systemd/system/network@wlp0s26f7u3.service

/etc/systemd/system/network@wlp0s26f7u3.service
[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]
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]
WantedBy=multi-user.target

ユニットを有効にして実行します。

# systemctl enable network@wlp0s26f7u3.service
# systemctl start network@wlp0s26f7u3.service

自動セットアップ

様々な方法を選ぶことができますが、相互に相容れないことを忘れないで下さい; 2つのデーモンを同時に実行してはいけません。

Netcfg

netcfg は Arch Linux での多目的の、強固で高速なネットワーク接続ソリューションを提供します。

netcfg はプロファイルを使って設定して、幅広い種類のネットワークを検知・接続することができます。グラフィカルツールを使うのと難易度は変わりません。

参照: Netcfg (日本語)

Wicd

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

参照: Wicd

NetworkManager

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

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

参照: NetworkManager

WiFi Radar

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

参照: Wifi Radar

wlassistant

wlassistant は、ワイヤレス接続を管理するための、非常に直感的で簡単な GUI アプリケーションです。

AUR から wlassistantAUR パッケージをインストールしてください。

wlassistant は root 権限で実行する必要があります:

# wlassistant

One method of using wlassistant is to configure your wireless card within /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, wlassistant can then be invoked to access them. Background the network daemon in /etc/rc.conf, by prefixing it with a @ to avoid boot-up delays.

パワーセーブ

Power_saving#Wireless_power_saving を見て下さい。

参照

外部リンク