最初に
この記事では、Arch Linux 環境でのネットワーク接続、特に Wi-Fi 設定に関する学習・操作メモをまとめます。
GUIなしの環境でも安定して Wi-Fi に接続できるように、「iwd」と「iwctl」を使った方法を中心に紹介します。
そもそもArch Linux立ち上げるときにネットワークツールが無事にインストールできていればこんな記事要らないと思いますが...
自分はインストールしたつもりがうまく動作しなかったのでいろいろ調べる羽目になったので以下はメモです。
前提環境
- OS: Arch Linux(Hyprland使用)
- シェル: fish
- Wi-Fiデバイス: Realtek RTL8852AE
- デバイス名: wlan0
- ネットワーク管理ツール: iwd
必要なパッケージのインストール
sudo pacman -S iwd
iwd は Intel が開発している軽量な Wi-Fi デーモンで、systemd との統合も良く、Arch Linux でも標準的に使われています。
iwd サービスの有効化と起動
sudo systemctl enable iwd
sudo systemctl start iwd
状態の確認:
sudo systemctl status iwd
出力例(正常時):
・iwd.service - Wireless service
Active: active (running)
デバイスの確認と Wi-Fi 接続手順
iwctl の実行
iwctl
ここからは iwctl の対話モードになります。
接続手順
[iwd]# device list
→ Wi-Fi デバイス名(例: wlan0)を確認。
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect <SSID>
※パスワードの入力が必要な場合はプロンプトで表示されます。
状態確認・トラブルシューティング
デバイスが無効になっていないか確認
rfkill list
出力例:
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
→ Soft / Hard ともに「no」であることを確認。
インターフェースの状態
ip addr show wlan0
正常な場合は state UP や LOWER_UP が表示されます。
トラブル例と対処法
接続できない場合のログ確認
journalctl -u iwd -f
出力例(一部):
event: disconnect-info, reason: 3
event: state, old: connected, new: disconnected
Received error during CMD_TRIGGER_SCAN: Network is down (100)
→ このようなログが出る場合は、アクセスポイントからの切断やネットワークデバイスの一時的なダウンが考えられます。
対処の一例
sudo systemctl restart iwd
あるいは iwctl から再接続。
自動接続を有効にする
デフォルトでは、明示的に設定しない限り再起動後の自動接続はされません。以下のように .network ファイルを保存することで自動接続が可能になります。
[iwd]# station wlan0 connect <SSID> --known
あるいは /var/lib/iwd/.psk というファイルが作成されていれば自動接続されるようになります。
補足:iwd vs NetworkManager
ツール | ツール |
---|---|
iwd | 軽量、CUI中心、シンプル構成向け |
NetworkManager | GUIにも対応、依存多め、デスクトップ用途向け |
GUI環境がない or 軽量構成を求める場合は iwd で十分です。
まとめ
Arch Linux 環境での Wi-Fi 接続は、iwd + iwctl を使えば、非常にシンプルに管理できます。
トラブル時も journalctl などでログを丁寧に見ていけば解決できる場面が多いです。
ただ、iwd と NetworkManager は基本的に同時に使えません。どうやら競合するっぽいです。
どれかひとつに絞って運用するのが基本ですので「今後 GUI を導入する予定がある」なら最初から NetworkManager にしておくとスムーズかもしれません。