La configuration avec laquelle je m'apprête à batailler ferme est la suivante :

  • Processeur Intel Core2 Duo T7700 à 2.4GHz
  • 4Go DDR2 SDRAM
  • Carte graphique Intel GMA X3100
  • Écran 14,1 pouces, WXGA+ 1440x900
  • Disque SATA 160Go
  • WiFi Intel PRO/Wireless 3945ABG
  • Dongle Bluetooth intégré
  • Carte 3G/HSDPA intégrée
  • DVD+/- RW
  • Alim. de voyage et batteries supplémentaires

Et comme on ne peut ni l'avoir sous Linux, ni sans système d'exploitation, le tout arrive avec un Windows Vista Family pré-installé qui ne verra jamais le jour. Et oui, même sans utiliser Windows, je sponsorise Billou. Dur.

Je m'arme donc d'un CD Net-install Debian et démarre l'engin. Et ça passe comme une lettre à la poste. Le disque est reconnu sans problème, ce qui me permet de le partitionner et, armé de l'indispensable adaptateur IDE vers USB(2), je transfère l'intégralité de mon système existant vers le nouveau. Ça, c'est la partie facile. Maintenant, il faut booter la nouvelle machine, et ça ne risque pas de partir avec un noyau prévu pour mon vieux Dell D600.

Seconde partie. Sur mon vieux système, je recompile donc un noyau en ajoutant au moins le SATA et la carte réseau, pour booter au moins en single. Le reste, j'en ferai mon affaire après. La carte réseau, c'est une Broadcom NetXtreme, ça se gère avec le driver Tigon3.

Device Drivers  --->
    Network device support  --->
        Ethernet (1000 Mbit)  --->
             <*>   Broadcom Tigon3 support

Pour le SATA, c'est un contrôleur Intel compatible AHCI.

Device Drivers  --->
    Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>   AHCI SATA support
        <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

Seulement, ça ne suffit pas complètement. Car les périphériques SATA sont alors vu comme des périphériques SCSI. Il faut donc activer le support SCSI et surtout les disques.

Device Drivers  --->
    SCSI device support  --->
        <*> SCSI disk support

Le graveur de DVD que j'ai avec moi n'est pas celui d'origine que j'ai laissé derrière moi. C'est celui du D600. Toujours est-il qu'il n'apparaît pas. Il faut en effet conserver le support ATA pour qu'il soit détecté.

Device Drivers  --->
    ATA/ATAPI/MFM/RLL support  --->
        <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
        <*>     Include IDE/ATAPI CDROM support

Maintenant, le laptop boote sans aucun problème. Évidemment X ne part pas, vu que la configuration est faite pour un Radeon. Corriger le tir ne prend que quelques minutes dans la mesure où Intel fournit un driver libre pour ce type de cartes. Il faut d'abord ajouter au noyau le bon support AGP et DRM.

Device Drivers  --->
    Character devices  --->
        <M> /dev/agpgart (AGP Support)
        <M>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support
        <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI
                support)
        <M>   Intel 830M, 845G, 852GM, 855GM, 865G
        <M>     i915 driver

Ensuite, installer le bon driver pour Xorg et le configurer. L'installation se règle en un coup de cuillère à pot :

apt-get install xserver-xorg-video-intel

La configuration de Xorg prend encore moins de temps, en mettant la résolution à 1440x900 et en remplaçant la section Device.

Section "Device"
    Identifier        "Intel0"
    VendorName        "Intel"
    BoardName         "Intel Graphics Media Accelerator X3100"
    Driver            "intel"
    Screen            0
EndSection

Et X démarre sans problème, 3D accélérée comprise. Je peux même relancer Ennemy Territory en pleine résolution. Gni :/

Étape suivante, le WiFi avec le carte Intel 3945 qui, contrairement à son nom, ne date pas de la dernière guerre comme certains pourraient être tentés de le penser. Là encore, ça n'a pas posé de problème. J'ai commencé par recompiler un 2.6.23.1 tout frais. Ensuite, j'ai suivi le guide. Il faut d'abord remplacer la stack 802.11 générique (ieee80211) par une version plus récente, la 1.2.18 en l'occurence. Celle fournie avec le noyau ne fera pas l'affaire. Quand vous allez lancer le make, il va se plaindre que des modules existent déjà. Pas grave, il faut justement les écraser. Ensuite, on compile le driver ipw3945. Là encore, le make devrait vous signaler un problème de version entre la stack 802.11 du noyau et celle disponible en module. Comme précédemment, vous passez outre, c'est normal. Dernières étapes, installer le firmware dans /lib/firmware et le regulatory daemon.

