HP MiniNote 2133

Tags: hardware

Cette page regroupe différentes notes sur la façon dont j'ai pu faire fonctionner une Debian Lenny, puis Squeeze sur le HP mininote, en l'absence d'un environnement intégré comme Gnome/KDE.

Liens intéressants:

Installation

Voir Debian, installation sur un PC sans lecteur de cd

Carte graphique

Elle est à l'origine des principaux problèmes que m'a causé cette machine :(

Information donnée par lshw:

 *-display UNCLAIMED
                description: VGA compatible controller
                product: CN896/VN896/P4M900 [Chrome 9 HC]
                vendor: VIA Technologies, Inc.
                physical id: 0
                bus info: pci@0000:01:00.0
                version: 01
                width: 32 bits
                clock: 66MHz
                capabilities: pm agp agp-3.0 vga_controller bus_master cap_list
                configuration: latency=64 mingnt=2

Dans le menu de Grub, il faut ajouter le paramètre vga=0x311 pour que l'affichage en VGA soit correct; avec d'autres paramètres, l'écran se couvre de @@@@ et est inutilisable :-(

Avec les drivers xserver-xorg-driver-via 1:0.2.2-6 ou xserver-xorg-video-openchrome 1:0.2.902+svn579-4 de la Lenny, je n'ai obtenu qu'un affichage en 640x480px. Pour obtenir un affichage correct avec le serveur X, il faut impérativement installer une version récente du pilote openchrome, comme expliqué sur la page https://help.ubuntu.com/community/OpenChrome.

Mais même dans ces conditions, il souffrait de plantages complets, fréquents et inopinés, le plus souvent lors de l'utilisation d'un navigateur, sans pour autant que les pages affichées soient particulièrement lourdes ou complexes. Il s'agissait bien de plantages, puisque même une connexion depuis un autre PC via ssh n'était plus possible. Il va de soi que j'étais énormément déçu de cet état de fait, je n'avais jamais rencontré ça depuis que j'utilise Linux, ce qui remonte quand même à plus de douze ans.

En fin de compte, un upgrade de Lenny à Squeeze semble avoir résolu la situation. La version du driver openchrome de cette dernière étant la même que celle que j'avais compilé sous Lenny, il faut croire que c'est la mise à jour du coeur de xorg qui a joué. Il faut noter d'ailleurs qu'avec cette version, il n'a même plus été nécessaire de créer un fichier xorg.conf.

Gestion de l'énergie

Les deux paquets suivants permettent de moduler la vitesse du processeur en fonction de la demande des processus, et donc de minimiser la température et la consommation d'énergie:

Le premier comprend les scripts d'initialisation

 /etc/init.d/cpufrequtils
 /etc/init.d/loadcpufreq

ainsi que les utilitaires

 /usr/bin/cpufreq-info
 /usr/bin/cpufreq-set

permettant d'obtenir des infos sur l'état du processeur et de spécifier sa fréquence manuellement.

Pour les faire fonctionner sur le HP mininote, il a fallu un peu intervenir.

Par défaut, cpufreq-info renvoyait ceci:

 spirou:/home/gv# cpufreq-info
 cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006
 analyse du CPU 0 :
  pas de pilotes cpufreq reconnu pour ce CPU

Solution: le script /etc/init.d/loadcpufreq détermine le module à charger en fonction des informations présentes dans /proc/cpuinfo.

  # VIA
      if [ $CPU_FAMILY = 6 ]; then
                                      case $MODEL_ID in
                                                10) # VIA C7 VIA Esther
                                                        MODULE=e_powersaver
                                                ;;
                                                *)
                                                        MODULE=longhaul
                                                ;;
                                        esac
      fi

Malheureusement, dans le cas du processeur de ce laptop, il échoue à charger le module correct, puisqu'il essaie le module longhaul qui ne convient pas:

 spirou:/home/gv# modprobe longhaul
 WARNING: All config files need .conf: /etc/modprobe.d/thinkpad_acpi.modprobe, it will be ignored in a future release.
 FATAL: Error inserting longhaul (/lib/modules/2.6.26-2-486/kernel/arch/x86/kernel/cpu/cpufreq/longhaul.ko): No such device
 spirou:/home/gv# dmesg | tail -n1
 [  409.703475] longhaul: APIC detected. Longhaul is currently broken in this configuration.

