1

Я пытаюсь настроить свою HP EliteBook 2530p с ArchLinux. Все работает, кроме карты Wi-Fi, которая по умолчанию жестко заблокирована.

Ввод rfkill unblock all работает и разблокирует карту Wi-Fi, пока я не перезагружу компьютер.

Я хотел бы настроить systemctl для запуска службы разблокировки rfkill при запуске моего компьютера, но systemctl enable rfkill-unblock@all.service не работает. Символическая ссылка на сервис создана, но когда я перезагружаю компьютер и захожу в систему, мне все равно нужно разблокировать карту вручную. Самое смешное, что systemctl start работает systemctl start rfkill-unblock@all.service .

Я думаю, что что-то блокирует мою карту после разблокировки, но я не могу понять, что ...

Я пытался следовать этим инструкциям https://bbs.archlinux.org/viewtopic.php?pid=1210751#p1210751, но у меня это не работает ...

Кто-нибудь может мне помочь? Спасибо

1 ответ1

0

У меня также была HP EliteBook 2530p с той же проблемой, и я решил ее. Чтобы автоматически разблокировать мою WiFi-карту, я сначала следовал инструкциям по ссылке, которой поделилась Люда.

Итак, сначала создайте файл 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"
}

Наконец, я последовал за archWiki и добавил второй модуль, чтобы запустить интерфейс и подключить его к точке доступа при запуске. Поэтому я создал файл с именем wifi@[interface].service . [interface] должен быть заменен именем (например, wlan0 , wls1 и т. д.). Имя можно получить с помощью iw dev .

В моем случае я использовал следующие команды:

iw dev
nano /etc/systemd/system/wifi@wls1.service

и поместите этот текст в файл.

[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 wifi@wls1.service
systemctl start wifi@wls1.service

В моем случае мое wifi-устройство подключается при запуске.

Я надеюсь, что это поможет вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .