web-dev-qa-db-fra.com

Le pavé tactile ne fonctionne pas après la suspension de l'ordinateur portable

Cela semble être un problème courant, mais après avoir essayé tous les correctifs trouvés sur les forums, je suis toujours perdu.

Spécifications:

  • ordinateur: Asus k501LX-EB71
  • OS: Ubuntu 14.04.3
  • noyau: 3.19.0-26-generic
  • touchpad: touchpad Elantech
  • pilote: xserver-xorg-input-synaptics-lts-trusty (OR) xserver-xorg-input-synaptics-lts-vivid (ne sait pas lequel est utilisé)

Ce que j'ai essayé: Je peux exécuter Sudo modprobe -r psmouse pour "éteindre" le pavé tactile, puis Sudo modprobe psmouse pour le réactiver. Cela fonctionne bien. Cependant, lorsque je suspends, je ne peux pas "réactiver" le pavé tactile, même si je saisis ces commandes.

Des pensées?

METTRE À JOUR:

Je n'observe pas ce problème si je hiberne au lieu de suspendre. Je ne sais pas quoi faire de cet indice ...

Contournement actuel:

Étant donné que l'hibernation ne semble pas poser de problème et que je dispose d'une quantité suffisante de mémoire d'échange, je passe simplement l'hibernation comme action par défaut pour des opérations telles que la fermeture du couvercle. Voici les étapes que j'ai suivies pour activer l'hibernation . J'ai également modifié d'autres paramètres d'alimentation par défaut pour passer en veille prolongée à l'aide de l'éditeur dconf, sous org> gnome> settings-daemon> plugins> power.

13
Ross Allen

Il était recommandé que je publie ma solution de contournement comme réponse:

J'ai constaté que hibernate (Sudo pm-hibernate) ne rencontrait pas les mêmes problèmes de redémarrage du pavé tactile, c'est pourquoi je viens de définir toutes les options d'alimentation appropriées pour mettre en veille prolongée au lieu de suspendre. Cela nécessite un peu d'effort car hibernate est désactivé par défaut. Voici ce qui doit arriver

7
Ross Allen

Ce bogue est signalé dans le tableau de bord: le pavé tactile Elantech cesse de fonctionner après la suspension . Après la suspension, l'OP essaie # modprobe -r psmouse et # modprobe psmouse et cela ne fonctionne pas. Mais que se passe-t-il si psmouse est supprimé avant la suspension et inséré après la suspension?

Si cela fonctionne manuellement, vous pouvez automatiser en créant un nouveau fichier dans le répertoire /lib/systemd/system-sleep/ contenant:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    modprobe psmouse
    ;;
esac

Il est connu qu'après une suspension le module psmouse ne peut pas être supprimé. Nous savons également qu'il peut être supprimé et inséré avant une suspension. Donc, cette technique le supprime avant la suspension. Après la reprise, insérez-le et espérons que le noyau ne le rejettera pas.

La commande sleep 2 provient de mes propres problèmes, où systemd et le noyau (via gnome ou APM) dormaient et se réveillaient. J'avais besoin de rediriger le son pulseaudio vers le téléviseur en raison d'un bogue introduit dans Ubuntu 16.04/pulseaudio 8.0. Le délai de 2 secondes était nécessaire au noyau et à systemd pour finir de se réveiller. Vous n'avez toujours pas compris la double suspension et la double reprise pour le moment ...

7
WinEunuuchs2Unix

Je traite avec deux approches simples avec cette question. Le premier, qui ne fonctionne pas toujours (comme vous l'avez mentionné) ne fait que redémarrer le module de la souris après l'action de suspension.

Sudo rmmod psmouse; Sudo modprobe psmouse

Voici une bonne discussion sur la façon de procéder "automatiquement": comment exécuter une commande après la reprise de suspendre?

Une approche alternative consiste à tuer le module avant la suspension, en évitant de verrouiller le module après la reprise (ce qui est apparemment ce qui génère le problème, comme souligné par WinEunuuchs2Unix).

Pour ce faire, j'utilise une simple ligne de commande pour suspendre l'ordinateur portable au lieu de simplement fermer le couvercle "manuellement". Bien sûr, ce n’est pas du tout une fantaisie, mais cela fonctionne et c’est une solution directe. Pas le temps de pirater impliqué.

Sudo rmmod psmouse; Sudo pm-suspend

Et puis, après avoir repris l'ordinateur portable, vous devriez réactiver le module en tapant:

Sudo modprobe psmouse

Vous pouvez toujours pirater le script par défaut pm-suspend, mais je ne le recommanderai pas. Il est simple et sûr de générer ces petites séquences de commandes ad-hoc.

Enfin, un moyen simple et rapide de "tuer/suspendre" et de "réactiver" le module de souris consiste à associer ces étapes à des raccourcis clavier: Comment puis-je changer les touches de mon clavier? ? (Comment puis-je créer des commandes/raccourcis clavier personnalisés?) .

J'espère que ça marche, ça le fait pour moi, bien qu'il soit vraiment inconfortable de traiter cela de cette manière. J'ai ce problème dans les ordinateurs portables HP et Asus.

3
Rho

Cela a fonctionné pour moi:

  1. Démarrer dans le BIOS, au démarrage du système, maintenez F2 ou ESC enfoncé

  2. Changez le réglage du pavé tactile dans votre BIOS de ADVANCED à BASIC (cela n’a aucune incidence sur les fonctionnalités)

Maintenant, le touchpad devrait toujours fonctionner à la reprise de la suspension.

1
pst007x

Corriger le noyau résoudra ce problème. Tu peux trouver

  1. le patch sur la liste de diffusion du noyau Linux et

  2. instructions de correctif à “ Comment patcher le noyau avec un commit spécifique ”.

Mon K501LB fonctionne maintenant comme il se doit.

1
Savel Mtrx

Les pilotes qui ne répondent pas bien à la suspension sont assez communs quel que soit le système d'exploitation. Je suis content que vous ayez trouvé une solution de contournement via l'hibernation.

Étant donné que la suspension ne se met pas complètement hors tension et que l'hibernation le fait, cela semblerait indiquer que le conducteur ne réagit pas bien à la "demi-vie" de la suspension, mais qu'il est parfaitement capable de se lever pendant un cycle de mise sous tension qui est ce que fournit l'hibernation au réveil.

source: http://manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html

0
Elder Geek

J'ai plusieurs ordinateurs portables Asus, j'ai dû désactiver le touchpad sur chacun d'eux. Ils provoquent des problèmes de verrouillage et d'autres problèmes.

0
ChangosMuertos