Après quelques essais, il s'avère que le module approprié est e_powersaver. Il faut le charger «à la main», ou le spécifier dans /etc/modules, ou, pour respecter la logique des paquets, modifier le script précité en y ajoutant ces lignes:

                                                13) # VIA C7-M Processor 1600MHz
                                                        MODULE=e_powersaver
                                                ;;

qui permettront de repérer l'identité du cpu (13).

À la suite de quoi, cpufreq-info donne ceci:

 spirou:/home/gv# cpufreq-info 
 analyse du CPU 0 :
  pilote : e_powersaver
  CPUs qui doivent changer de fréquences en même temps : 0
  limitation matérielle : 798 MHz - 1.60 GHz
  plage de fréquence : 798 MHz, 998 MHz, 1.20 GHz, 1.40 GHz, 1.60 GHz
  régulateurs disponibles : conservative, powersave, ondemand, userspace, performance
  tactique actuelle : la fréquence doit être comprise entre 798 MHz et 1.60 GHz.
                  Le régulateur "performance" est libre de choisir la vitesse
                  dans cette plage de fréquences.
  la fréquence actuelle de ce CPU est 1.60 GHz (vérifié par un appel direct du matériel).
  des statistique concernant cpufreq:798 MHz:85,53%, 998 MHz:2,81%, 1.20 GHz:2,10%, 1.40 GHz:1,97%, 1.60 GHz:7,58%  (21)

La «stratégie» appliquée pour gérer la fréquence du CPU dépend des «régulateurs» disponibles, qui sont listés lorqu'on fait appel à cpufreq-info. Elle est déterminée dans le script /etc/init.d/cpufrequtils par la variable $GOVERNOR qui vaut "ondemand".

En pratique, pour peu que le bon module soit chargé, ces paquets ne demandent plus aucune intervention une fois installés, la fréquence du CPU est effectivement adaptée à la demande et diminue le plus souvent jusqu'au minimum.

Je l'affiche sur mon bureau avec conky [3][4]

http://www.k1ka.be/pics/conky.png

Performances

Ce qui suit dénote plutôt la frugalité de la Debian que les performances du HP Mininote.

Avec une installation basique de la Squeeze (avec Apache2, Cups, Exim) xdm et Fluxbox comme gestionnaire de fenêtre, il démarre en 30', ce que je trouve très honorable pour une distribution qui n'est pas optimisée pour un portable.

Le plus souvent, je n'ai qu'un terminal et un navigateur, soit Iceweasel, soit Opera. La consommation mémoire est alors la suivante:

    gv@spirou:~$ free
              total       used       free     shared    buffers     cached
 Mem:        904940     358636     546304          0      13836     215564
 -/+ buffers/cache:     129236     775704
 Swap:      1004052          0    1004052 

Dans ces conditions, la fréquence du cpu est généralement au plus bas, mais grimpe au maximum si l'on consulte des vidéos avec le plug-in flash. Et je trouve qu'alors, il chauffe un peu fort (environ 70°, contre 55° ordinairement).

À tester: options à passer au noyau via Grub pour régler les ventilateurs:

  acpi_osi=Linux
  acpi_osi="Windows 2006"
  acpi_osi="!Windows 2009"

Hibernation

Avec la commande

 spirou:/home/gv# acpitool -S

(hibernation avec enregistrement sur le disque dur) il lui faut 16 sec. pour s'arrêter, et 12 sec. pour revenir à l'état initial après redémarrage.

L'option -s permet en principe une mise enveille en mémoire RAM, mais dans ce cas, je n'ai pas trouvé comment le réveiller :)

Clavier

ENTRAVAUX

http://www.k1ka.be/pics/HP_mininote_clavier_3.png

À tester: paquet hotkeys