Tastatur funktioniert unter Ubuntu 16.04 (Xenial Xerus) nicht mehr

17

Meine Tastatur funktioniert ohne ersichtlichen Grund nicht mehr.

Nachdem ich Ubuntu 2,5 Jahre lang als virtuelle Maschine auf einem Windows-Host ( VirtualBox ) verwendet hatte, nahm ich endlich den Sprung, formatierte meine Festplatte neu und baute das System gestern mit Ubuntu. Heute Morgen hat meine Tastatur aufgehört zu funktionieren.

Ich sehe viele Posts über Ubuntu und eine USB-Tastatur oder -Maus, die nicht mehr zufällig funktionieren. Sie weisen darauf hin, dass das Ausschalten von USB-Geräten automatisch erfolgt, um Strom zu sparen. Wenn das USB-Gerät in einigen Fällen nicht kompatibel ist, wird es nicht ordnungsgemäß aktiviert.

Ich habe versucht, den Vorschlag in Fixing USB Autosuspend .

Aber kein glück Ich habe auch einen anderen Vorschlag ausprobiert, nämlich das Booten ohne Tastatur und das anschließende Anschließen, sobald Ubuntu gestartet wurde.

Hier sind einige Details:

  • Ich habe in den letzten zwei Jahren die gleiche Kinesis-Tastatur mit Ubuntu als virtuelle Maschine verwendet, kein Problem.
  • Die Kinesis hat Makros und das Auslösen eines Makros löst das Problem in 100% der Fälle aus. Es passiert jedoch auch, wenn ich nur tippe (keine Makros).
  • Ich habe die Kinesis gerade auf einem Laptop ausprobiert. Dies ist eine einjährige Maschine, auf der ich Ubuntu 16.04 vor zwei Wochen installiert habe. Die Verwendung eines Kinesis-Tastaturmakros hat das Problem nicht reproduziert.

Problem Maschine

  • Dell XPS, 6 Jahre alt, Desktop
  • Ubuntu 16.04 gestern installiert
  • Verwenden der Kinesis Advantage-USB-Tastatur
  • Das Herausziehen / Wiedereinsetzen der Tastatur hat 9 von 10 Mal geklappt
  • Ein Neustart funktioniert ebenfalls
  • Ich glaube nicht, dass dies ein Problem mit der USB-Stromversorgung ist, da eine LED auf der Tastatur leuchtet und andere USB-Geräte weiter funktionieren.
  • Ich habe sowohl eine USB- als auch eine Bluetooth-Maus an das Gerät angeschlossen. Beide arbeiten weiter, auch wenn der Kinesis stoppt.
  • Normalerweise habe ich eine zweite normale Dell-Tastatur angeschlossen, die für Nicht-Kinesis-Benutzer geeignet ist, die meinen Computer verwenden müssen. Früher funktionierte diese Tastatur heute jedes Mal nicht mehr, wenn der Kinesis nicht mehr funktionierte. Nachdem das Problem mit einem Makro ausgelöst wurde, funktioniert die Dell-Tastatur weiterhin.

Die Kinesis, die ich seit 8 Jahren habe, hat es mir ermöglicht, weiter zu tasten. Wenn ich das nicht lösen kann, muss ich auf Windows zurückgreifen, was eine echte Enttäuschung wäre.

Vorschläge zu möglichen Versuchen oder Lösungsvorschlägen zum Debuggen sind sehr willkommen.

Ich beschäftige mich mit USB-Treibern, von denen ich unter Linux nichts weiß. Ich habe jedoch festgestellt, dass der Laptop sowohl USB 2.0- als auch 3.0-Anschlüsse hat. Der Desktop (mit dem Problem) ist nur USB 2.0. Gräbt noch ...

klequis
quelle
Ich habe in den letzten 2 Jahren die gleiche Kinesis-Tastatur mit Ubuntu als virtuelle Maschine verwendet, kein Problem. Haben Sie die Tastatur tatsächlich an die virtuelle Maschine übergeben? Ansonsten ging es über die Treiber von Host OS und VirtualBox.
Melebius
Ich habe Ubuntu 3 Jahre lang als VM mit einem Windows-Host verwendet und hatte keine Probleme mit der Tastatur. Jetzt, da der Host Ubuntu GNOME und der Gast Ubuntu GNOME ist, habe ich dieses Problem.
Klequis
Dann haben Sie Ihre physische Tastatur im Gastbetriebssystem nicht verwendet. Virtualbox stellt dem Gastbetriebssystem standardmäßig eine virtuelle Tastatur zur Verfügung. (Es ist also egal, ob Sie dieselbe physische Tastatur verwendet haben, da dies nicht dieselbe war.)
Karatedog
Siehe diese ähnliche Frage: askubuntu.com/questions/688445/laptop-keyboard-stopped-working Das Installieren des Pakets xserver-xorg-input-allhat bei mir funktioniert, als ich ein Upgrade aufUbuntu 17.04
Lilás 23.07.17