apt-get install ipw3945d

Ce dernier sert à contrôler l'utilisation de la carte WiFi en adéquation avec les réglementations locales. C'est à priori la voie qui devrait être prise sous Linux pour s'accomoder de ces contraintes. Cela devrait permettre de se passer de HAL contraignantes. Forcément, ces démons étant libres, il ne devrait pas être compliqué de les contourner pour exploiter au mieux le matériel, mais je ne crois pas que le but soit d'empêcher l'utilisateur de le faire à tout prix.

À partir de là, la carte WiFi fonctionne comme un charme. Elle s'appelle eth1 et répond aux wireless extensions du noyau. L'appel à wpa_supplicant se fait donc comme suit :

/usr/local/sbin/wpa_supplicant -Dwext -ieth1
        -c/etc/wpa/wpa_supplicant.conf

À noter : la LED WiFi en façade n'indique pas la disponibilité de l'interface, mais son état d'association. Éteinte, elle n'est pas associée. Elle clignote en cours de négociation et reste allumée quand elle est associée. Du côté des autres périphériques sans-fil, le dongle Bluetooth est connecté via le bus USB. Comme l'immense majorité des dongle USB, il est supporté sous Linux. La carte 3G est également reconnue. Par contre, je n'arrive pas à faire passer ma SIM dessus. Il s'agit pourtant un bon opérateur...

ATZ
OK
AT+CPIN=0000
ERROR

Un PIN erroné devrait me retourner un +CME ERROR: incorrect password, pas un ERROR. Si ça se trouve, c'est la carte qui n'arrive pas à lire ma SIM... Mais comme je n'ai pas envie de détruire le forfait en roaming data, je vais remettre ces investigations à plus tard.

Sinon, pour le reste, le support de la carte son est pour le moins spartiate et très instable, limite inutilisable. Il s'agit d'un chipset intégré ICH8 et le driver snd-hda-intel fourni avec le noyau ne semble pas être à jour. Je suis donc passé par l'installation d'un snapshot ALSA plus récent. Et ça marche plutôt bien jusque là.

Sinon, je n'ai pas testé la gravure, mais je ne vois pas pourquoi ça devrait poser un problème. Le port PCMCIA fonctionne sans problème, le FireWire est reconnu, mais pas testé non plus. Reste encore à voir le lecteur d'empreintes digitales (pour le fun) et le lecteur de carte à puces. Je dois aussi trouver le temps de jouer avec xrandr pour le support des écrans externes, en multihead ou en mirroir, selon le besoin.

Quand j'en aurai fini avec lui, j'essayerai de trouver le temps de faire une page sur l'installation complète avec les fichiers de configuration, quelques scripts et tout et tout.

De manière générale, par rapport au D600, on notera la disparition du port parallèle et de la sortie vidéo, l'ajout de deux ports USB et d'un port FireWire. Les jacks audio sont beaucoup plus accessibles, surtout pour brancher un doubleur. J'aime bien l'interrupteur wireless qui peut piloter, selon comment on le configure dans le BIOS, la carte WiFi, le dongle Bluetooth, la carte 3G, une combinaison de deux sur trois ou les trois. En plus, il dispose d'une fonction de recherche d'AP qui fonctionne sans allumer le laptop. Pas mal. La batterie neuf cellules dépassent, mais ça fait un repose-mains sympa. Enfin, Dell semblerait avoir réussi à concevoir des alimentations correctes. L'adaptateur secteur de voyage fait en effet la taille d'un disque portable 2,5 pouces et est livré avec toute une série de câbles et de rallonges assez pratiques. En particulier, la prise secteur est plate, avec un connecteur standard plat en 8[1] à la place de la connectique Dell à la con. Enfin une alim digne de ce nom !


Sinon, je suis arrivé à Jakarta en temps et en heure, malgré la grève des personnels de cabine Air France. Demain commence la conférence durant laquelle je vais faire deux présentations. La première, pas technique et assez générale, sur la sécurité des systèmes informatiques à bord des avions, à savoir comment on gère la règlementation et l'environnement, et la seconde, un tout petit peu plus technique, mais pas trop, sur les accès authentifiés au réseau, grosso modo un retour d'expérience et quelques réflexions sur tout ce qui tourne autour 802.1x.

Notes

[1] Le nom exact m'échappe... C'est un IEC C7 ;)