Arch Linux WiFiは手動で動作しますが、自動化する方法は?


21

Raspberry Piでカーネル3.6.11-12-ARCH +を使用してArch Linuxを実行しています。

Linksys wifi usbドングル(WUSB54GC v3)があり、次のコマンドを実行した後に実行されて動作しています。

$> sudo ifconfig wlan0 up
$> sudo iwlist scan
$> sudo iwconfig wlan0 mode managed essid myssid key "mykey" retry 7
   # Only had to do this next one the first time
$> sudo wpa_passphrase myssid "mypassword" > /etc/wpa_supplicant/wpa_supplicant.conf 
$> sudo wpa_supplicant -B -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
$> sudo dhcpcd wlan0

起動後に毎回このデバイスでwifiを機能させるにはどうすればよいですか?最終的には有線接続なしで場所にそれを展開したいのですが(したがってwifi)、毎回手動でwifiを起動/接続する必要がある場合は明らかにできません。


ワイヤレスは、network-managerやなどのデーモンを介して最適に管理されますwicd
ヨルダン

1
ワイヤレスネットワークに自動的に接続するためにこの指示を試してみましたか:wiki.archlinux.org/index.php/Netcfg
Raza

3
netcfgはnetctlを優先して減価されます(ただし、その変更がArchのARM再スピンにまだ反映されているかどうかはわかりません)が、はい、それはネットワーク設定を処理する方法です。
fukawi2

回答:


17

netctlを使用する必要があります。ネットワーク管理システムに組み込まれたArch Linuxです。まだインストールされていない場合(インストールする必要があります)、実行してpacman -Syu netctlからを見てください/etc/netctl。には設定ファイルの例があります/etc/netctl/examples。サンプルを使用する/etc/netctlには、セットアップに合わせてコピーして編集します。そのため、設定に合わせて実行してcp /etc/netctl/example/wireless-wpa /etc/netctl/somedescriptivenameから編集/etc/netctl/somedescriptivenameします。
systemdでワイヤレスネットワークの自動構成を有効にするにwpa_actiondは、パッケージがインストールされていることを確認し、サービスを有効にします。systemctl enable netctl-auto@wlan0.service

詳細については、Netctl wikiエントリを参照しください。


それnetctl-auto listはプロファイルを返しませんが、4が設定され、手動のnetctlで動作することが期待されているか、正常ですか?netctl-auto switch-to X有効なX値がないように見える場合、どのように使用できますか?netctl-auto arch wikiエントリは驚くほど役に立たないと思いますが、もっと良いドキュメントを見つける場所を知っているかもしれません。
Nikana Reklawyks

Nikana、私はあまり使用しませんnetctl-autoが、ほんのいくつかのヒント:1 netctl-auto.ワイヤレス接続専用です。イーサネットに使用する場合は、netctl-ifplugdを使用してください。2. またはのwpa-config代わりに、セキュリティメソッドとして使用しないようにしてください。使用するとプロファイルが表示されないwpa-configsectionwpawpa-config
ジェイコブウィルツェ

ありがとうございました。残念ながら、将来の視聴者にとっては、私のセットアップは今では機能しますが、特別なことをしたことを思い出すわけではありません。netctl-auto list必要なプロファイルの束を返します。このwpa-config要件がないため、プロファイルの1つがnetctl-autoと互換性がなく、すべてのプロファイルが表示されない可能性があります。
Nikana Reklawyks

私の答えで述べたように、netctl-autoを有効にする前に、netctlで作成されたプロファイルを削除する必要があります。次に、netctl-autoを開始した後、それらを再度追加します。
ジョニー、なぜ

ここに示すようにwlan0は使用しません。正しいWiFi IDを使用する必要があります。
ジョニー、なぜ

5

プロファイルの作成方法に関する推測を排除する簡単な方法netctlnetctlarch wikiのページから取得):

手順1. wpa_supplicantOPの説明に従って、ワイヤレスインターネットを手動でセットアップします。お使いのシステムは、それを行うインストールされていない場合$ pacman -S wpa_supplicant

ステップ2. dialogパッケージも必要になります$ pacman -S dialog。その後、システムを再起動するか、ワイヤレスネットワークから切断します。

ステップ3.を実行$ wifi-menu -oし、非常に簡単なWindows / Mac風の設定を実行します。を使用して、システムのネットワークIDのプリセット値を確認できます$ sudo netctl list。値はの形式になりwlan098-SSIDます。(SSID = WLANの名前)

ステップ4.最後$ netctl enable wlan098-SSIDにシステムを実行して再起動します$ reboot

それでも、ときどき何かのようなエラーメッセージが表示される場合がありますがtemporarily unable to resolve name、もう一度pingを実行してみてください。


netctl-autoを使用しないと、ホットスポットが範囲内に入ったときに自動的に再接続されません。セットアップについては私の回答をご覧ください。
ジョニー、なぜ

3

私のコメントで説明されているように、他のすべての答えには欠陥があると思います。

これらの手順は、最も強いホットスポットに自動接続します。systemdを使用した標準のarchインストールでテスト済み(他のOSで動作する場合があります):

ワンタイムセットアップ:

  • 以下がインストールされていることを確認してください:dialog、wpa_supplicant、dhcpcd、netctl、wifi-menu。

  • xfceで、xfce4-wavelan-pluginを追加します。これは、接続されていることを示すインジケータライトにすぎません。他の目的はありません。

  • 他のすべてのネットワークマネージャーとサービスが削除または無効になっていることを確認します。 https://wiki.archlinux.org/index.php/Netctl#Wireless

  • 以前に作成したネットワークプロファイルを削除します。 https://www.ostechnix.com/fix-job-netctl-service-failed-error-arch-linux/

  • WiFiデバイスIDを取得する basename $(ls -d /sys/class/net/w*)

  • netctl-autoサービスを有効にします。これは自動接続するサービスです。 systemctl enable netctl-auto@YourWifiDeviceID.service

初めてホットスポットに接続する:

  • を実行しますwifi-menu。ルートが必要です。 pkexec wifi-menu -o または sudo wifi-menu -o

-o入力時にネットワークパスワードを表示するには、オフのままにします。

  • 下向き矢印、希望の接続を選択し、Enterキーを押し、接続名を受け入れ、パスワードを入力します。

必要に応じて、ホットスポットを追加します。netctl-autoは、その後、使用可能な最も強力なホットスポットに自動的に再接続します。


改善された回答
ジョニー、なぜ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.