Installation et configuration d’une Debian sur un IBM Thinkpad T40. Une grande partie des manipulations décrites ici devrait aussi fonctionner pour Ubuntu ou d’autres distributions Linux.
Note: Les manipulations décrite sur cette page datent de 2006. Depuis, beaucoup de choses ont évolué, alors avant de tenter la manip, il est bon de vérifier que tout ne marche pas déjà tout seul…
Installation
L’installation ne pose pas de problèmes majeurs. Pour bénéficier des derniers outils de gestion d’énergie notamment, j’ai choisi d’installer la version testing de Debian (etch). L’image nécessaire pour l’installation par le réseau est disponible à http://www.debian.org/devel/debian-installer/.
Il est bon de rajouter les modules spécifiques au thinkpad: apt-get install tpctl tpb
(l’affichage osd du volume) et module-assistant thinkpad
. Pour s’assurer du chargement du module thinkpad, ajouter la ligne thinkpad
dans le fichier /etc/modules
. Il faut aussi charger le module nvram
.
WIFI
Le driver utilisé par le centrino pour le WIFI est ipw2100. L’installation se fait simplement par module-assistant ipw2100
Ce module a également besoin du module ieee80211: module-assistant ieee80211
Attention, pour des raison de license, Intel n’autorise pas la récupération automatique du firmware nécessaire, vous devez donc le faire manuellement en suivant les instructions.
Les outils nécessaires sont obtenus par
apt-get install wireless-tools
Normalement, une fois les modules et les outils installés, tout se charge au démarrage. L’interface WIFI correspond à eth1 dans mon cas.
Quelques commandes utiles:
- Status courant du WIFI (mode, association, débit)
iwconfig
- Liste les points d’accès alentours
iwlist scanning
- Associe la carte réseau au point d’accès MONRESEAU
iwconfig eth1 essid MONRESEAU
- Toutes les infos utiles qu’on peut obtenir avec iwlist
man iwlist
- Toutes les commandes pour configurer le WIFI
man iwconfig
Pour une configuration automatique, on peut modifier le fichier /etc/network/interfaces
. Par exemple:
auto eth1 iface eth1 inet static address 192.168.1.2 netmask 255.255.255.0 wireless-mode Managed wireless-rate 11M wireless-essid MONRESEAU wireless-key restricted 0123456789abcdef0123456789
Une instruction telle que iwconfig eth1 essid MONRESEAU
se traduira par une ligne wireless-essid MONRESEAU
dans ce fichier.
Gestion d’Energie avec le cpu scaling
Le centrino est capable de changer de fréquence (cpu scaling) selon sa température, l’état de la batterie ou la charge de travail.Il faut pour cela installer cpufreq: apt-get install cpufreqd
et charger le module adéquat au démarrage: ajouter la ligne speedstep-centrino
dans le fichier /etc/modules
pour charger le module au démarrage ou modprobe speedstep-centrino
Des infos utiles se trouvent dans l’arborescence de /sys/:
cd /sys/devices/system/cpu/cpu0/cpufreq/
- montre les frequences disponible
cat scaling_available_frequencies
- fréquence actuelle
cat cpuinfo_cur_freq
- differentes strategies de changement de fréquences
cat scaling_available_governors
Si vous ne disposez que de performance comme gestion de fréquence, il faut charger d’autres modules: cpufreq_ondemand
et cpufreq_powersave
(avec modprobe ou par l’intermédiaire de /etc/modules au démarrage).
Le choix de la stratégie utilisée est fait par cpufreq selon sa configuration spécifiée dans le fichier /etc/cpufreqd.conf
. La configuration consiste à définir une liste de profils [Profile]
et une liste de règles [Rule]
pour appliquer ces profils. Les profils définis par défaut conviennent bien, mais pour étendre un peu la vie de la batterie, j’ai un peu modifié les règles: profile=Powersave Low
lorsque le portable est sur batterie. Chacun peut adapter les règles selon son utilisation, la structure du fichier de configuration est assez simple.
Hibernate et Suspend
La mise en veille prolongée (suspend to RAM) du portable ne pose pas de problème, par contre, l’hibernation (suspend to disk) nécessite d’appliquer un patch sur le noyau (donc de recompiler), je n’ai pas testé. Les explications sont disponibles à http://www.suspend2.net/.
Touches raccourci
Pour bénéficier des touches de raccourci (Fn+F3, Fn+F4…) il faut installer acpi apt-get install acpid
. Un module pour le thinkpad est disponible ibm-acpi
(à charger avec modprobe
ou par l’intermédiaire de /etc/modules
au démarrage). Ce module fourni notamment les informations sur l’état de la lumière, mais surtout permet d’activer les combinaisons avec la touche Fn.
Pour activer ces combinaisons, il faut effectuer les commandes echo enable > /proc/acpi/ibm/hotkey
et echo 0xffff > /proc/acpi/ibm/hotkey
(nous verrons un peu plus loin comment automatiser tout ca au démarrage).
Suspend to RAM: Fn+F4
Installer hibernate: apt-get install hibernate
. Créer un fichier /etc/acpi/events/Fn-F4
contenant
event=ibm/hotkey HKEY 00000080 00001004 action=/usr/sbin/hibernate --config-file=/etc/hibernate/ram.conf
Extinction de l’écran: Fn+F3
Intaller radeontool : apt-get install radeontool
. Créer le fichier /etc/acpi/events/Fn-F3
contenant:
event=ibm/hotkey HKEY 00000080 00001003 action=sh /etc/acpi/Fn-F3.sh
Et le fichier /etc/acpi/Fn-F3.sh
. Attention, veillez aussi à créer le repertoire /etc/acpi/actions
(sous peine de ne pas pouvoir rallumer l’écran).
#!/bin/bash if [ -f /etc/acpi/actions/lightoff ]; then radeontool light on rm /etc/acpi/actions/lightoff else radeontool light off touch /etc/acpi/actions/lightoff fi
Extinction de la carte WIFI: Fn+F5
Créer le fichier /etc/acpi/events/Fn-F5
:
event=ibm/hotkey HKEY 00000080 00001005 action=sh /etc/acpi/Fn-F5.sh
Et le script /etc/acpi/Fn-F5.sh
:
#!/bin/bash if [[ $( < "/sys/bus/pci/drivers/ipw2100/0000:02:02.0/rf_kill") != 0 ]]; then echo 0 > /sys/bus/pci/drivers/ipw2100/0000:02:02.0/rf_kill else echo 1 > /sys/bus/pci/drivers/ipw2100/0000:02:02.0/rf_kill fi
Tout ca marche après un redémarrage de acpi: /etc/init.d/acpid restart
.
Tout au démarrage
Pour mettre les options necessaires au demarrage et commencer avec la carte WIFI desactivée, créer le fichier /etc/init.d/initperso
#!/bin/bash echo 1 > /sys/bus/pci/drivers/ipw2100/0000:02:02.0/rf_kill echo enable > /proc/acpi/ibm/hotkey echo 0xffff > /proc/acpi/ibm/hotkey
Ne pas oublier de mettre les droits d’execution pour ce fichier: chmod +x /etc/init.d/initperso
et de le rajouter à la séquence de démarrage: update-rd.d initperso default
s.
Rajouter les modules à charger au démarrage au fichier /etc/modules
.
# /etc/modules: kernel modules to load at boot time. thinkpad nvram speedstep-centrino cpufreq_ondemand cpufreq_powersave ibm-acpi
Liens
Plusieurs sites donnent des informations utiles sur l’utilisation de linux sur les portables IBM:
- http://www.cs.utexas.edu/users/walter/geek/linux-t40.html : pour l’installation.
- http://nbz.dev.free.fr/blog/index.php?2005/08/08/6-debian-sur-mon-t42 : pour les raccourcis claviers.
- http://sword.chez-alice.fr/freq.html : cpu scaling
Bonjour,
Tout d’abord, merci infiniment pour cette documentation qui m’a beaucoup aidé !
Voici quelques correction à apporter :
/etc/acpi/Fn-F5.sh
-> /etc/acpi/Fn-F5
update-rd.d initperso default
-> update-rc.d initperso defaults
ibm-acp
-> ibm-acpi
Et je crois que j’en ai vu une ou deux autres mais je ne me souviens plus où. De toute façon on déduisait les corrections du contexte donc c’est pas bien grave.
Merci encore,
Kassandre
Merci beaucoup pour ces corrections, elles sont maintenant appliquées dans l’article.