Debian GNU/Linux sur un Acer Extensa 4102

Cet article décrit l'installation de la distribution Debian sur un ordinateur portable Acer Extensa 4102WMLI  

0.    Introduction

    J'ai choisi d'installer Debian Sid sur mon portable. Pourquoi ? Parce que d'après ce que j'ai pu lire, Debian est une des seules distros 100% libre (la seule ?) et que je suis tombé sur un guide super. D'avance merci aux auteurs (Alexis de Lattre, Rémy Garrigue, Tanguy Ortolo, Brian Fraval, Loïc Alsfasser).

1.    Récupérer l'image du CD

    En suivant le guide, il m'a semblé que la méthode net install est la plus propre. Un minimum de paquets, et on installe juste ce dont on a besoin. Il faut donc télécharger une image "minimale" (140 Mo environ) qui nous permettra d'installer un système de base. Pour cela, rendez-vous sur le site de debian.

    La version 3 du debian installer marche a merveille sur le Acer. L'installation se passe sans problème: pas d'options particulières à passer au boot.

    A noter au passage. Ayant été confronté à la panne de mon lecteur DVD, j'ai été amené à faire fonctionner le Network Boot sur mon laptop. Ca marche du tonnere et c'est un méthode beaucoup plus élégante que la gravure de CD, selon moi.

2.    Upgrade vers Sid

    Si tout s'est bien passé jusqu'à maintenant, vous avez un système de base...Etch. il s'agit de la version testing de debian. Vous pouvez la garder mais sachez que certaines choses seront alors a modifier par la suite (comme la version du firmware pour la carte WiFi). J'ai choisi Sid (aka unstable) pour avoir les dernières version des paquets.

# nano /etc/apt/souces.list

    Dans ce fichier modifiez la cible des dépots: etch->sid. Idem pour les dépots de securité.

# apt-get update
# apt-get dist-upgrade
 

    Voilà, après un reboot vous avez un nouveau noyeau (numero impair = instable).

3.    Le matériel

# lspci
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)

00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)
00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 04)
00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE)
06:01.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
06:01.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
06:01.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
06:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
06:08.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03)

    Ce qui veux dire en français :) :

  • Processeur Intel Pentium M 1.73GHz
  • Carte son intégrée ICH6
  • Modem intégré ICH6
  • Carte vidéo ATI Radeon Mobility X700 (128 MB)
  • Ecran 15,4" Crystal (1280x800) 
  • Lecteur de cartes mémoires 4 en 1 Texas Instrument
  • 1 port Firewire, 3 ports USB 2.0
  • Carte WiFi Intel PRO/Wireless 2200BG
  • Carte Ethernet Broadcom NetXtreme Gigabit

4.    Le matériel qui pose problème

    Tout d'abord, ce qu'il faut souligner c'est la facilité avec laquelle tout se déroule jusqu'à present. Une des premières choses que vous souhaiterez faire, c'est activer le WiFi (ben oui, le cable ça va bien pendant l'install mais ensuite retour à la liberté).

    4.1    Carte WiFi Intel PRO/Wireless 2200BG

    Cette carte ne pose pas vraiment de problèmes grâce au projet ipw2200. Le driver ipw2200 est déjà intégré au noyeau, inutile de le télécharger. En revanche, il vous faut le firmware (partie non libre du driver qui, par conséquent ne peut être intégré a debian) correspondant à la version des drivers.

    Sur Sid (le 29/08/2006), j'ai les drivers v1.1.1. J'ai donc téléchargé le firmware v3.0 et copié tous les fichiers .fw contenus dans l'archive vers le répertoire /lib/firmware . Pour connaître la version des drivers executez: # modinfo ipw2200|grep version.
# tar xvzf ipw2200-fw-3.0.tgz
# cd ipw2200-fw-3.0
# cp *.fw /lib/firmware/.

     Une fois que le firmware est installé, vous pouvez installer le package wireless-tools. Un petit iwconfig vous dira si tout vas bien.

# modprobe -r ipw2200
# modprobe ipw2200

