rfkill unblock all service funktioniert bei ArchLinux nicht

2724
Luda' オタク

Ich versuche, mein HP EliteBook 2530p mit ArchLinux einzurichten. Alles funktioniert, außer der WLAN-Karte, die standardmäßig fest blockiert ist.

Das Tippen rfkill unblock allfunktioniert und gibt die WLAN-Karte frei, bis ich den Computer neu starte.

Ich möchte systemctl so einrichten, dass der rfkill-Entsperrdienst gestartet wird, wenn mein Computer startet, aber systemctl enable rfkill-unblock@all.servicenicht funktioniert. Die symbolische Dienstverbindung wird erstellt, aber wenn ich den Computer neu starte und mich anmelde, muss ich meine Karte immer noch manuell entsperren. Der lustige Teil ist, dass das systemctl start rfkill-unblock@all.servicefunktioniert.

Ich denke, etwas blockiert meine Karte nach dem Aufheben der Sperrung wieder, aber ich kann nicht herausfinden, was ...

Ich habe versucht, diesen Anweisungen https://bbs.archlinux.org/viewtopic.php?pid=1210751#p1210751 zu folgen, aber es funktioniert nicht für mich ...

Kann mir jemand helfen? Vielen Dank

1
Können Sie die Ausgabe von `systemctl status rfkill-unblock @ all.service` anzeigen? bennofs vor 10 Jahren 0
@bennofs Okay: `rfkill-unblock@all.service - RFKill-Unblock all` `Loaded: loaded /usr/lib/systemd/system/rfkill-unblock@.service; enabled)` `Active: inactive (dead) since Sun 2013-09-01 00:19:17 CEST; 14s ago` `Process: 179 ExecStart=/usr/bin/rfkill unblock %I (code=exited, status=0/SUCCESS)` Luda' オタク vor 10 Jahren 0

1 Antwort auf die Frage

0
T_Torture

Ich hatte auch ein HP EliteBook 2530p mit dem gleichen Problem und habe es gelöst. Um meine WiFi-Karte automatisch freizugeben, folgte ich zunächst den Anweisungen des von Luda freigegebenen Links.

Erstellen Sie also zuerst die Datei rfkill-unblock.service

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

und fügte folgendes ein:

[Unit] Description=RFKill-Unblock All Devices  [Service] Type=oneshot ExecStart=/usr/sbin/rfkill unblock all ExecStop= RemainAfterExit=yes  [Install] WantedBy=multi-user.target 

Danach habe ich das Startup-Script aktiviert und gestartet

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

In einem zweiten Schritt habe ich das /etc/wpa_supplicant/wpa_supplicant.confentsprechend bearbeitet .

nano /etc/wpa_supplicant/wpa_supplicant.conf  network={ ssid="Name of AP" proto=WPA key_mgmt=WPA-PSK pairwise=TKIP group=TKIP psk="Passphrase" } 

Schließlich folgte ich dem archWiki und fügte die zweite Einheit hinzu, um das Interface aufzurufen und beim Start mit dem AP zu verbinden. Deshalb habe ich eine Datei mit dem Namen erstellt wifi@[interface].service. [interface] muss durch den Namen ersetzt werden (zB wlan0, wls1usw.). Der Name kann mit abgerufen werden iw dev.

In meinem Fall habe ich folgende Befehle verwendet:

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

und legen Sie diesen Text in die Datei.

[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 

Ich habe die Abhängigkeit dieses Dienstes geändert, so dass er nicht mit dem Netzwerk, sondern nach dem Dienst rfkill-unblock.service gestartet wird. Wieder einmal habe ich das Skript aktiviert und gestartet.

systemctl enable wifi@wls1.service systemctl start wifi@wls1.service 

In meinem Fall scheint mein WLAN-Gerät beim Start eine Verbindung herzustellen.

Ich hoffe, das hilft Ihnen weiter.