it-swarm.com.de

Gibt es eine Möglichkeit, den Touchpad-Treiber neu zu starten?

Ich benutze Ubuntu 14.04 auf einem Laptop, in der Regel mit einer externen USB-Maus und Tastatur und Bildschirm verbunden. Manchmal ziehe ich jedoch alle Stecker aus der Steckdose, bewege den Laptop und verwende ihn weiterhin mit der integrierten Tastatur, dem Bildschirm und dem Touchpad.

Gelegentlich funktioniert das Touchpad nicht mehr (aber wenn ich die USB-Maus einstecke, funktioniert die USB-Maus). Obwohl dies sehr selten vorkommt, ist es sehr ärgerlich, da ich einen Neustart durchführen muss, wenn das Touchpad wieder funktionieren soll.

Gibt es eine Problemumgehung, die ich versuchen kann, z. B. das Beenden eines Prozesses, der automatisch neu gestartet wird, oder eines Befehls, durch den der Touchpad-Treiber neu gestartet oder aktualisiert wird? Kann irgendetwas das Touchpad "aufwecken", ohne dass es neu gestartet werden muss?

61
matteo

Ich hatte dieses Problem wiederholt mit einem Laptop, bis ich bemerkte, dass das Touchpad dieses Computers einen eigenen Ein/Aus-Schalter hatte, den ich versehentlich getroffen haben musste. Insbesondere hat der Schalter nicht geholfen, ihn wieder einzuschalten. Ich habe nur darauf geachtet, nicht darauf zu drücken, und nach kurzer Zeit habe ich eine externe drahtlose Tastatur mit integriertem drahtlosem Touchpad verwendet. Seitdem habe ich dieses Problem nicht mehr gehabt.

UPDATE: (Hinweis: Link unten defekt, Lösung oben) Seit dem Posten dieser "Lösung" I hat einen Kommentar gepostet, der anscheinend den Bedürfnissen des Benutzers entsprach. Nachdem ich gerade erst erfahren habe, dass die Kommentare nur vorübergehend bleiben und automatisch gelöscht werden, veröffentliche ich den Inhalt des folgenden nützlichen Kommentars erneut, damit er für andere gespeichert wird:

Ich habe die "Lösung" geteilt, die für mich funktioniert hat. Heute ist mir der Gedanke gekommen, nach Lösungen zu suchen, die Ihrer ursprünglichen Frage besser entsprechen, und ich habe den folgenden Link gefunden. Es ist nicht das, was ich persönlich für "bequem" halte, aber es könnte zumindest eleganter sein, wenn man es zu einem Skript macht. Ich fand dies (siehe unten) - Gyropyge 25. September um 20:06

Drücken Sie Alt+F2 und geben Sie gksudo modprobe -r psmouse ein. Geben Sie das Passwort ein und drücken Sie Enterund drücken Sie dann Alt+F2 erneut, um den folgenden gksudo modprobe psmouse einzugeben, und drücken Sie dann Enter

31
gyropyge

Ich habe einen Weg gefunden, dies zu tun:

Öffnen Sie zunächst ein Terminal und drucken Sie alle Eingabegeräte aus, um die ID zu ermitteln, die Sie für das zu deaktivierende Eingabegerät benötigen. Geben Sie im Terminal Folgendes ein:

xinput --list

Weiter: Beachten Sie, dass in einer langen Spalte für jedes Eingabegerät id = X steht. Sie möchten die Geräte-ID ermitteln, die dem zu deaktivierenden Eingabegerät entspricht (möglicherweise etwas, das wie "Touchpad" klingt). Ersetzen Sie dann X im folgenden Befehl durch die ID-Nummer des Eingabegeräts, das Sie deaktivieren möchten:

xinput disable X

