dimanche 5 juillet 2015

Mes problèmes de suspend, et comment je les ai résolus

Depuis quelque temps, je restais sur le noyau 3.14 car c'était le seul qui fonctionnait sans trop de souci. Notamment les noyaux plus récents provoquaient des soucis au suspend: le PC se réveillait presque immédiatement.

J'ai essayé récemment le noyau 4.1 compilé manuellement, et j'ai eu le même souci... et même un souci supplémentaire puisqu'il ne se mettait parfois même plus en veille. Il était temps de déboguer un peu tout ça.

Le PC ne se met plus en veille.

La première étape consiste à comprendre pourquoi le PC ne se mettait plus en veille. Un peu de logs supplémentaires nous seraient utiles. Le plus simple pour les activer temporairement est d'exécuter la commande suivante en root:

systemctl set-environment SYSTEMD_LOG_{LEVEL=debug,TARGET=journal}
systemctl restart systemd-logind

Une fois ces commandes exécutées, on peut avoir des logs avec la commande journalctl -b -u systemd-logind:

juil. 01 08:12:22 beitou systemd-logind[22720]: Lid closed.
juil. 01 08:12:22 beitou systemd-logind[22720]: Ignoring lid switch request, 4 displays connected.
juil. 01 08:12:22 beitou systemd-logind[22720]: Ignoring lid switch request, 4 displays connected.
juil. 01 08:12:28 beitou systemd-logind[22720]: Lid opened.

Oh, j'ai donc 4 moniteurs connectés en même temps ! Ah, en fait non. Il doit donc y avoir une détection qui échoue. Pour en savoir plus, on peut demander gentiment à ACPI:

$ cat /sys/class/drm/*/*/status
unknown
unknown
unknown
unknown

Mais je m'aperçois qu'après un boot les valeurs sont correctes:

$ cat /sys/class/drm/*/*/status
disconnected
connected
disconnected
disconnected

Les valeurs deviennent incorrectes uniquement après un retour de veille. Cependant elles redeviennent normales après (par exemple) un appel à xrandr.

Après quelques rapports de bug, j'ai des pistes. Il semble que ce souci n'arrive que depuis le noyau 4.1. Après avoir appliqué le patch d'un mail de la liste du noyau, ce premier souci est corrigé. Il semble aussi que systemd v221 inclue un contournement au souci, mais je ne l'ai pas essayé.

Place aux autres soucis !

Le PC se réveille après quelques secondes.

Quelques forums m'ont mis la puce à l'oreille: il semble que ce soit le module USB qui envoie des événements de réveil.

On peut le voir en affichant /proc/acpi/wakeup:

$ cat /proc/acpi/wakeup 
Device	S-state	  Status   Sysfs node
P0P1	  S4	*disabled
XHC	  S3	*enabled  pci:0000:00:14.0
HDEF	  S4	*disabled  pci:0000:00:1b.0
RP01	  S4	*disabled  pci:0000:00:1c.0
PXSX	  S4	*disabled
RP03	  S4	*disabled  pci:0000:00:1c.2
PXSX	  S5	*disabled  pci:0000:04:00.0
PXSX	  S4	*disabled  pci:0000:05:00.0
		*disabled  platform:rtsx_pci_sdmmc.0
		*disabled  platform:rtsx_pci_ms.0
PEG0	  S4	*disabled
PEGP	  S4	*disabled
PEG1	  S4	*disabled
PEG2	  S4	*disabled
LID0	  S4	*enabled   platform:PNP0C0D:00

Cela sert normalement à réveiller le PC si le clavier est actionné, mais on dirait que des événements sont envoyés qui ne devraient pas être reçus... La solution évidente consiste à désactiver cette fonction (en root):

# echo XHC > /proc/acpi/wakeup
$ cat /proc/acpi/wakeup 
Device	S-state	  Status   Sysfs node
P0P1	  S4	*disabled
XHC	  S3	*disabled  pci:0000:00:14.0
HDEF	  S4	*disabled  pci:0000:00:1b.0
RP01	  S4	*disabled  pci:0000:00:1c.0
PXSX	  S4	*disabled
RP03	  S4	*disabled  pci:0000:00:1c.2
PXSX	  S5	*disabled  pci:0000:04:00.0
PXSX	  S4	*disabled  pci:0000:05:00.0
		*disabled  platform:rtsx_pci_sdmmc.0
		*disabled  platform:rtsx_pci_ms.0
PEG0	  S4	*disabled
PEGP	  S4	*disabled
PEG1	  S4	*disabled
PEG2	  S4	*disabled
LID0	  S4	*enabled   platform:PNP0C0D:00

Pour l'exécuter au boot, voici ce que j'ai fait.

J'ai d'abord édité /etc/systemd/system/disable-xhc-wakeup.service avec le contenu suivant:

[Unit]
Description=Disable XHC Wakeup
 
