ubuntuusers.de

ubuntuusers.deWikiAcer Hotkeys

Acer Hotkeys

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Hinweis:

In diesem Artikel geht es speziell um Tasten zum Ein-/Ausschalten der WLAN-Karte. Anleitungen für Multimedia-Tastaturen sind in einem eigenen Übersichtsartikel zu finden.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/panel.png Viele Notebooks besitzen zusätzliche Spezial-Tasten, mit denen man bestimmte Funktionen des Gerätes ein- bzw. ausschalten kann. So ist z.B. bei manchen Laptops die WLAN- und Bluetooth-Nutzung erst nach Aktivierung modellspezifischer Tasten möglich. Während bei anderen Betriebssystemen die Hersteller die dazu notwendige Software vorinstallieren, muss man sich unter Linux etwas mehr Mühe geben.

Der Acer-Hotkey-Treiber unterstützt neben älteren Notebooks der Fa. Acer auch einige Geräte von Medion, Fujitsu Siemens und HP Compaq. Eine Liste der unterstützten Modelle ist beim SourceForge-Projekt rfswitch {en} zu finden (hier gibt es auch Hinweise zu alternativen Methoden).

Des Weiteren kann wistron_btns oder acer-wmi ausprobiert werden. Nutzer einer 64-bit-Installation (amd64) müssen dagegen wistron_btns oder acer-wmi verwenden, da das Kernelmodul acerhk nur für 32-bit-Systeme (i386) geeignet ist. Ab Ubuntu 10.04 kann bei neuerer Hardware zuerst das in der Standardinstallation enthaltene Programm rfkill ausprobiert werden, bevor man sich mit der Installation des Kernelmoduls (siehe unten) beschäftigt:

sudo rfkill unblock all 

Prinzipiell gibt es drei Möglichkeiten, das Problem mit einer WLAN-Taste zu lösen:

  1. Pin 13 auf der Karte deaktivieren (siehe Links)

  2. Externen WLAN-USB-Stick nutzen. (Hinweis beachten!)

  3. Das Kernelmodul acerhk selbst kompilieren. Dies wird im weiteren Verlauf des Artikels beschrieben.

Hinweis:

Bei Verwendung eines externen WLAN-Adapters, wird dieser eventuell trotzdem durch den Treiber des internen Adapters blockiert.

  1. einen Eintrag in /etc/modprobe.d/blacklist.conf für den internen Adapter (z.B. ipw2200) hinzufügen

  2. den internen WLAN-Adapter ausbauen

Installation

Das ehemals vorinstallierte Kernelmodul acerhk ist ab Ubuntu 9.10 nicht mehr Bestandteil einer Standardinstallation. Stattdessen muss das Kernelmodul selbst kompiliert werden. Weiterhin muss bei jedem Kernelupdate der Vorgang zur Installation und Kompilierung des Moduls wiederholt werden. Um diesen Schritt zu automatisieren, kann man DKMS verwenden. Details sind der Anleitung Acer Hotkeys/DKMS zu entnehmen.

Hinweis:

  • Zur Installation von Paketen wird vorausgesetzt, dass man bereits (z.B. via LAN) mit dem Internet verbunden ist. Eine WLAN-Nutzung ist erst nach Erledigung diverser Vorarbeiten möglich, die im folgenden erläutert werden.

  • Ab Ubuntu 12.04 ist das benötigte Paket acerhk-source nicht mehr in den offiziellen Paketquellen enthalten (PPA nutzen)

Vorbereitung

Es wird das folgende Paket benötigt [2]:

  • build-essential

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install build-essential 

sudo aptitude install build-essential 

Außerdem wird das Paket linux-headers passend zur eigenen Kernel-Version und -Architektur (-generic, -generic-pae usw.) benötigt. Dieses Paket lässt sich über den folgenden Befehl installieren:

sudo apt-get install linux-headers-$(uname -r) 

Ab Ubuntu 13.04

Es steht ein aktualisierter Quelltext über ein PPA [1] zur Verfügung. Damit kann das Kernelmodul manuell oder mit DKMS kompiliert werden. Dazu muss die Datei acerhk.tar.bz2 im Verzeichnis /usr/src/ entpackt werden:

cd /usr/src
sudo tar -xjf acerhk.tar.bz2 

Nun kann man in den entstandenen Ordner wechseln und das Kernelmodul kompilieren:

cd /usr/src/modules/acerhk
sudo su
make
exit 

Anschließend mit Root-Rechten das neue Kernelmodul kopieren und die Liste der Kernelmodule aktualisieren:

sudo cp acerhk.ko /lib/modules/$(uname -r)/kernel/ubuntu/
sudo depmod -A 

Jetzt kann das Kernelmodul geladen werden (siehe unten).

Bis Ubuntu 12.10

Hier wird ein speziell angepasster Quelltext benötigt, der über ein PPA erhältlich ist. Anschließend muss das Kernelmodul wie oben angegeben übersetzt werden. Eine konkrete Anleitung dazu ist im Forum zu finden.

Hinweis:

Es handelt sich um ein anderes PPA als das im vorherigen Abschnitt erwähnte.

Ausgangssituation