# apt-get install wireless-tools
# iwconfig

    Voilà, ensuite il ne reste plus qu'a configurer la connexion comme n'importe quelle autre dans /etc/network/interface. Pas besoin d'ajouter de ligne dans /etc/modules pour charger ipw2200, il est déjà chargé au démarrage.

    4.2    Carte graphique ATI Radeon Mobility X700

    Encore un matériel à problème avec des drivers...non libres. Enfin, il est possible d'utiliser la carte avec le pilote ati de Xorg, mais dans ce cas point de 3D. Pour pouvoir profiter de l'accelaration matérielle de la carte il y a deux solutions:

  • installer les drivers libres: il s'agit des packages fglrx-driver fglrx-kernel-src et fglrx-control. J'ai lu plusieurs tutoriaux qui expliquaient comment proceder avec module assistant, mais je n'ai jamais obtenu de résultat. J'ai donc opté pour la solution n°2, certes moins linuxiène et encore moins debianène, 
  • installer les drivers propriétaires ATI. Pour cela, il faut commencer par aller les telecharger. Ensuite il suffit d'executer le fichier .run et de suivre les instructions. 
    # ./ati-driver-installer-8.28.8.run

     A la fin il vous demande si vous voulez modifier le fichier xorg.conf: choisissez oui ou non mais de toute facon vérifiez que le driver dans la section Device est bien fglrx (et non ati), comme dans l'exemple ci dessous:
Section "Device"
    Identifier  "X700"
    Driver      "fglrx"
    BusID       "PCI:1:0:0"

    Voilà, après un reboot tout doit fonctionner. Par contre pour la 3D, c'est pas encore ca.  Vous ne devriez PAS avoir ca:

# fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON X700 Generic
OpenGL version string: 2.0.5946 (8.27.10)

    Si c'est le cas, c'est gagné donc ne touchez a rien. Si comme moi au début vous avez Mesa (ou Nulll), c'est que l'acceleration 3D ne marche pas encore....Grace à cet excellent wiki, j'ai trouvé la solution.

# mkdir -p /usr/X11R6/lib/modules/dri
# ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri
 

    Et voilà! Pour plus de détails, mon fichier xorg.conf.

    4.3    Speedstep: CPU Frequency scaling

    Derrière ce nom compliqué se cache une fonction très utile des processeurs d'orinateurs portable. Réduire leur fréquence de fonctionement pour consommer moins d'énergie.

    Après plusieures lectures, je me suis rendu compte qu'il y avait deux méthodes générales pour gérer tout ça. Soit charger les "bons" modules et avoir un demon qui controle la frequence du processeur (en userspace donc), ou alors tout gérer en direct du kernel en insérant uniquement des modules. Pour avoir tester les 2, je trouve la solution n°2 plus prompt a modifier la frequence ("on demand").

    Donc pour activer toutes ces fonctions, voici comment proceder.

  • on insère les modules dans le noyeau et on crée un script qui met le mode frequency scaling à "on demand" automatiquement
    # modprobe freq_table speedstep-centrino cpufreq_ondemand cpufreq_powersave
    # echo echo ondemand \> /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor > /etc/init.d/freq-scaling.sh
    # sudo chmod +x /etc/init.d/freq-scaling.sh
    # ln -s /etc/init.d/freq-scaling.sh /etc/rc2.d/S30freq-scaling
  • on lance le script
    # /etc/init.d/freq-scaling.sh 
  • on automatise le lancement des modules au démarrage
    # nano /etc/modules
    Ajouter les lignes suivantes à la fin du fichier
    freq_table
    speedstep-centrino
    cpufreq_ondemand
    cpufreq_powersave

    4.4    Hotkeys: Touches de fonction

    Presque toutes les touches fonctionnent ! Pour gerer tout ca un module, un demon et un script ! Pas moins.

        4.4.1    Le module: acerhk

    La communauté doit à Olaf Tauber le module magique acerhk qui permet de faire fonctionner les touches de focntion de nos portables Acer et plein d'autres. Téléchargez le module. Dezippe.  Make et make install. Et voilà. Il suffit d'automatiser le chargement du module en l'ajoutant en bas de /etc/modules (comme pour le frequency scaling). Il faut egalement creer un fichier /etc/modprobe.d/fnkey et ajouter les deux lignes suivantes:
