rfkill 解除所有服务阻止在 ArchLinux 上不起作用

rfkill 解除所有服务阻止在 ArchLinux 上不起作用

我正在尝试使用 ArchLinux 设置我的 HP EliteBook 2530p。除了默认情况下被硬阻止的 wifi 卡外,其他一切都正常。

打字rfkill unblock all有效并且解锁了 wifi 卡,直到我重新启动计算机。

我想设置 systemctl 以在计算机启动时启动 rfkill 解锁服务,但不起作用。服务符号链接已创建,但当我重新启动计算机并登录时,我仍然需要手动解锁我的卡。有趣的是,这有效。systemctl enable [email protected]systemctl start [email protected]

我认为在我的卡被解锁后有什么东西重新阻止了我的卡,但我不知道是什么......

我尝试遵循这些说明https://bbs.archlinux.org/viewtopic.php?pid=1210751#p1210751但它对我不起作用......

有人能帮帮我吗?谢谢

答案1

我的 HP EliteBook 2530p 也遇到了同样的问题,我解决了。为了自动解锁 WiFi 卡,我首先按照 Luda 分享的链接中的说明进行操作。

首先,创建文件rfkill-unblock.service

nano /etc/systemd/system/rfkill-unblock.service

并插入以下内容:

[Unit]
Description=RFKill-Unblock All Devices

[Service]
Type=oneshot
ExecStart=/usr/sbin/rfkill unblock all
ExecStop=
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

之后我启用并启动了启动脚本

systemctl enable rfkill-unblock.service
systemctl start rfkill-unblock.service

第二步,我进行了/etc/wpa_supplicant/wpa_supplicant.conf相应的编辑。

nano /etc/wpa_supplicant/wpa_supplicant.conf

network={
        ssid="Name of AP"
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=TKIP
        psk="Passphrase"
}

最后我遵循了维基百科并添加了第二个单元,以在启动时启动接口并将其连接到 AP。因此,我创建了一个名为的文件wifi@[interface].service。 [interface] 必须用名称替换(例如wlan0wls1等)。可以使用 检索名称iw dev

就我而言,我使用了以下命令:

iw dev
nano /etc/systemd/system/[email protected]

并将该文本放入文件中。

[Unit]
Description=
#Wants=network.target
#Before=network.target
Wants=rfkill-unblock.service
After=rfkill-unblock.service
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStartPre=/usr/bin/ip link set dev %i up
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/wpa_supplicant.conf
ExecStart=/usr/bin/dhcpcd %i
ExecStop=/usr/bin/ip link set dev %i down

[Install]
WantedBy=multi-user.target

我更改了此服务的依赖关系,因此它不是随网络启动,而是在 rfkill-unblock.service 之后启动。我再次启用并启动了脚本。

systemctl enable [email protected]
systemctl start [email protected]

就我而言,我的 wifi 设备似乎在启动时就连接了。

我希望这对你有帮助。

答案2

安装并配置urfkill。这似乎对我在 Ubuntu 上有效:

# cat /etc/urfkill/urfkill.conf |grep '^[[:alpha:]]\|\['
[general]
user=root
master_key=true
force_sync=true
persist=true

相关内容