Antworten:

7

Ich hatte das gleiche Problem mit Ubuntu 16.04 (Xenial Xerus) und suchte so viel nach einer Lösung ...

Die Lösung ist am Ende dieser Antwort, wenn Sie sich nicht für die Kontextgeschichte interessieren. Der Kontext könnte wie ein ungewöhnliches Blabla aussehen (vielleicht ist es das), aber ich denke, es könnte den Lesern helfen, zu überprüfen, ob das Problem, das ich auf meinem PC gelöst habe, mit dem auf ihrem PC identisch ist.

KONTEXT

Ich habe verzweifelt alle Tipps, die ich im Internet gefunden habe, erfolglos getestet und nach jedem Versuch neu gestartet:

  • Kernel-Boot- usbcore.autosuspend=-1Parameter '/ etc / default / grub'
  • Laptop-Modus 'Laufzeit-pm.conf' CONTROL_RUNTIME_AUTOSUSPEND=0
  • Deaktivieren Sie die Laptop-Modus-Tools in der Datei '/etc/laptop-mode/laptop-mode.conf' vollständig, um sicherzustellen, dass das Problem nicht mit dieser Kernelfunktion zusammenhängt. Ich habe verschiedene Methoden überprüft , um sicherzugehen, dass laptop_mode nicht mehr ausgeführt wird. (Ref .: man laptop-mode.conf& man laptop_mode)
  • Ich habe einige Tricks über '/etc/laptop-mode/conf.d/usb-autosuspend.conf' gelesen, aber diese Datei existiert in meiner Version von Ubuntu 16.04 mit Laptop-Mode-Tools v1.68 nicht
  • Deinstallation der Powertop- Anwendung. In Foren wird oft vermutet, dass Autosuspend-Probleme auftreten, und heute weiß ich, dass dies in meinem Fall nicht der Fall war, da durch die Deinstallation nichts behoben wurde.
  • options usbcore autosuspend=1 in '/etc/modprobe.d/usb.conf' war ebenfalls ineffizient
  • Das Skript '/etc/udev/rules.d/60-power.rules' wird vom offiziellen Gentoo-Wiki bereitgestellt
  • Gerätespezifische rulesDatei für udev'/etc/udev/rules.d/usb-power.rules', empfohlen von Serge Y. Stroobandt

Nachdem ich all diese technischen Informationen gelesen hatte, verstand ich nur, dass die Ursache mit meinem Wert '/ sys / module / usbcore / parameters / autosuspend' zusammenhängt, der nach zwei Sekunden feststeckt, unabhängig davon, welche Änderung ich an meiner Konfiguration vornehme. Sie können es mit dem catBefehl überprüfen :

$ cat /sys/module/usbcore/parameters/autosuspend
2

Und ja, meine Maus war genau nach zwei Sekunden deaktiviert, also wusste ich, dass ich auf dem richtigen Weg war. Natürlich hatte ich den echo -1Befehl, den ich hier und da gesehen habe, getestet -1, um Autosuspend zu deaktivieren ... aber:

sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied

Ich habe nicht verstanden, warum die Erlaubnis auch im Sudo-Modus verweigert wurde. Ich habe es nicht als root versucht, weil ich einfach nicht dachte, dass es ein Problem sein könnte. Hier war der Fehler :(

Dank der Kommentare von Alex Dekker & Bryce habe ich gelernt, Autosuspend nur für meine Maus zu deaktivieren . Aber natürlich sind meine ersten Versuche damit gescheitert bash: Permission denied error, so dass ich auf das Verständnis meiner Verwirrung zwischen root und sudo warten musste, bevor der echo -1von Alex vorgeschlagene Befehl endlich funktioniert.

Ich habe auch eine bessere Möglichkeit gefunden, einen Befehl als Root- Benutzer ohne Anmeldung als Root auszuführen . Der Unterschied zwischen der Verwendung von Root-Shell- und Root-Befehlen wird auf der offiziellen Ubuntu- RootSudo-Wiki-Seite gut erklärt . Ich liebe es, solche Dinge zu lernen, aber hey! Warum muss man es immer auf schmerzhafte Weise lernen? LOL

Oh mein Gott, es war ein echtes Kopfweh und es hat viel Zeit gekostet, bis ein Noob wie ich verstanden hat, wie ich normalerweise sage "no brain no gain". Meins braucht sichtlich mehr Training.

Also lass uns aufhören, über mich selbst zu reden und es reparieren! Bitte weiter unten ...


Ich empfehle dringend die zweite Lösung für Ihre externe Festplatte im Leerlauf, um den Akku Ihres Laptops nicht umsonst zu entladen. Aber ich gebe euch beide Lösungen, denn wer seine / ihre eigene Freiheit liebt, sollte auch die Freiheit der anderen lieben :)