options acerhk force_series=4100
options ipw2200 led=1

    La premiere ligne sert a bien detecter le portable. La seconde sert à activer le support de la LED WiFi par le pilote ipw2200. En effet, editez les fichiers /etc/network/if-pre-up.d/wireless-tools et /etc/network/if-post-down.d/wireless-tools. Ajoutez la ligne 
echo 1 > /proc/driver/acerhk/wirelessled dans le premier et 
echo 0 > /proc/driver/acerhk/wirelessled dans le second.

    Cela permet d'allumer la LED WiFi quand la carte est "on" et de l'eteindre quand elle est "off".

            4.4.2    Le demon: hotkeys

    Installez hotkeys:
# apt-get install hotkeys

    Pour ce qui est de la configuration, je vous laisse apprecier mon fichier hotkeys.conf (à mettre dans /etc/). Il faut aussi copier ce fichier de definition des touches dans le repertoire /usr/share/hotkeys/

            4.4.3    Le script: definition des keycodes 

    Finalement, pour rendre le tout utilisable, il faut définir les keycode correspondant aux touches. Pour cela pas de panique, un petit script à éxécuter une seule fois fait le boulot. 

5.    Conclusion

    Finalement, il n'y a plus tellement de problemes...a part un peu au niveau gestion de l'énergie. J'entends par la que je n'arrive pas a desactiver le pcmcia "à chaud", ni le firewire. Autrement regardez l'output de aticonfig -h car il y a des options interessantes. J'ai pu me faire un script de selection du voltage/frequence de la carte graphique. L'autonomie en l'état actuel est de 2h30, à comparer au 3h30-4h que j'obtenais sous Windows...y a encore du travail!

Linux On LaptopsTuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones    N'oubliez pas d'écrire un petit rapport sur votre install (ou maillez moi pour que j'update celui la), et allez vous inscrire    

6.    ToDo

  • Mettre à jour xorg.conf pour gérer la sortie VGA (il faut que je trouve de quoi tester)
  • Gérer l'hibernation, softsuspend (certains ont l'air de faire marcher softsuspend2 trop bien, d'autres ont l'air d'avoir abandonné....)
  • FnF5 à tester (pas testé, à voir avec la sortie VGA, mais d'après ce que j'ai pu lire ça ne marche pas)
  • [Fonctionne] Lecteur 4 en 1 à tester (à priori ce n'est pas supporté, mais je n'ai pas essayé)
  • Firewire à tester (à priori ça ne pose aucun problème) 

7.    Autres infos

    7.1    fglrx et Xorg composite

    je voulais avoir de la vrai transparence sous X. Pas de chance pour les possesseurs de carte ATI, mais pour le moment, drivers 8.28.08 inclu, l'activation de l'extension Composite provoque la perte de l'acceleration 3D.... La solution semble apportée par les drivers libres, mais comme je n'arrive pas a les installer.....(d'ailleur si vous avez une solution sur ce probleme la, email me!)

    7.2   Une petite LED sympa 

    Essayer la commande suivante:
# echo 1 > /proc/drivers/acerhk/led

    Regardez bien votre clavier...la touche email s'est éclairée ! Personellement, je n'avais remarqué l'existance de cette led avant... Installez mail-notifier et vous configurez echo 1 qd des mail arrivent, echo qd yen a plus et le tour est joué.

    7.3 Le lecteur de carte 4 en 1

    Il  marche parfaitement après avoir ajouté les modules  tifm_sd et mmc_core dans /etc/modules !

    7.4 Ubuntu

    J'ai testé Ubuntu sur mon Acer. Dapper et Feisty s'installent sans problème. On peut utiliser les mêmes astuces décrites sur cette page pour régler les dernier problèmes.