web-dev-qa-db-ja.com

起動時にwpa_supplicantを有効にするにはどうすればよいですか?

Fedora 20の起動時にwpa_supplicantを有効にしようとしています。作成したのは/etc/wpa_supplicant/wpa_supplicant.confを実行して、手動でワイヤレスネットワークに接続できます

wpa_supplicant -B -i wlan0 -Dwext -c /etc/wpa_supplicant/wpa_supplicant.conf

iwconfigを実行すると、接続していることを確認できます)

私はsystemdを初めて使用するので、起動時にこれを実行する方法を理解できません。 systemdを使用する他のディストリビューション向けのガイドを見つけました。

systemctl enable wpa_supplicant@wlan0

しかし、そのコマンドを実行すると、

Failed to issue method call: No such file or directory

注: cross-posted はFedoraの公式サポートフォーラムにありますが、まだ回答を受け取っていません。

5

Braiamwpa_supplicant@wlan0が存在しない場合は自分で作成する必要がある可能性があることをコメントで提案し、また Arch Linux wiki のページを示した=その方法を説明します。私はFedoraのために少し微調整する必要がありましたが、以下がうまくいきました:

  1. Systemdユニット/etc/systemd/system/[email protected]を作成します。

    [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/sbin/ip link set dev %i up
    ExecStart=/usr/sbin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/wpa_supplicant.conf
    #ExecStart=/usr/sbin/dhclient %i
    
    ExecStop=/usr/sbin/ip link set dev %i down
    
    [Install]
    WantedBy=multi-user.target
    

    システムのパスをipおよびwpa_supplicantから/usr/bin/から/usr/sbin/に変更する必要があったことに注意してください。また、dhcpcddhclientに変更しました。これは、dhcpcdがインストールされていないためです。

  2. /etc/systemd/system/multi-user.target.wants/にシンボリックリンクを作成します。

    ln -s /etc/systemd/system/[email protected] \
      /etc/systemd/system/multi-user.target.wants/[email protected]
    

    実行しているので、私はこれをしなければならなかった

    systemctl enable [email protected]
    

    arch Linux wikiで説明されているように、

    Failed to issue method call: No such file or directory
    
  3. サービスを開始します。

    systemctl daemon-reload
    systemctl start [email protected]
    

これで、起動時にワイヤレスネットワークに接続できます。 DHCPを適切に構成する方法はわかりません(したがって、systemdユニットでdhclient行がコメント化されています)。しかし、それは別の質問です。

3

Wlan0インターフェースが見つからないため、「Failure to issue method call:..」というエラーが返されると思います。ワイヤレスカードが実際にwlan0と呼ばれていることを確認してください。 Fedoraは、ネットワークデバイスの通常のethX/wlanX命名から逸脱した、バージョン15の新しい命名スキームを導入しました:より具体的な情報は wiki にあります

シェルに次のコマンドを入力して、ワイヤレスカードの名前を見つけます(以下の出力例)。

$ ifconfig
$ iwconfig

Sample outputs

wlp1s0    IEEE 802.11abg  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=200 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
lo        no wireless extensions.
p1p1      no wireless extensions.

ここで、ワイヤレスカードはwlp1s0と呼ばれます

0
Chrisii