Hinweis: Wenn Sie sich nicht sicher sind, welche Geräte-ID Sie zum Deaktivieren des Touchpads verwenden sollen, können Sie dies herausfinden, indem Sie zufällige IDs testen und prüfen, ob Ihr Mauspad noch funktioniert. Stellen Sie sicher, dass Sie nichts Wichtiges tun. Speichern Sie Ihre gesamte Arbeit und starten Sie den Computer neu, wenn Sie beispielsweise die Tastatur deaktivieren. (Möglicherweise haben Sie Probleme beim erneuten Aktivieren, wenn Sie nicht in das Terminal eingeben können.

Dann musst du diese letzte Zeile ausführen (Danke, dass du diesen Arch Stanton erwischt hast!)

xinput enable X

Grund: Ich brauchte dringend eine Antwort auf dieses Problem, da die Probleme, die ich mit meinem Touchpad hatte, jegliche Arbeit unmöglich machten. Plötzlich wechselt mein Touchpad in einem zufälligen Moment, wenn ich meinen Laptop verwende, scheinbar ohne Grund in einen "Spezialmodus". Das bloße Bewegen eines Fingers auf meinem Touchpad würde dazu führen, dass der Bildschirm rollt, anstatt den Mauszeiger tatsächlich auf dem Bildschirm zu bewegen, sodass es unmöglich war, die Maus dazu zu bringen, über etwas in broswer zu schweben, ohne einen erheblichen Koordinierungsaufwand zu betreiben, um den Rollbildschirm zu berücksichtigen und nicht bewegliche Maus. Ich wollte einen Weg finden, ohne das Notebook neu zu starten, um das Touchpad zurückzusetzen. Auf der positiven Seite behebt das Zurücksetzen des Touchpads mit der oben beschriebenen Methode tatsächlich mein Problem.

Update: Um das Zurücksetzen des Touchpads noch einfacher zu machen, habe ich einen Hotkey für die oben aufgeführten Befehle erstellt. Wenn mein Touchpad auf "fritz" geht, drücke ich einfach die Tastenkombination "Strg + Super + R" und setze es für mich zurück. Schnell und einfach.

Hier ist wie:

-Erstelle eine Datei in deinem Homeverzeichnis und bezeichne sie als "touchpad-reset.sh".

- Geben Sie in diese Datei zwei der drei (die letzten beiden) oben aufgeführten Befehle ein, außer dass Sie eine X-ID-Nummer für das Gerät verwenden, da diese durch zusätzliche Peripheriegeräte (möglicherweise ??) geändert werden kann dies stattdessen:

Hier ist eine Ausgabe von meinem Computer im Terminal, die diesen Befehl verwendet:

xinput --list

Ergebnis:

Virtual core pointer                        id=2    [master pointer  (3)]⎜   
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]⎜   
   ↳ Genius 2.4G Wireless Mouse                 id=10   [slave  pointer  (2)]⎜   
   ↳ MSFT0001:00 06CB:75BD UNKNOWN              id=13   [slave  pointer  (2)]⎜   
   ↳ ELAN Touchscreen                           id=12   [slave  pointer  (2)]⎜ 

- Nun, was Sie tun, ersetzen Sie das X (das zuvor eine ID war) für xinput disable X und xinput enable X durch den Namen, der dieser ID in einfachen Anführungszeichen entspricht. Wenn Sie dies beispielsweise für id = 13, mein Touchpad-Gerät, ausführen möchten, verwenden Sie aus dem obigen Beispiel:

xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'

- Jetzt deaktivieren Sie die Funktion anhand des Namens anstelle der ID-Nummer, wobei sich eine ID möglicherweise im Laufe der Zeit ändert und Sie dann ein anderes Gerät deaktivieren und aktivieren.

Schließlich müssen Sie die Berechtigungen erteilen, um diese Datei ausführbar zu machen. Führen Sie diesen Befehl mit Ihrem Arbeitsverzeichnis im Terminal als Ausgangsverzeichnis aus (in dem Sie die Datei erstellt haben):

chmod +x your_script_name.sh