LÖSUNG 1

Deaktiviert die automatische Suspendierung für alle USB-Geräte / -Ports

  1. Öffnen Sie das Terminal und führen Sie Folgendes aus:

    sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
    
  2. Dies ist in der Tat eine vorübergehende Lösung, mit der Sie sofort testen können, ob dieser Befehl das Problem mit der automatischen Suspendierung von Maus oder Tastatur behebt.

  3. Wenn Ihre USB-Geräte jetzt einwandfrei funktionieren, bearbeiten Sie einfach Ihr Skript '/etc/rc.local', damit dieser Befehl beim Systemstart ausgeführt wird. Auf diese Weise machen Sie das Update dauerhaft . Bearbeiten Sie die Datei zum Beispiel mit nano:

    sudo nano /etc/rc.local
    
  4. und setze den echo -1Befehl in deine '/etc/rc.local' Datei vor die exit 0Zeile

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    (...)
    # By default this script does nothing.
    echo -1 > /sys/module/usbcore/parameters/autosuspend
    exit 0
    
  5. Starte deinen Computer neu

(Bitte überprüfen Sie den Wichtigen Hinweis am Ende.)

.

LÖSUNG 2

So deaktivieren Sie die automatische Suspendierung für ein bestimmtes USB-Gerät / einen bestimmten USB-Anschluss

  1. Die Energieoptionen für ein USB-Gerät sind in /sys/bus/usb/devices/n-n/power. Was n-nfür ein bestimmtes Gerät gilt, muss mit ein paar Handgriffen herausgefunden werden, ist aber nicht kompliziert. Das folgende Beispiel zeigt, wie ich die USB-Anschlussnummer meines drahtlosen Mausempfängers ermittelt habe. Passen 3-1Sie diese also bitte an Ihre Situation an:

    • Trennen Sie Ihr USB-Gerät, öffnen Sie das Terminal und führen Sie den sudo dmesgBefehl aus

    • Schließen Sie Ihr USB-Gerät wieder an und führen Sie sudo dmesges im Terminal erneut aus, um nach Änderungen zu suchen

    • So dmesgsieht das Ende meiner Befehlsausgabe aus, nachdem ich meine Maus wieder in einen Steckplatz gesteckt habe:

      [40208.575249] usb 3-1: new full-speed USB device number 8 using xhci_hcd
      [40208.705233] usb 3-1: New USB device found, idVendor=062a, idProduct=4102
      [40208.705240] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [40208.705245] usb 3-1: Product: 2.4G Wireless Mouse
      [40208.705248] usb 3-1: Manufacturer: MOSART Semi.
      [40208.707679] input: MOSART Semi. 2.4G Wireless Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:062A:4102.0007/input/input24
      [40208.763946] hid-generic 0003:062A:4102.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [MOSART Semi. 2.4G Wireless Mouse] on usb-0000:00:14.0-1/input0
      

    Jetzt können wir sehen, dass der Port, an dem mein USB-Gerät angeschlossen wurde, als gekennzeichnet ist usb 3-1.

    **Note:** this trick concerns the USB port ID, not a device ID. For example, if I plug my mouse to the next USB port, it becomes identified as `usb 3-2` in the `dmesg` result. But this solution #2 remains very useful if you take the habit to always plug your mice or keyboard to the same port, and it's generally what people use to do unconsciously ;)
    
  2. Führen Sie den folgenden Befehl in Ihrem Terminal aus und ändern Sie meine Portnummer 3-1mit der, die Sie in Ihrem eigenen dmesgErgebnis gefunden haben:

    sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
    

    Beachten Sie, dass gemäß der offiziellen Linux-Dokumentationautosuspend_delay_ms die autosuspendseit Kernel-Version 2.6.38 veraltete ersetzt wurde .

  3. Dies ist in der Tat eine vorübergehende Lösung, aber Sie können jetzt einfach testen, ob dieser Befehl das Problem mit der automatischen Suspendierung von Maus oder Tastatur behoben hat.

  4. Wenn Ihr USB-Gerät jetzt einwandfrei funktioniert, bearbeiten Sie einfach Ihr Skript '/etc/rc.local', damit dieser Befehl beim Systemstart ausgeführt wird. Auf diese Weise machen Sie das Update dauerhaft . Bearbeiten Sie die Datei zum Beispiel mit nano:

    sudo nano /etc/rc.local
    
  5. Und setzen Sie den echo -1Befehl in Ihre Datei '/etc/rc.local' vor die exit 0Zeile. Vergessen Sie nicht, die Portnummer n-nim Befehl zu ändern :

        #!/bin/sh -e
        #
        # rc.local
        #
        # This script is executed at the end of each multiuser runlevel.
        (...)
        # By default this script does nothing.
        echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms
        exit 0
    
  6. Starte deinen Computer neu

