ToRoSt
Anmeldungsdatum: 21. April 2014
Beiträge: Zähle...
|
Hallo zusammen, ich (Ubuntu-Neuling) habe auf dem alten Acer Travelmate 291LMI Laptop meiner Freundin XP durch Lubuntu ersetzt. Zunächst hat auch alles problemlos funktioniert, auch die WLAN-Verbindung. Nachdem ich aber den WLAN-Hotkey benutzt habe, um die Verbindung abzuschalten, funktioniert der Schalter nicht mehr. Ich habe schon herausgefunden, dass das heißt, dass die WLAN-Karte über einen hard block abgeschaltet ist: rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes Nach einigem Googlen habe ich diesen Artikel im Wiki gefunden, der erklärt, wie man Acer Hotkeys zum Laufen bringen kann:
http://wiki.ubuntuusers.de/Acer_Hotkeys/DKMS Dummerweise funktioniert es nicht, ich erhalte nur diese Fehlermeldung: sudo dkms build -m acerhk -v 0.5.35
[sudo] password for xxx:
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....
'make' -C acerhk/ all....(bad exit status: 2)
ERROR (dkms apport): binary package for acerhk: 0.5.35 not found
Error! Bad return status for module build on kernel: 3.13.0-24-generic (i686)
Consult /var/lib/dkms/acerhk/0.5.35/build/make.log for more information. Ich vermute es liegt daran, dass das benötigte acerhk Packet für Version 14.04 (noch?) nicht existiert: https://launchpad.net/~cogito-16/+archive/ppa/+packages Wenn irgendjemand einen Vorschlag hat, was ich noch probieren könnte, wäre ich super dankbar!
|
praseodym
Supporter
Anmeldungsdatum: 9. Februar 2009
Beiträge: 22097
Wohnort: ~
|
Hallo und willkommen bei uu.de. Schau mal unter rfkill, Stichwort "Acer".
|
ToRoSt
(Themenstarter)
Anmeldungsdatum: 21. April 2014
Beiträge: 5
|
Hallo praseodym, danke für die rasche Antwort, leider hat es aber nicht geholfen. Ich habe überprüft, ob eines der im Artikel genannten Module geladen ist, wie im Artikel beschrieben mit: lsmod | egrep '_acpi|_bluetooth|intel_oaktrail|_laptop|_rfkill|_wmi' allerdings bekomme ich für den Befehl dabei überhaupt keine Ausgabe. Anschließend habe ich versucht, acer_wmi zu laden, aber das Modul wird nicht gefunden: sudo modprobe acer_wmi
[sudo] password for xxx:
modprobe: ERROR: could not insert 'acer_wmi': No such device Kannst Du mir da weiterhelfen?
|
praseodym
Supporter
Anmeldungsdatum: 9. Februar 2009
Beiträge: 22097
Wohnort: ~
|
Bei mir heisst es "acer-wmi":
sudo modprobe acer-wmi
|
aasche
Anmeldungsdatum: 30. Januar 2006
Beiträge: 14259
|
Alternativ gibt es noch wistron_btns. Das Kernelmodul acerhk ist fuer aeltere Ubuntu-Versionen gedacht, aber definitiv nicht fuer 14.04.
|
ToRoSt
(Themenstarter)
Anmeldungsdatum: 21. April 2014
Beiträge: 5
|
acer-wmi statt acer_wmi bringt keine Veränderung. winstron_btns ebenfalls nicht: sudo modprobe -v wistron_btns
insmod /lib/modules/3.13.0-24-generic/kernel/drivers/input/input-polldev.ko
insmod /lib/modules/3.13.0-24-generic/kernel/drivers/input/misc/wistron_btns.ko
modprobe: ERROR: could not insert 'wistron_btns': No such device ☹
|
ToRoSt
(Themenstarter)
Anmeldungsdatum: 21. April 2014
Beiträge: 5
|
Ich habe inzwischen auf der Wikiseite "Kernelmodule" nachgelesen, dass man mit dem Befehl modprobe -l die auf dem Rechner verfügbaren Module anzeigen lassen kann. Allerdings erhalte ich dabei nur "invalid option" als Ausgabe...
Mit dem Befehl modinfo bin ich immerhin ein bischen weiter gekommen: modinfo acer-wmi
filename: /lib/modules/3.13.0-24-generic/kernel/drivers/platform/x86/acer-wmi.ko
alias: wmi:676AA15E-6A47-4D9F-A2CC-1E6D18D14026
alias: wmi:6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3
alias: wmi:67C3371D-95A3-4C37-BB61-DD47B491DAAB
license: GPL
description: Acer Laptop WMI Extras Driver
author: Carlos Corbacho
srcversion: 15371DC0E403E93954B38E5
depends: wmi,sparse-keymap,video
intree: Y
vermagic: 3.13.0-24-generic SMP mod_unload modversions 686
signer: Magrathea: Glacier signing key
sig_key: 77:D7:0E:1D:F4:29:96:DC:92:B0:1D:75:9D:3E:85:62:EA:32:A1:C7
sig_hashalgo: sha512
parm: mailled:Set initial state of Mail LED (int)
parm: brightness:Set initial LCD backlight brightness (int)
parm: threeg:Set initial state of 3G hardware (int)
parm: force_series:Force a different laptop series (int)
parm: ec_raw_mode:Enable EC raw mode (bool) Bedeutet das, dass acer-wmi auf dem Rechner vorhanden ist? Wenn ja verstehe ich nicht, warum sudo modprobe acer-wmi nicht funktioniert. Hat irgendjemand eine Idee?
|
praseodym
Supporter
Anmeldungsdatum: 9. Februar 2009
Beiträge: 22097
Wohnort: ~
|
Was steht in der Datei /var/lib/dkms/acerhk/0.5.35/build/make.log? Hab mich grade bei Launchpad eingeloggt, das Paket ist noch nicht fertig, leider.
|
aasche
Anmeldungsdatum: 30. Januar 2006
Beiträge: 14259
|
ToRoSt schrieb: Bedeutet das, dass acer-wmi auf dem Rechner vorhanden ist?
Mit modinfo Modulname laesst sich nicht nur allgemein feststellen, ob ein Kernelmodul vorhanden ist, sondern man erhaelt auch weitere Informationen zum Modul.
Wenn ja verstehe ich nicht, warum sudo modprobe acer-wmi nicht funktioniert.
Warum acer-wmi und wistron_btns nicht funktionieren? Ganz einfach: beide finden keine Hardware, die sie ansteuern koennen.
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
Hallo, momentan gibt es wohl nur drei Lösungsmöglichkeiten, da der acerhk-Quellcode für die neueren Kernelversionen grundlegend überarbeitet werden müsste, was meine Fähigkeiten übersteigt. Rechner ausschalten , Netz/Akku entfernen
2. einen WLAN USB-Stick verwenden 3. den entsprechenden Anschlußpin der WLAN-Karte isolieren → Beispiel (nur für erfahrene Anwender und auf eigenes Risiko!)
|
ToRoSt
(Themenstarter)
Anmeldungsdatum: 21. April 2014
Beiträge: 5
|
praseodym schrieb: Was steht in der Datei /var/lib/dkms/acerhk/0.5.35/build/make.log? Hab mich grade bei Launchpad eingeloggt, das Paket ist noch nicht fertig, leider.
Hier ist sie: DKMS make.log for acerhk-0.5.35 for kernel 3.13.0-24-generic (i686)
Mo 21. Apr 11:23:53 CEST 2014
make: Gehe in Verzeichnis '/var/lib/dkms/acerhk/0.5.35/build/acerhk'
make -C /lib/modules/`uname -r`/build SUBDIRS=/var/lib/dkms/acerhk/0.5.35/build/acerhk CONFIG_FUNCTION_TRACER= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-3.13.0-24-generic'
CC [M] /var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.o
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c: In function ‘acerhk_proc_init’:
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2709:5: error: implicit declaration of function ‘create_proc_read_entry’ [-Werror=implicit-function-declaration]
entry = create_proc_read_entry("info",
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2709:11: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_read_entry("info",
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2720:13: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_read_entry("key",
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2732:9: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
entry = create_proc_entry("led", 0222, proc_acer_dir);
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2732:15: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_entry("led", 0222, proc_acer_dir);
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2741:16: error: dereferencing pointer to incomplete type
entry->write_proc = acerhk_proc_led;
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2746:17: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_entry("wirelessled", 0222, proc_acer_dir);
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2756:18: error: dereferencing pointer to incomplete type
entry->write_proc = acerhk_proc_wirelessled;
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2761:19: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_entry("blueled", 0222, proc_acer_dir);
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2771:20: error: dereferencing pointer to incomplete type
entry->write_proc = acerhk_proc_blueled;
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c: At top level:
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2957:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘model_init’
static void __devinit model_init(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2982:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘acerhk_remove’
static int __devexit acerhk_remove(struct platform_device *dev);
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2984:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘acerhk_probe’
static int __devinit acerhk_probe(struct platform_device *dev)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:3066:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘acerhk_remove’
static int __devexit acerhk_remove(struct platform_device *dev)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:3092:12: error: ‘acerhk_probe’ undeclared here (not in a function)
.probe = acerhk_probe,
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:3093:2: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
.remove = __devexit_p(acerhk_remove),
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:3093:25: error: ‘acerhk_remove’ undeclared here (not in a function)
.remove = __devexit_p(acerhk_remove),
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:136:14: warning: ‘reg2’ defined but not used [-Wunused-variable]
static void *reg2;
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:386:13: warning: ‘enable_dritek_keyboard’ defined but not used [-Wunused-function]
static void enable_dritek_keyboard(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:392:13: warning: ‘disable_dritek_keyboard’ defined but not used [-Wunused-function]
static void disable_dritek_keyboard(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:764:12: warning: ‘get_cmos_index’ defined but not used [-Wunused-function]
static int get_cmos_index(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:876:29: warning: ‘find_hk_area’ defined but not used [-Wunused-function]
static unsigned long __init find_hk_area(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:1328:20: warning: ‘setup_model_features’ defined but not used [-Wunused-function]
static void __init setup_model_features(unsigned int series)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2003:20: warning: ‘probe_model’ defined but not used [-Wunused-function]
static void __init probe_model(void) {
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2228:13: warning: ‘init_input’ defined but not used [-Wunused-function]
static void init_input(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2326:13: warning: ‘release_input’ defined but not used [-Wunused-function]
static void release_input(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2694:12: warning: ‘acerhk_proc_init’ defined but not used [-Wunused-function]
static int acerhk_proc_init(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2806:13: warning: ‘acerhk_proc_cleanup’ defined but not used [-Wunused-function]
static void acerhk_proc_cleanup(void)
^
/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.c:2949:26: warning: ‘acerhk_misc_dev’ defined but not used [-Wunused-variable]
static struct miscdevice acerhk_misc_dev = {
^
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/acerhk/0.5.35/build/acerhk/acerhk.o] Fehler 1
make[1]: *** [_module_/var/lib/dkms/acerhk/0.5.35/build/acerhk] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.13.0-24-generic'
make: *** [acerhk.ko] Fehler 2
make: Verlasse Verzeichnis '/var/lib/dkms/acerhk/0.5.35/build/acerhk'
elektronenblitz63 schrieb: Hallo, momentan gibt es wohl nur drei Lösungsmöglichkeiten, da der acerhk-Quellcode für die neueren Kernelversionen grundlegend überarbeitet werden müsste, was meine Fähigkeiten übersteigt. Rechner ausschalten , Netz/Akku entfernen
Hab ich ausprobiert, hilft aber leider nicht.
2. einen WLAN USB-Stick verwenden
Darauf bin ich noch gar nicht gekommen, danke für den Tip 👍
3. den entsprechenden Anschlußpin der WLAN-Karte isolieren → Beispiel (nur für erfahrene Anwender und auf eigenes Risiko!)
Davon lasse ich wohl mal lieber die Finger... Mir kam noch der Einfall, einfach eine XP-Partition zu installieren, um den Schalter wieder einzuschalten. Danke Euch allen für die Vorschläge!
|
aasche
Anmeldungsdatum: 30. Januar 2006
Beiträge: 14259
|
ToRoSt schrieb: 3. den entsprechenden Anschlußpin der WLAN-Karte isolieren → Beispiel (nur für erfahrene Anwender und auf eigenes Risiko!)
Davon lasse ich wohl mal lieber die Finger...
Warum? Schwer ist das beileibe nicht, man braucht allerdings Tesafilm und muss bis 7 zaehlen koennen ☺ Anleitung und Bilder findet man auch ganz am Ende des Artikels Acer Hotkeys (Abschnitt „Links“) (Pin 13 abkleben). Der schwierigere Teil ist - je nach Notebook - das Ausbauen der WLAN-Karte. Hoffentlich ist es das Travelmate 291LMI nichts eins dieser Modelle, wo man zuerst das Geraet vollstaendig zerlegen darf...
|
GruenerTee
Anmeldungsdatum: 25. Februar 2010
Beiträge: 110
Wohnort: Leipzsch
|
Hallo, falls es noch nicht zu spät ist, könnte ich auch noch einen kleinen Beitrag liefern.
Ich muss mich regelmäßig, sprich mit jedem Kernelupdate, mit dem acerhk-Treiber beschäftigen da
ohne diesen kein WLAN möglich ist.
Ich nutze selbst ein Acer Extensa 2902LMi, was wohl baugleich mit einem Travelmate 290 ist.
Daher denke ich, dass für ein Acer Travelmate 291LMI der acerhk-Treiber an sich gut funktioniert. Mittlerweile bin ich auf Debian umgestiegen aber das stört den Treiber recht wenig 😉
Mit dem Kernel 3.2.xx funktionierte das Kompilieren noch Problemlos, nach dem Upgrade auf Debian/Testing und einem Kernel 3.13.xx traten gehäufte Schwierigkeiten beim Kompilieren auf.
Deshalb habe ich mich an Lösung Nummer 4 versucht den Treiberquellcode anzupassen.
Nach einem Tag investierter Arbeit, bin ich nun auch ein paar Einblicke in das Innere des Kernels reicher... Das Hauptproblem liegt daran, dass ab einem Kernel >3.10 an den Funktionen für die Einträge in /proc
Änderungen vorgenommen wurden und die alten Funktionen, welche der Treiber verwendet nicht mehr
verfügbar sind.
Das zweite Problem ist, dass das Makefile die Versionsnummer nicht richtig bestimmt.
Die Datei version.h hat auch ihren Pfad geändert... Ende vom Lied, ich habe Quellcode für einen (ziemlich gut) funktionierenden Treiber.
Ziemlich gut weil noch 2 Warnungen beim Kompilieren auftreten, diese sind aber irrelevant für die Funktionalität. Des weiteren haut die Ausgabe von /proc/driver/acerhk/info nicht ganz hin, dies
ist aber nach bisherigen Wissensstand ebenfalls unwichtig. Ubuntu 14.04 (Trusty) hat auch einen Kernel 3.13, damit sollte das kompilieren out-of-the-box funktonieren. Für einen Kernel 3.10 muss ein kleine Änderung im Makefile vorgenommen werden.
Für ein ppa und ein paar weitere Anpassungen, dass das Kompilieren mit allen Kernelvarianten funktioniert,
bräuchte ich aber noch etwas mehr Zeit... https://launchpad.net/~gruenertee/+archive/acerhk Ergänzung:
Wie das ganze automatisch mit DKMS(?) funktioniert, habsch noch nie ausprobiert ☺
Aber man kann schon mal manuell den Treiber zum System hinzufügen, siehe:
Acer Hotkeys Diese ständige Kernelupdaterei lässt die alten Mühlen auch nicht schneller arbeiten... Grüße, grünerTee
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
Hallo, das ist ja super. Unter Ubuntu 14.04 mit Kernel 3.13 kann das Modul gebaut werden, die Funktion kann ich mangels entsprechender Hardware natürlich nicht testen. Ein Paket für DKMS könnte ich aufbereiten, schön wäre es natürlich, wenn z.B. ToRoSt die Funktion zuerst mal überprüfen könnte.
|
GruenerTee
Anmeldungsdatum: 25. Februar 2010
Beiträge: 110
Wohnort: Leipzsch
|
Verflucht, ich dachte man kann seine Beiträge auch nachträglich noch editieren...
Wie sich im Praxiseinsatz zeigt bedarf der Code noch ein wenig Ausbesserung.
Zwar kann man damit (zumindestens auf meiner Maschine) wieder das WLAN an- und ausschalten,
trotzdem gibts ne komische Kerneltracemeldung beim ersten laden.
Deshalb habsch die datei von dem link entfernt und werde das ganze nochmal nachbessern,
auch in eigenem interesse 😉 Da hatte ich wohl zu schnell zu viel gewollt.
Bis auf eine baldige stabile Version! Grüße, grünerTee
|