rfkill unblock all service не работает на ArchLinux

2675
Luda' オタク

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

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

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

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

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

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

1
Можете ли вы показать вывод `systemctl status rfkill-unblock @ all.service`? bennofs 10 лет назад 0
@bennofs Хорошо: `rfkill-unblock@all.service - RFKill-Разблокировать все`` Загружен: загружен /usr/lib/systemd/system/rfkill-unblock@.service; включен) `` Активен: неактивен (неактивен) с Sun 2013-09-01 00:19:17 CEST; 14 с. Назад `` Процесс: 179 ExecStart = / usr / bin / rfkill разблокировать% I (код = выход, статус = 0 / УСПЕХ) ` Luda' オタク 10 лет назад 0

1 ответ на вопрос

0
T_Torture

У меня также была 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. [интерфейс] должен быть заменен именем (например 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-устройство подключается при запуске.

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

Похожие вопросы