Führen Sie die folgenden Schritte aus, wenn Sie diese Datei mit den entsprechenden Befehlen erstellt haben und sicherstellen, dass sie sich in Ihrem Ausgangsverzeichnis befindet:

  1. Drücken Sie die Super-Taste (Windows-Taste auf dem PC) auf der Tastatur, um die Seitenleiste für die Einheit aufzurufen. Geben Sie "Systemeinstellungen" ein und drücken Sie die Eingabetaste.
  2. Suchen Sie die Option "Tastatur" unter "Hardware" und klicken Sie darauf.
  3. Wählen Sie die Registerkarte "Verknüpfungen".
  4. Wählen Sie im linken Fenster "Benutzerdefinierte Verknüpfungen".
  5. Klicken Sie unten in der Mitte auf die Schaltfläche +.
  6. Ein Fenster sollte auftauchen, in dem Sie nach einem Beschreibungsnamen und einem einzugebenden Befehl gefragt werden.
  7. Machen Sie den Namen so etwas wie "Touchpad zurücksetzen"
  8. Verwenden Sie diesen Befehl: gnome-terminal -x ./name_Ihres_Skripts.sh
  9. Klicken Sie auf "Übernehmen"
  10. Jetzt sollte Ihre Verknüpfung aufgelistet sein und ganz rechts sollte "Deaktiviert" oder ein anderer Müll stehen. Klicken Sie auf diesen Text und stellen Sie sich darauf ein, eine Tastenkombination wie Strg + Super + R zu erstellen.
  11. Sobald Sie diese Tastenkombination vorgenommen haben, sind Sie fertig.

Glückwunsch! Habe Spaß.

55
user3499524

So starten Sie den Touchpad-Treiber des Laptops neu:

Öffnen Sie das Terminal durch Drücken von Ctrl+Alt+T und führen Sie den folgenden Befehl aus

Sudo  modprobe -r psmouse

dann

Sudo modprobe psmouse

Ich habe die lösung gefunden hier und es gibt auch lösung für eine usb maus

46
maruf

Wenn Sie nicht wissen, welches Modul Ihr Touchpad verwendet, können Sie es mit ein wenig Fingerspitzengefühl herausfinden

grep -iA2 touchpad /proc/bus/input/devices

für mich kehrt das zurück

N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/input/input10

dann sehen Sie, welche Kernelmodule in dieser Kategorie verfügbar sind:

ls $(find /lib/modules/$(uname -r) -type d -name mouse)

was für mich zurückkehrt

appletouch.ko  bcm5974.ko  cyapatp.ko  elan_i2c.ko  gpio_mouse.ko  
psmouse.ko  sermouse.ko  synaptics_i2c.ko  synaptics_usb.ko  vsxxxaa.ko

Querverweis die beiden - in meinem Fall sieht es so aus, als wäre das Modul für mein Touchpad elan_i2c.ko

Bearbeiten: Ich habe kürzlich herausgefunden, wie ich den Namen des Treibers mit einem verschachtelten Befehl zuverlässig ermitteln kann, was terdon für mich sehr vereinfacht hat

grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done

Um zu überprüfen, ob Sie das richtige Modul haben, testen Sie den Befehl, um es aus dem Kernel zu entladen:

Sudo modprobe -r elan_i2c

Das Touchpad stirbt sofort, wenn Sie das richtige Modul haben, sodass Sie es leicht durch Ausprobieren finden können. Laden Sie es mit neu

Sudo modprobe elan_i2c

Dadurch wird das Modul effektiv neu gestartet. Sie können die beiden Befehle wie folgt zusammen ausführen:

Sudo modprobe -r elan_i2c && Sudo modprobe elan_i2c

Ich muss dies gelegentlich tun, wenn ich aus dem Suspend-Modus zurückkomme.

8
Zanna

Wenn Sie ein Synaptics-Touchpad haben:

synclient TouchpadOff=0
6
AnteBios

Hier ist, was für mich gearbeitet hat, ist [Zenbook ASUS UX501VW]:

Sudo  modprobe -r elan_i2c
Sudo  modprobe elan_i2c

Und mein fehlendes Touchpad ist wieder da.

5
Denis Walrave

Was vielleicht einfacher war und für mich funktionierte, war das Neuladen des Treibers im Kernel. Der folgende Code findet zuerst den Namen des Kerneltreibers, der das Touchpad verwaltet, entlädt ihn dann mit rmmod und lädt ihn mit modprobe neu. Beachten Sie, dass Sie root sein müssen, um diese Befehle auszuführen. Führen Sie daher zuerst Sudo su aus.

> lsmod | grep touch
hid_multitouch         20480  0 
> rmmod hid_multitouch 
> modprobe hid_multitouch
4
ChrisR

Für mich ging es bei Kernel 4.13.0-46 unter Asus für ELAN1200 nicht darum, elan_i2c neu zu laden, sondern um den hid-multitouch -Treiber:

