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

14

Cela semble être un problème commun, mais après avoir essayé toutes les corrections que j'ai trouvées sur les forums, je suis toujours perdu.

Spécifications:

  • ordinateur: Asus k501LX-EB71
  • OS: Ubuntu 14.04.3
  • noyau: 3.19.0-26-générique
  • pavé tactile: pavé tactile Elantech
  • pilote: xserver-xorg-input-synaptics-lts-trusty (OR) xserver-xorg-input-synaptics-lts-vivid (vous ne savez pas lequel est utilisé)

Ce que j'ai essayé: je peux courir sudo modprobe -r psmousepour "éteindre" le pavé tactile, puis sudo modprobe psmousepour le rallumer . Cela fonctionne bien. Cependant, lorsque je suspends, je ne peux pas "réactiver" le pavé tactile, même si j'entre ces commandes.

Des pensées?

MISE À JOUR:

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

SOLUTION ACTUELLE:

Étant donné que l'hibernation ne semble pas causer de problème et que j'ai une quantité appropriée de mémoire d'échange, je viens d'hiberner comme action par défaut pour des choses comme la fermeture du couvercle. Voici les étapes que j'ai suivies pour activer la mise en veille prolongée . 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

Ross Allen
la source
Vous pouvez trouver cela utile: ubuntuforums.org/showthread.php?t=2189117
Elder Geek
hmmm ... merci pour la réponse rapide mais j'ai suivi toutes les étapes de ce fil sans succès. Pour une raison quelconque, je ne peux pas réactiver le pavé tactile sudo modprobe psmouseaprès la suspension. Simplement, rien ne semble se produire. Je ne trouve rien de déplacé dans les fichiers journaux
Ross Allen
Je considérerais votre solution de contournement comme une réponse. Vous devez l'écrire en tant que telle, car elle est susceptible d'aider les autres et l'intégration de la réponse dans votre question pourrait la rendre plus difficile à trouver.
Elder Geek

Réponses:

8

Ce bug est signalé dans le tableau de bord: le touchpad Elantech cesse de fonctionner après la suspension . Après les essais de suspension OP # modprobe -r psmouseet # modprobe psmouseil ne fonctionne pas. Mais que faire si psmouse a été 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 /lib/systemd/system-sleep/répertoire 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 après une suspension du module psmouse ne peut pas être supprimé. Nous savons également qu'il peut être retiré et inséré avant une suspension. Cette technique le supprime donc avant la suspension. Après la reprise, insérez-le et espérons que le noyau ne le rejettera pas.

La sleep 2commande vient de mes propres problèmes où systemd et le noyau (via gnome ou APM) dormaient et se réveillaient. J'ai dû rediriger le son pulseaudio vers le téléviseur en raison d'un bug introduit dans Ubuntu 16.04 / pulseaudio 8.0. Le délai de 2 secondes était nécessaire pour que le noyau et systemd finissent de se réveiller. Vous n'avez toujours pas encore compris la double suspension et le double CV ...

WinEunuuchs2Unix
la source
Je pense qu'il serait préférable d'utiliser la SUSPEND_MODULESfonctionnalité standard de pm-utilspour ce linux.die.net/man/8/pm-suspend
cgogolin
Cette solution n'a pas fonctionné pour moi. Ubuntu 18.04 avec "SYNA8004: 00 06CB: CD8B Touchpad", Lenovo X1 Carbon Gen 7. Je reçois un comportement de pavé tactile accrocheur après la sortie de l'hibernation.
SaTa
7

Il a été recommandé de publier ma solution de contournement comme réponse:

J'ai constaté que hibernate ( sudo pm-hibernate) ne rencontrait pas les mêmes problèmes avec le redémarrage du pavé tactile, donc je viens de définir toutes les options d'alimentation pertinentes sur hibernation au lieu de suspendre. Cela nécessite un peu d'effort car la mise en veille prolongée est désactivée par défaut. Voici ce qui doit arriver

Ross Allen
la source
1
Attention, la mise en veille prolongée est désactivée par défaut car il y a de fortes chances de corruption du disque dur. J'ai dû réinstaller mon système d'exploitation deux fois après une mise en veille prolongée défaillante. Désactivé à nouveau maintenant.
crobar
1
Modifiez le paramètre Touchpad dans votre BIOS de ADVANCED à BASIC, cela ne fait aucune différence en ce qui concerne les fonctionnalités, et le touchpad fonctionne toujours lorsqu'il est repris de la suspension.
pst007x
3

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

sudo rmmod psmouse; sudo modprobe psmouse

Voici une discussion intéressante sur la façon de faire cela "automatiquement": comment exécuter une commande après la reprise de la suspension?