.

Wichtig: Vergessen Sie nicht, dass Sie den sudo sh -cBefehl "Temporär" erneut manuell ausführen müssen, wenn Sie Ihr USB-Gerät trennen / wieder anschließen, während Ihre Desktop-Umgebung bereits gestartet ist, auch wenn Sie es wieder an denselben USB-Stecker anschließen. Normal, nur weil die Datei '/etc/rc.local' beim Systemstart nur einmal aufgerufen wird.

Trotzdem sind Workarounds möglich. Besser ausgebildete Leute haben vielleicht cleverere Methoden, aber ich habe portspezifische Aliase in Ubuntu konfiguriert. Es ermöglicht mir, die Befehle simple usb1oder usb2selektiv zu verwenden, wenn ich mein USB-Gerät hier oder dort trennen / erneut anschließen muss. Gleichfalls! Sie können auch Aliase für Befehle erstellen , um mit kurzen Wörtern zu spielen, anstatt den vollständigen Befehl einzugeben. Es ist einfach in weniger als zwei Minuten einzustellen und funktioniert auch mit Alt+ F2:)

Weitere Ideen zur Erleichterung wären ebenfalls sehr willkommen.

Fenyx
quelle
Danke für diese Antwort. Leider kann ich nicht testen, ob dies die Antwort ist. Daher bin ich mir nicht sicher, ob ich als Antwort markieren soll.
Klequis
Ich habe es versucht und es hilft nicht auf Ubuntu 16.0.4.2 VirtualBox 5.1.26
Pavlo
1

Ich hatte genau das gleiche Problem (Kinesis-Tastatur funktioniert nach einem Neustart nicht mehr).

Schließlich stellte ich fest, dass es sich um ein Kernel-Upgrade handelte

  • vor dem neustart war ich auf version 4.4.0-31-generic
  • Nach dem Neustart war es 4.4.0-38-generisch

Das Booten mit dem älteren 4.4.0-31-Kernel hat das Problem für mich behoben.

Dieser Beitrag enthält Anweisungen zum Booten mit einem älteren Kernel (damit Sie sehen können, ob der ältere Kernel den Trick für Sie ausführt).

jeroend
quelle
Es ist sehr wahrscheinlich, dass meine neu erstellte Maschine einen neueren Kernel als die von mir verwendete virtuelle Maschine hatte. Mein Problem war jedoch nicht, dass die Tastatur nach dem Neustart nicht mehr funktionierte. Sie funktionierte einwandfrei, bis ich ein Makro ausführte und es dann abschaltete. Die meisten Makros wurden für allgemeine Programmierschlüssel verwendet. Ich benutze jetzt den Atom-Editor und dessen Shortcuts / Auto-Type (wie auch immer sie es nennen) tun das meiste, was ich brauche, also bin ich damit glücklich.
Klequis
0

Wenn Sie haben, ist laptop-mode-toolses möglich, die automatische Suspendierung von USB vollständig zu deaktivieren, indem Sie Folgendes ändern:

AUTOSUSPEND_TIMEOUT=2

im

/etc/laptop-mode/conf.d/runtime-pm.conf

zu

AUTOSUSPEND_TIMEOUT=-1

Beachten Sie, dass diese Datei eine kommentierte Option enthält

untime-pm.conf:# Example: AUTOSUSPEND_DEVID_BLACKLIST="usbhid usb-storage"

Sie könnten versuchen, mit dieser Option herumzuspielen, wenn Sie Ihre Energieverwaltungseinstellungen optimieren möchten.

