Le Hollandais Volant

Retour sur un bug coriace avec mon PC sous Linux

cat-computer-sleep

J'utilise un PC Airis N1520 et depuis le mois de juin j'ai pas arrêté d'avoir un bug agaçant sous Linux Mint 11 / Ubuntu / GNULinux 2.6.x.
Après des mois de recherches, je pense enfin avoir résolu le soucis (faut utiliser le noyau 3.1.x de Linux et ajouter un truc au grub, voir plus bas). C'est le moment de publier le rapport et de partager.

Mon matériel :
Un PC à base d'un Clevo, carte mère Clevo W270HU ; processeur Intel i3 2310M ; chipset graphique intégré Intel HD Graphic 3000; carte réseau JMC250 PCI Express Gigabit Ethernet Controller (JMicron).
L'architecture est aussi du Sandy-Bridge, d'Intel.

L'OS : Linux Mint 11 (basé sur Ubuntu 11.04), mais le soucis est là aussi sous Ubuntu 11.10.

Les symptômes du bug :
  • Un freeze total, inopiné et à priori sans raisons. Ni la combinaison de touche pour relancer X, ni les touches magiques ne permettent d'en sortir : seul un reset forcé marche.
  • Si une vidéo ou la musique tourne en fond, les 1~2 dernières secondes du son se répètent en boucle
  • Il n'y a rien qui semble être à l'origine du freeze : c'est pas la lecture d'une vidéo, ni le wifi, ni le réseau, ni le son, ni Flash, ni rien. Il n'y a aucune trace dans les logs du noyau.

C'est vraiment un arrêt aléatoire, total et brutal du système logiciel (le matériel – lecteur CD, touches de fonctions, etc. – répond).

Ce qui n'a pas aidé sur mon ordi (mais que j'ai essayé)
  • Passer d'un OS 64 bit à un système 32 bit : c'est un petit peu mieux sur 32 bit, mais pas vraiment beaucoup non plus.
  • Changer de barrettes RAM. J'ai éssayé avec 1×2Go ; 2×2Go ou (1+1)×2Go (deux barrettes de marques différentes) : rien n'y a fait.
  • Désinstaller Flash
  • Désactiver le réseau
  • Désactiver le son
  • Ne pas utiliser la mise en veille ou la veille prolongée
  • Utiliser Debian au lieu de Linux Mint (basée sur Ubuntu basée sur Debian)
  • Utiliser l'alimentation secteur ou (ou-exclusif) la batterie
  • Favoriser le refroidissement de l'intérieur de la machine (ouverture du capot…)
  • Mettre à jour vers les derniers pilotes JMicron (ethernet) ou Realtek (carte WiFi)
  • Faire du tricycle à reculons avec les mains en mangeant des chips et en écoutant de l'électro

Bref, après avoir écumé les forums, trouvé des personnes avec un bug similaire mais sur des ordinateurs différents, et après en avoir discuté pas mal avec Airis, il semble que le soucis viennent des architectures SandyBridges d'Intel.
Un grand nombre d'utilisateurs reportent des problèmes sous Linux avec ça…
En gros, il suffisait d'attendre que le noyau Linux allait être mis à jour.

Solution
Actuellement, j'ai installé le noyau 3.1.1 sous Linux Mint 11, en ayant suivi ce qui est marqué là.
Pour un OS 32 Bit, il faut télécharger 3 fichiers de cette page :

Il faut ensuite les installer manuellement, soit en double cliquant dessus (dans l'ordre ci-dessus), soit en faisant dans un terminal :

sudo dpkg -i linux-headers-3.1.1-030101_3.1.1-030101.201111111651_all.deb
sudo dpkg -i linux-headers-3.1.1-030101-generic_3.1.1-030101.201111111651_i386.deb
sudo dpkg -i linux-image-3.1.1-030101-generic_3.1.1-030101.201111111651_i386.deb
Puis, il faut mettre à jour le Grub :
sudo update-grub

C'est bon : il ne vous reste qu'à rebooter et à choisir le noyau 3.1.1 lors du menu du grub.
Lorsque vous serez sous votre session, tapez uname -sr dans un terminal pour bien voir que vous êtes sous Linux 3.1 (ce qui doit retourner quelque chose comme Linux 3.1.1-030101-generic.

Depuis que je suis sous 3.1, je n'ai plus de plantages. C'est cool.

Résolution d'un sous-bug
Malheureusement, il y a un gros soucis alternatif avec ce noyau : il sollicite environ 30 à 40% plus le processeur… Du coup il chauffe et l'autonomie diminue considérablement. Voir ce bug.

J'ai résolu le problème chez moi en ajoutant dans le fichier /etc/default/grub le paramètre i915.i915_enable_rc6=1 à la ligne :
GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.i915_enable_rc6=1"
Après ce changement, il faut remettre à jour le Grub :
sudo update-grub

Puis redémarrer à nouveau.

Normalement, les sollicitations du CPU, la température et l'autonomie reviendront plus ou moins à la normale.

Voilà.
Après 4 mois d'enquêtes et des centaines de plantages, de tests, de reboots, de ré-installations… Le soucis semble résolu. J'espère que ça aidera d'autres personnes qui ont un soucis similaire…
En tout cas, si je n'ai pas la certitude absolue sur l'origine du bug, et absolument aucune idée de la cause immédiate du plantage, j'aimerais vous dire de ne jamais laisser tomber les recherches à un problème sous Linux : testez, essayez, installez, modifiez ! À défaut de savoir quoi faire, essayez tout. N'hésitez pas à faire des manips même si on vous dit « nan, ça peut pas être ça ».

Et surtout si à la fin vous trouvez : partagez ! Ça vous aidera vous, et bien-sûr les autres.

Et au moment de tester, notez ce que vous faites et dans quel ordre (ceci ne vaut pas seulement sous Linux sur un PC, mais un peu partout dans la vie de tous les jours).

PS : je lis également que le bug (un autre) de surconsommation d'énergie qui apparaît sous presque tous les Linux sur tous les ordinateurs est résolu. Cool :-). Tous les ordinateurs portables tiennent parfois moitié moins longtemps sur batterie sous Linux que sous Windows. Visiblement, c'est réparé :).

image de Nathonline-Beta