Die WLAN-Karte ist ausgeschaltet ("Radio disabled by HW RF Kill switch") und muss erst aktiviert werden. Dies zeigt in einem Terminalfenster [3] der Befehl:

rfkill list wifi 

Beispielausgabe:

0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: yes

Aktivierung der WLAN-Sondertaste

Nun muss das Kernelmodul mit dem Befehl

sudo modprobe -v acerhk 

geladen werden. Bei manchen Notebooks muss man zusätzliche Parameter angeben, z.B.

sudo modprobe -v acerhk force_series=MODELL verbose=1 

Falls man acerhk mit falschen Parametern geladen hat, kann man es ohne weiteres mit dem Befehl

sudo modprobe -r acerhk 

wieder entfernen und noch einmal probieren.

Parameter für bestimmte Hardware

Diese Optionen sind aufgrund einer automatischen Erkennung oft nicht notwendig, variieren dann aber je nach Hersteller oder auch Modell. Daher muss unter Umständen im Quellcode der Datei acerhk.c {dl} (ab Zeile 960) nachgeschaut werden, wie das Notebook bzw. Modell bezeichnet wird und ob es dritek benutzt oder nicht (siehe auch rfswitch Laptop Matrix {en}).

Hardwareabhängige Optionen
Modell Befehlszeile
Acer Aspire 5630
sudo modprobe acerhk force_series=2020 usedritek=1 
Acer Extensa 2902LMi (nur WLAN, kein Bluetooth)
sudo modprobe acerhk force_series=290 usedritek=1 
Acer Travelmate 291 LMi
sudo modprobe acerhk force_series=290 usedritek=1 
Acer Travelmate 292 LCi
sudo modprobe acerhk force_series=290 usedritek=1 verbose=1 
Acer Travelmate 4000
sudo modprobe acerhk force_series=4000 usedritek=1 
FSC Amilo 1650(G)
sudo modprobe acerhk force_series=5020 autowlan=1 
Medion MD96500/MD97000/MD97600/MD98000
sudo modprobe acerhk force_series=95400 autowlan=1 

Verwendung

Nun kann die WLAN-Karte durch einmaliges Drücken des Schalters aktiviert bzw. deaktiviert werden. Eine aktivierte Karte zeigt wiederum der Befehl rfkill:

0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

Nur wenn kein Schalter bzw. eine spezielle Taste vorhanden ist, wird die WLAN-Karte mit dem Befehl:

echo 1 | sudo tee > /proc/driver/acerhk/wirelessled 

aktiviert und mit

echo 0 | sudo tee > /proc/driver/acerhk/wirelessled 

wieder "ausgeschaltet". Der eigentliche Verbindungsaufbau erfolgt prinzipiell immer mit dem NetworkManager (siehe dort).

Automatische Einbindung beim Booten

Beim Ausschalten werden die Einstellungen für das WLAN "vergessen" und man steht dann beim nächsten Start ohne WLAN und Wireless LED da. Um das zu beheben, muss man folgendes machen:

Achtung!

Die hier angegebenen Parameter beziehen sich auf ein Travelmate 291 LMi und müssen an das eigene Modell angepasst werden!

Man öffnet in einem Editor [4] mit Root-Rechten [5] die Datei /etc/modules und fügt die Zeile

acerhk force_series=MODELL usedritek=1 verbose=1

an.

Damit bei Modellen mit LED die Wireless-LED immer angeschaltet wird und auch auf den Schalter reagiert, trägt man zusätzlich mit einem Editor und Root-Rechten in der Datei /etc/rc.local vor "exit 0" folgende Zeile ein:

echo 1 > /proc/driver/acerhk/wirelessled

Damit ist gewährleistet, dass die LED bei jedem Booten angeschaltet wird und das WLAN funktioniert.

Somit muss man sich nicht mehr bei jedem Start selbst darum kümmern, ob das Kernelmodul acerhk geladen ist oder nicht. Das geschieht nun automatisch. Wenn man das WLAN aus- bzw. anschalten will, kann man es bequem mit dem Schalter am Laptop machen. Wenn kein Schalter vorhanden ist, kann man es wie oben beschrieben manuell machen.

Problembehebung

Kernel 3.2

Zumindest ab Kernel 3.2 bzw. Ubuntu 12.04 steht mit wistron_btns ein alternatives Kernelmodul bereit, dass die gleiche Funktionalität wie acerhk bietet. Dieses Modul hat den entscheidenden Vorteil, bereits Bestandteil des Standard-Kernels zu sein, was das früher erforderliche mühsame Kompilieren überflüssig macht und unterstützt auch 64-bit-Systeme. Möchte man dieses Modul verwenden, reicht folgender Befehl:

sudo modprobe -v wistron_btns 

Erscheint keine Fehlermeldung, prüft man die Ausgangssituation und fährt man mit dem oben beschriebenen Test fort. Ist dieser erfolgreich, trägt man das Kernelmodul noch in die Datei /etc/modules ein, damit es beim Rechnerstart automatisch geladen wird. Informationen, ob wistron_btns auch eine eventuell vorhandene LED ein- oder ausschalten kann, liegen nicht vor.

Diese Revision wurde am 27. November 2014 17:31 von GruenerTee erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Notebook, WLAN