[Service]
ExecStart=/usr/local/bin/disable-xhc-wakeup
 
[Install]
WantedBy=multi-user.target

Puis j'ai édité /usr/local/bin/disable-xhc-wakeup avec ce contenu:

#!/bin/sh
 
if grep -q XHC.*enabled /proc/acpi/wakeup ; then
  echo XHC > /proc/acpi/wakeup
fi

Et j'ai enfin activé ce nouveau service (en root):

# systemctl enable disable-xhc-wakeup.service

Le touchscreen ne fonctionne plus après un resume

Après un peu de recherche, j'ai découvert que simplement décharger et recharger le module hid_multitouch corrigeait le souci:

modprobe -r hid_multitouch
modprobe hid_multitouch

Il ne reste plus qu'à le faire de manière systématique.

Attention, beaucoup de documentation pointe vers /usr/lib/pm-utils/defaults, mais ce fichier n'est plus utilisé avec systemd.

J'ai donc créé un fichier /etc/systemd/system/reload_multitouch.service:

[Unit]
Description=Reload hid_multitouch kernel module
After=sleep.target
 
[Service]
Type=simple
ExecStart=/sbin/modprobe -r hid_multitouch ; /sbin/modprobe hid_multitouch
 
[Install]
WantedBy=sleep.target

Puis je l'ai activé:

# systemctl enable reload_multitouch

Et voilà !

J'ai rapporté le bug sur le bugtracker du noyau Linux donc vous pourrez suivre la résolution éventuelle !

dimanche 16 décembre 2012

Tarte aux pommes façon ma grand-mère

Voici encore une recette qui s'est transmise visuellement, façon "je l'ai vue faire et j'ai essayé et voilà", avec des quantités pas bien précises parce qu'on met un peu de ci et un peu de ça, mais ça doit être à peu près ça. Ingrédients 3 pommes un peu acides, genre Granny ou Canada un  […]

Lire la suite

mardi 9 octobre 2012

Risotto aux champignons

Ce soir, j'ai eu envie de cuisiner un peu. Je savais que j'avais du riz à risotto dans un coin, des champignons, il ne manquait que le parmesan et le vin que j'ai été chercher en passant.

Voici donc un essai qui s'est avéré bien réussi !

Lire la suite

vendredi 7 septembre 2012

Les montagnes Huangshan

Mr Cheng

Huangshan ou les montagnes jaunes Ça y est, c'est le départ de Shanghai après 4 jours bien denses. Notre plan, c'est de rejoindre Huangshan par bus (environ 6h de voyage), de dormir une nuit dans la petite bourgarde de Tangkou au pied des montagnes, de monter dans les montagnes et d'y dormir une  […]

Lire la suite

dimanche 2 septembre 2012

Shanghai: La tour Jinmao et la concession française

Des oeufs de 100 ans, miam.

Pour ce dernier jour à Shanghai, il fallait tout de même monter en haut d'une tour. On l'a fait un peu comme des pauvres: on est monté à l'hôtel Hyatt (le plus haut du monde !) pour observer la vue depuis son hall et son café. Nous sommes ensuite allés nous promener dans l'ex-concession française.  […]

Lire la suite

samedi 1 septembre 2012

Suzhou et ses jardins

Jardin de la Politique des simples sous la pluie

Une nuit et un train rapide (35 minutes) plus tard, nous voilà à Suzhou (prononcer: sou-djow), avec F et V. Connue pour ses canaux, ses jardins, son centre préservé, nous étions enchantés de quitter Shanghai pour découvrir sa campagne. En guise de campagne, c'est une véritable ville que nous avons  […]

Lire la suite

Shanghai: le jardin Yu et la vieille ville

Un plat de Dim sun

Pour ce deuxième jour, nous avons retrouvé Yué qui nous a gentiment invité dans un bon restaurant à côté du jardin Yu (juste à droite du pont en zigzag), où nous avons découvert pour la première fois les "dim sun", des sortes de ballotins de pâte avec des trucs à l'intérieur qui ont cuit  […]

Lire la suite

jeudi 30 août 2012

Shanghai: premier jour

La tour de Jinmao et le décapsuleur

Ça fait maintenant quelques jours que nous avons quitté Shanghai, mais j'ai eu du mal à trouver du Internet... J'avais envie de partager un peu de notre voyage en Chine. On débute donc avec... L'arrivée Arrivés trop tôt jeudi matin, le Maglev était encore fermé, et nous nous sommes résolus à prendre  […]

Lire la suite

mardi 8 mai 2012

Un bookmarklet pour Firebug Lite 1.3

J'ai voulu utiliser Firebug Lite récemment, et il semble bien que la dernière version 1.4 ne fonctionne pas sur Internet Explorer 7. Alors, en attendant que ce soit corrigé, j'ai fait un petit bookmarklet pour pouvoir charger la version 1.3, qui n'est pas dispo sur le site officiel de Firebug.

