我正在尝试在 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
笔记:交叉发布在 Fedora 官方支持论坛上,但尚未收到任何答复。
答案1
布赖安在评论中建议,如果wpa_supplicant@wlan0
不存在,我可能需要自己创建它,并且还向我指出了Arch Linux 维基描述如何做到这一点。我必须对 Fedora 稍作调整,但以下内容对我有用:
创建一个 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/
dhcpcd
dhclient
dhcpcd
在以下位置创建符号链接
/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
启动服务:
systemctl daemon-reload systemctl start [email protected]
现在我可以在启动时连接到我的无线网络。我还没有弄清楚如何正确配置 DHCP(因此该dhclient
行在我的 systemd 单元中被注释掉),但这是一个不同的问题。
答案2
我怀疑它返回错误“无法发出方法调用:..”,因为它找不到 wlan0 接口。您确定您的无线卡实际上是指 wlan0 吗? Fedora 在版本 15 中引入了新的命名方案,与网络设备通常的 ethX/wlanX 命名不同:更多具体信息可以在维基百科
在 shell 中键入以下命令以查找无线卡的名称(示例输出如下所示)
$ 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