ANMERKUNGEN:

  • usbcore wird im kernel kompiliert.
  • mit systemd
  • Ubuntu 16.10
  • Linux-Kernel 4.8.0-41-generic # 44-Ubuntu
Antonio Medina
quelle
Ich habe auch festgestellt, dass in:
Antonio Medina
Kein Laptop und ich habe gelernt, ohne zu leben, aber danke für deinen Vorschlag.
Klequis
Ob Laptop-Mode-Tools ausgeführt werden oder nicht, hat wenig damit zu tun, ob es sich bei dem System um einen Laptop handelt oder nicht. Mein immer an die Wand angeschlossener A / C-Server hat es ausgeführt, und das Setzen von AUTOSUSPEND_TIMEOUT = -1 in der Datei /etc/laptop-mode/conf.d/runtime-pm.conf hat es für mich nach Schwierigkeiten endgültig behoben mit diesem habe ich seit dem 16.04 vom 14.04 aktualisiert.
Rezty Felty
0

Ich hatte das gleiche Problem. Für mich war die Lösung einfach, während der eigentliche Grund unbekannt blieb.

Gestern habe ich eine zweite Maus an meinen PC angeschlossen. Alles hat gut funktioniert. Als ich heute bootete, funktionierte die Tastatur im Anmeldebildschirm oder auf dem Desktop nicht. Es hat beim Booten funktioniert, zum Beispiel bin ich ins BIOS gekommen.

Die Tastatur fing an zu arbeiten, nachdem ich die neue Maus ausgesteckt und alle USB-Kabel wieder eingesteckt hatte.

Ohto Nordberg
quelle
Dies kann die Gesamtzahl der USB-Geräte sein (maximal zwei). Ich habe so ein System. Möglicherweise hängt es nicht mit der Art des USB-Anschlusses (USB 2 vs. USB 3) zusammen. Leider stehen mir im BIOS nicht so viele Optionen zur Verfügung, um dies zu umgehen.
Peter Mortensen
0

Ich habe diesen und andere Berichte im letzten Jahr immer wieder gelesen und am Ende einfach aufgegeben, die Tastatur zu benutzen, die Probleme verursachte, und bin auf eine drahtlose Tastatur umgestiegen.

Bis mir auffiel, dass das Problem zu der Zeit begann, als ich einen neuen PC baute, und es möglicherweise ein Stromproblem war. Also kaufte ich einen USB-Hub mit eigener Stromversorgung , an den ich die Tastatur anschließen konnte. Es hat das Problem gelöst! Es war schließlich kein Software-Problem, aber anscheinend hat mein neuer Computer unterversorgte USB-Ausgänge (oder wie meine Tastatur meint).

Dies ist möglicherweise einen Versuch wert, wenn Sie unter zeitweiligen Tastaturausfällen wie oben beschrieben leiden und auf der Softwareseite nichts funktioniert hat. Ein USB-Hub mit eigener Stromversorgung muss nicht teuer sein.

FvD
quelle
Oder war am USB-Port eine Strombegrenzung wirksam? ZB 100 mA .
Peter Mortensen
0

Dies ist nicht die Antwort, nach der ich gesucht habe, aber ... ich habe zwei Tage und viele Stunden damit verbracht, dieses Problem zu lösen. Ich habe einen PCIe-USB-3.0-Hub gekauft, um zu prüfen, ob dies funktionieren würde.

Mein Fazit ist, dass dieses Problem keine Lösung wert ist und es bessere Wege zum selben Ziel gibt.

Meine Lösung / Problemumgehung besteht darin, mich auf die Snippets-Funktion meines Texteditors zu verlassen. Das bedeutet, dass ich mehr in einen bestimmten Editor investieren und mich auf ihn verlassen werde (wahrscheinlich Atom ), aber dies ist sogar noch besser als das, was ich mit den Tastaturmakros hatte, da Schnipsel einfacher zu pflegen sind als Tastaturmakros.

Ich habe viel über USB gelernt, indem ich das USB-Subsystem zurückgesetzt habe .

klequis
quelle
Ich habe vor ungefähr 3 Monaten einen Kinesis Advantage2 gekauft. Trug nur die 10 Jahre ein aus. Es funktioniert gut. In dieser Ausgabe wurde das Problem nicht behandelt.
Klequis
Snippets (Textvorlagen) sind äußerst nützlich, können jedoch keine Tastenkombinationen steuern, sondern nur reinen Text (?). ZB Shift + Ctrl + Tab (um in Firefox zum nächsten Tab nach links zu gelangen) kann nicht in ein Snippet eingefügt werden
Peter Mortensen