Sudo modprobe -r hid-multitouch && Sudo modprobe -r hid-multitouch
2
pholat

Die einfachste Lösung könnte sein:

  • stecken Sie eine Maus ein
  • gehen Sie zu Systemeinstellungen >> Maus und Touchpad
  • schalten Sie das Touchpad auf ON
1
Anthony Britton

Versuchen Sie auch gksudo /etc/init.d/hotplug restart

1
qwr

Eine Bash-Befehlszeile zum Zurücksetzen eines Touchpads (basierend auf der Antwort von @ user3499524):

id=`xinput --list |grep -i touchpad | cut -f2 | cut -f2 -d=` && xinput disable $id && xinput enable $id && echo "The touchpad has been reset."
1
NeverMinded

illusionist.

Ich verstehe, dass Sie Ubuntu 14.04 ausführen; Meins ist etwas anders (wie folgt):

Dieser Laptop: Acer Swift 1 (EUFI); x86-64-Bit.

Betriebssystem: Ubuntu 16.04 LTS.

Touchpad-Typ: SYNA7DAB: 00 06CB: 7DAC-Touchpad (synaptics_i2c.ko).

Lösung bereitgestellt : https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Erstellen Sie ein Bash-Dateiskript (wie vorgeschlagen: Erstellen Sie einen Symlink zum Bash-Skript und ordnen Sie ihm einen Hotkey zu). Der Inhalt sollte wie folgt sein:

#!/bin/bash

declare -a STATES=(1 0)
DEVICE=$(xinput list --name-only | grep Touchpad)
STATE=$(xinput list-props "$DEVICE" | grep 'Device Enabled' | sed 's/^.*:[ \t]*//')
xinput set-prop "$DEVICE" 'Device Enabled' ${STATES[$STATE]}

Stellen Sie sicher, dass es ausführbare Berechtigungen hat!

Sudo chmod +x path/filename.sh

Diese Lösung funktioniert hervorragend für mich. Hoffentlich trifft das auch auf Sie zu.

Persönliche Angaben zu Ihrem Problem (möglicherweise zutreffend für Ihre Situation)

Aus irgendeinem unbekannten Grund: Das Touchpad dieses Laptops wird automatisch funktionsunfähig (es wird jedoch weiterhin AFAIK ausgeführt). Ich habe versucht, die optische USB-Maus zu entfernen. noch in das gleiche Problem laufen.

xinput --list dump:

[email protected]:~/Desktop$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ SYNA7DAB:00 06CB:7DAC Touchpad            id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=9    [slave  keyboard (3)]
    ↳ HD WebCam                                 id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

grep -iA2 touchpad/proc/bus/eingabe/geräte dump:

[email protected]:~/Desktop$ grep -iA2 touchpad /proc/bus/input/devices
N: Name="SYNA7DAB:00 06CB:7DAC Touchpad"
P: Phys=i2c-SYNA7DAB:00
S: Sysfs=/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-SYNA7DAB:00/0018:06CB:7DAC.0003/input/input11

Zusammenfassung der Lösung ( bereitgestellt von UBUNTU ): https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

0
Daniel B

Ich verwende ein Apple Macbook Retina Pro; Das Touchpad funktioniert manchmal nicht mehr. Die meisten der oben genannten Methoden finden den Treiber nicht, da der Name weder Maus noch Touch enthält.

So finden Sie den Touchpad-Treiber in meinem Fall bcm5974:

MacBookPro:~$ xinput list-props 11
Device 'bcm5974':
    Device Enabled (147):   1`
...

Dann entladen und neu laden:

MacBookPro:~$ Sudo modprobe -r bcm5974
MacBookPro:~$ Sudo modprobe bcm5974

Gelöst.

0
user118684

Ich nenne dieses Skript mouse-reset. Es werden alle Module entfernt und dann modprobes, die in den Antworten auf diese Frage aufgeführt sind:

#!/bin/bash

modules=(psmouse hid_multitouch elan_i2c)

for mod in "${modules[@]}"; do
    Sudo rmmod "$mod" 2> /dev/null
    Sudo modprobe -v "$mod" 2> /dev/null
done
0
Tom Hale