Une approche alternative consiste à tuer le module avant de suspendre, en évitant de verrouiller le module après la reprise (ce qui est apparemment ce qui génère le problème, comme l'a souligné 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 devez réactiver le module en tapant:

sudo modprobe psmouse

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

Enfin, un moyen simple et rapide de faire rapidement la "mise à mort / suspension" et la "réactivation" du module de la souris consiste à associer ces étapes aux 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 cela fonctionne, c'est le cas pour moi, bien que ce soit vraiment inconfortable de traiter cela de cette manière. J'ai ce problème dans les ordinateurs portables HP et Asus.

Rho
la source
Cela fonctionne pour moi là où rien d'autre ne l'a fait - merci!
daboross
À votre santé! Heureux que ce soit utile! ; D
Rho
3

La solution suivante a fonctionné pour moi sur mon Acer Predator Helios 300 exécutant Ubuntu 18.04 (5.0.0-36-générique) quand tout le reste ne l'a pas-

Vérifiez si la solution fonctionne
Essayez d'exécuter la commande suivante après vous être réveillé de la suspension lorsque votre trackpad ne fonctionne pas /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid.
Si cela fait fonctionner votre trackpad, suivez les étapes ci-dessous pour créer une solution automatique qui s'exécute chaque fois que vous vous réveillez de la suspension.

Solution permanente
1. Créez /lib/systemd/system-sleep/touchpad
2. Ouvrez le fichier ci-dessus et modifiez-le, sudo vi /lib/systemd/system-sleep/touchpad
3. Enregistrez le contenu suivant dans le fichier-

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
  1. Rendez-le exécutable- chmod +x /lib/systemd/system-sleep/touchpad

Cela redémarre essentiellement le périphérique i2c_hid au réveil de la suspension.

Courtoisie: /unix//a/526488/283735

nihal111
la source
Excellente réponse, cela a fonctionné pour moi, merci. Le module "psmouse" n'était pas celui pour moi, "i2c_hid" l'était. Dell Inspiron J'ai eu ceci dans dmesg: [24063.094911] psmouse serio1: elantech: elantech_send_cmd la requête 0x02 a échoué. [24063.094918] psmouse serio1: elantech: échec d'interrogation des capacités. [24064.645952] psmouse serio1: Échec d'activation de la souris sur isa0060 / serio1 [24065.383423] entrée: ImPS / 2 Logitech Wheel Mouse as / devices / platform / i8042 / serio1 / input / input38 [24240.449885] psmouse serio1: elantech: en supposant la version matérielle 4 (avec la version du firmware 0x4f5001)
David Robson
1

Cela a fonctionné pour moi:

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

  2. Modifiez le paramètre Touchpad dans votre BIOS de ADVANCED à BASIC (ne fait aucune différence en ce qui concerne les fonctionnalités)

Maintenant, le pavé tactile devrait toujours fonctionner lorsqu'il est remis en veille.

pst007x
la source
0

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

ChangosMuertos
la source
Pas ce que j'espérais entendre, mais j'apprécie la réponse
Ross Allen
c'est le Elan Touchpad. Cela me fait littéralement utiliser ctrl-alt-f1 / 2/3 pour changer et revenir en arrière pour le dégeler. Une fois que je l'ai désactivé, aucun problème. Comme vous le savez, vous pouvez l'utiliser en rafales courtes et utiliser ma méthode mentionnée ci-dessus pour sortir du verrou. J'espère que cela pourra aider.
ChangosMuertos
0

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

Étant donné que la suspension ne s'éteint pas complètement et que l'hibernation le fait, cela semblerait indiquer que le conducteur ne répond pas bien à la "1/2 durée de vie" de la suspension, mais est parfaitement capable de se produire pendant un cycle de mise sous tension qui est ce que l'hibernation procure au réveil.

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

Elder Geek
la source
Vous pouvez vous connecter à des routines de réveil pour redémarrer le pilote peut-être ... Tout comme la façon dont le gestionnaire de réseau est rechargé. Je n'ai pas encore compris comment le faire moi-même. Je l'ai fait fonctionner pour redémarrer pulseaudio mais j'ai réussi à le casser il y a 2 jours :(
WinEunuuchs2Unix
1
@ WinEunuuchs2Unix J'adorerais voir ça. cinglez-moi si vous le comprenez.
Elder Geek
chose sûre. Je vais probablement faire une de ces choses "répondre à votre propre question" dans environ six mois à ce rythme de 6 semaines déjà.
WinEunuuchs2Unix
1
J'ai posté une réponse, mais je semble être en mesure de cingler tout le monde sauf vous (Elder Geek) pour une raison étrange.
WinEunuuchs2Unix