samedi 3 mars 2012

Les données ouvertes, par David Larlet

Ce billet est un compte rendu de la conférence de David Larlet à Paris-Web 2011. Qu'est-ce que l'open data ? L'open data recouvre deux sens en français et en anglais: en français, c'est une donnée publique; en anglais, la donnée peut être professionnelle. L'idée est de libérer les données pour les  […]

Lire la suite

The mobile browser world, par Peter-Paul Koch

Ce billet est un compte rendu de la conférence de Peter-Paul Koch à Paris-Web 2011. Les slides sont déjà disponibles en ligne et en PDF. Il y a aujourd'hui 20 browsers mobiles, beaucoup de plates-formes, beaucoup de bugs. Bref, c'est à nouveau excitant, pas comme sur le desktop. La pile d'exécution  […]

Lire la suite

Immediate Inspiration, par Denise Jacobs

Ce billet est un compte rendu de la conférence de Denise Jacobs à Paris-Web 2011. Les slides sont déjà disponibles en ligne et en PDF. L'inspiration L'inspiration vient de la respiration. L'inspiration est parfois difficile à venir donc voici quelques idées pour réussir à l'avoir. Les idées tournent  […]

Lire la suite

L'excursion du volcan Izalco du Salvador

La fine équipe avant la montée du volcan Izalco

Note: ce billet a été écrit lors du retour en voiture le 27 février. Ce lundi, on avait prévu un départ à 9h30 pour faire la rando du volcan: montée en voiture jusqu'au volcan Cerro Verde, puis descente à pied jusqu'au col entre les deux volcans, puis montée du volcan Izalco. Nous étions accompagnés  […]

Lire la suite

mardi 28 février 2012

Los Cobanos le village de pêcheurs

Des enfants jouant à Los Cobanos, Salvador

Après quelques jours de farniente dans un resort pour gringos américains, on a décidé de prendre la voiture et d'aller visiter le village de pêcheurs voisin. Étant donné le paysage ressemblant à la Bretagne, je m'attendais à un joli port de pêche en dur, avec des bateaux de pêche assez gros. Hé bien  […]

Lire la suite

mercredi 28 décembre 2011

Tarte Roger le Deun - Tarte aux pommes façon crumble

En fouillant dans les recettes de ma mère, on est tombé sur une recette de tarte aux pommes. Exclamation de ma mère: "Oh cette recette est exceptionnelle !". J'ai donc jeté un coup d'oeil, et effectivement, ça va l'air bien fameux.

Un essai plus tard, je dois l'admettre: oui, elle est exceptionnelle. La voici.

Lire la suite

lundi 26 décembre 2011

Tester vos services, par Raphaël Yharrassarry

Ce billet est un compte rendu de la conférence de Raphaël Yharrassarry à Paris-Web 2011. Les slides sont déjà disponibles en ligne et en PDF. La formule de Nielsen Nielsen a induit une formule qui détermine le nombre de problèmes trouvés en fonction du nombre d'utilisateurs testés. Notamment, cette  […]

Lire la suite

vendredi 23 décembre 2011

Comment marche un navigateur, par Anthony Ricaud

Ce billet est un compte rendu de la conférence de Anthony Ricaud à Paris-Web 2011. Les slides sont déjà disponibles en ligne et en PDF. En gros, sur le web, on a 4 moteurs principaux: Presto (chez Opera), Gecko (chez Firefox), Trident (chez Microsoft), et WebKit (chez Chrome et Safari). La requête  […]

Lire la suite

vendredi 18 novembre 2011

Échappement des noms de champs et de tables avec DbUnit

Vous vous en rappelez sans doute, je vous avais parlé de l'échappement automatique des noms de champs et de tables en JPA 2, et ça vous avait déjà diablement intéressé. Hé bien voilà, le temps des tests unitaires est venu, et pour cela, on utilise DbUnit et HSQLDB[1]. Afin de gérer l'import des  […]

Lire la suite

jeudi 17 novembre 2011

Les neurosciences au service du design numérique, par Marc Van Rymenant

Feuille distribuée par le conférencier, contenant des nombres en désordre apparent

Ce billet est un compte rendu de la conférence de Marc Van Rymenant à Paris Web 2011. Le comportement ? Un écran génère des mauvais comportements. Comment faire pour générer un comportement d'un certain type ? C'est un constat: on veut plus de plaisir à faire des choses, et on veut moins de travail,  […]

Lire la suite

Tester l'ergonomie de son site à vil prix, par Maurice Svay

Ce billet est un compte rendu de la conférence de Maurice Svay à Paris-Web 2011. Les slides sont déjà disponibles en ligne et Maurice a publié un premier billet sur le sujet sur son blog. Qu'est-ce que des tests d'utilisabilité ? Le principe: on va regarder les gens utiliser le site. Généralement,  […]

Lire la suite

- page 1 de 23