Linux sur un Compal AT 23
Avertissement : ce document ne présente aucun intérêt pour pour les personnes qui :
- ne souhaitent pas utiliser Linux
- et/ou ont une configuration très différente de celle décrite
La configuration matérielle
J'ai acheté la machine (vendue sous la marque XBook) fin novembre 2004 à
GAM-R. J'ai reproduit les spécifications
ici.
Je résume ci-dessous les caractéristiques spécifiques de ma machine.
- Technologie Intel Centrino
- Jeu de composants Intel 855PM (ICH4-M)
- Processeur Pentium M (Dothan), I,7 Ghz, 2 Mo de mémoire cache niveau 2, drapeaux fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2 dit la sortie de la commande cat /proc/cpuinfo
- Mémoire vive 1 Go (2*512 Mo)
- Disque IDE de 60Go à 7200 t/mn
- Wifi intégré (Intel Pro/Wireless 2200) avec antenne débrayable
- Ecran 14 pouces XGA, 1024x768x32
- Clavier 86 touches Azerty 3 touches programmables (que je n'ai pas réussi à utiliser)
- TouchPad ALPS KGDDFT006A
- 1 port parallèle 25 broches avec modes EPP/ECP possibles
- 1 sortie écran externe à la norme video DDC-2B (me permet de projeter avec un vidéo-projecteur).
- Sortie TV 7 broches (non testée)
- 1 port FireWire IEEE 1394 (reconnu, non testé)
- Entrée micro (non testée)
- Sortie casque / hauts parleurs externe
- 1 emplacement Card Bus PCMCIA type 2 ENE Technology CB1410 (reconnu, non testé)
- 1 port WINBOND W83L5A8D pour cartes mémoire 3 en 1 SD/MS/MMC (non testé)
- 1 port infra-rouge (j’ai réussi à le faire fonctionner en mode SIR, pas en mode FIR — voir plus loin)
- 2 prises USB 2.0
- Carte graphique GeFORCE FX de Nvidia
- Carte son Intel 82801DB (ICH4) AC'97
- Modem SmartLink MDC56S-1 sur carte Intel 82801DB (ICH4) AC'97 (norme V92) connecteur RJ11
- Carte FireWire (IEEE 1394): Texas Instruments TSB43AB21 (reconnue, non testée)
- Carte réseau Ethernet: Realtek Ltd. RTL-8139 connecteur RJ45
- Gestion de l'énergie ACPI norme 1.0B
Pour mémoire, voici le résultat de la commande lspci :
00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 21)
00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 21)
00:1d.0 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #3 (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
00:1f.3 SMBus: Intel Corp. 82801DB/DBM (ICH4) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 0324 (rev a1)
02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
02:02.0 Network controller: Intel Corp.: Unknown device 4220 (rev 05)
02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)
La configuration logicielle
J'ai installé une distribution Slackware 11.0 avec des noyaux récents des séries 2.4 et 2.6
vanilla (c'est à dire tels quels, sans parch ou rustine, téléchargés directement de
http://kernel.org) plus un firmware tierce partie (i.e., non inclus dans le code source du noyau) pour la carte WiFi et des utilitaires non fournis avec la distribution pour faire fonctionner le modem. D'autre part j'ai eu quelques difficultés (résolues) pour utiliser la carte son.
Liaison infra-rouge
C'est un demi-succès. J'ai suivi le tutoriel de Jean Tourhiles
http://www.hpl.hp.com/personal/Jean_Tourrilhes/IrDA/IrDA.html et notamment installé irda-utils-0.9.17. Résultats :
- la liaison fonctionne en mode SIR («Slow IR»). Pour cela j'ai configuré la carte IRDA en mode SIR dans le BIOS, avec UART: 16450, Port: 0x03f8, IRQ: 4. Comme l'indique un message de démarrage, le port IRDA est reconnu comme /dev/ttyS0 (alias COM1). J'ai donc dé-commenté la ligne correspondante de /etc/serial.conf et rendu exécutable le fichier /etc/rc.serial (merci à Monsieur Patrick Volkering : même Didier s'y retrouve dans les fichiers de configuration de la distribution Slackware). La commande setserial /dev/ttyS0 confirme ces données : il n'y a plus qu'à taper la commande irattach /dev/ttyS0 -s (qui charge les modules qui vont bien, notamment irtty_sir) et l'infra-rouge fonctionne, ce que confirme un irdadump : il montre mon PDA est détecté. Grâce au protocole OBEX (j'ai téléchargé et installé le paquet openobex sur
http://www.linuxpackages.net/) des paramètres du PDA (vitesse de connexion, notamment) sont même indiqués.
- en mode FIR («Fast IR») je n'a pas réussi. J'ai configuré en module le pilote correspondant à la carte WiFi SMC LPC47N227, soit smsc-ircc2 mais la commande modprobe ssc-ircc2 échoue avec le message :
FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10/kernel/drivers/net/irda/smsc-ircc2.ko): No such device. Avant de déranger Daniele Peri, mainteneur du module smsc_ircc2, je vais quand même vérifier que je n'ai pas fait une bétise (notamment dans la configuration de la carte et sa prise en compte avec la commande setserial). D'ailleurs tout ça c'est histoire de voir ce qui fonctionne car en fait l'infra-rouge pour l'instant je n'en ai pas besoin...
Firmware tierce partie pour la carte Wifi
Heureusement il existe un projet créé par Intel pour fournir un pilote open source pour Linux — ainsi que le firmware associé permettant de faire fonctionner la carte Intel PRO/Wireless 2200BG. Voir la page
http://ipw2200.sourceforge.net/
Ce pilote est inclus dans les noyaux 2.6 récents. Il suffit d'installer le firmware à la bonne version. La version du pilote incluse dans les sources est indiquée dans le fichier [rep]/Documentation/networking/README.ipw2200, [rep] étant le répertoire des sources du noyau.
Pour l'avoir directement vous pouvez utiliser l'une des commandes suivantes (n'oubliez pas que sauf avec l'option -i, grep est sensible à la casse)
grep Version: [rep]/Documentation/networking/README.ipw2200
grep Version: `locate README.ipw2200` #après un updatedb.
Attention, les caractères autour de locate ipw2200.c s'obtiennent en appuyant simultanément sur les touches AltGr et 7
Ou encore :
locate README.ipw2200|xargs grep Version: #après un updatedb
La carte WiFi fonctionne avec le module ipw2200. Une application de KDE (kwifimanager) permet de configuer la connexion, détecte les réseaux à proximité et évalue le débit. Autre application le permettant : wlassistant. Ces deux applicatiosn sont notamment des interfaces graphiques de la commande iwconfig... Mais la configuration «par défaut» du pilote est souvent suffisante.
A titre d'exemple, voici un petit script pour lancer une connexion wifi à ma Freebox :
#! /bin/bash
ifconfig eth1 up && iwconfig eth1 essid [identifiant_réseau_de_la-freebox] channel [numéro_du_canal] enc [mon_code_wep] && dhcpcd eth1
L'interface associé à la carte wifi est ici eth1 (vous auriez deviné ?).
A l'extérieur c'est encore plus simple, il suffit souvent de faire (comme root, bien sûr) ifconfig eth1 puis dhcpcd eth1 (par exemple pour se relier
aux spots wifi non protégés par un clef wep ni wpa)
Modem SmartLink sur carte Intel AC'97
Pour le faire fonctionner (ce qui ne m'est plus arrivé depuis bien longtemps) j'utilise le pilote slmodem version 2.9.10 fourni par le fabriquant Smart Link, racheté depuis par Conexant.
Il faut aussi un pilote pour la carte contrôleur Intel, heureusement fourni avec les noyaux 2.6 récents parmi les pilotes ALSA. Je l'ai configuré comme module (snd-intel8x0m) ; voir les informations contenues dans le fichier README de l'archive slmodem-2.9.10.
J'utilise l'application wvdial pour me connecter, voir
http://open.nit.ca/wiki/index.php?page=WvDial mais vous pouvez utiliser kppp ou autre.
Voici ma procédure pour utiliser le modem :
1. (pour mémoire, le module snd-intel8x0m est chargé au démarrage)
2. Taper la commande slmodemd --alsa hw:1
Comme j'utilise udev, cela crée le fichier /dev/ttySL0 qui représente le modem.
Notes sur la commande :
a) --alsa pour indiquer que j'utilise le module associé au système de gestion du son ALSA
b) hw:1 si le modem est reconnu après la carte son par le noyau, sinon hw:1)
3. Taper la commande wvdial
Faire fonctionner la carte son
Rien de bien compliqué en fait ; j'utilise le système ALSA, notamment le module snd-intel8x0 chargé au démarrage.
Même remarque : selon que la carte son est reconnue avant ou après la carte modem, on tapera respectivement :
alsamixer -c 0
ou
alsamixer -c 1
Remarque : cela peut changer, essayez.
Rappel : pour autoriser un utilisateur lambda à accéder au système de sons, taper la commande usermod -G audio lambda
En effet, sur la Slackware les fichiers contenus dans /dev/snd et /dev/sound appartiennent au groupe audio
Connexion à Internet
Pour me connecter (enfin, le portable, excusez la métonymie) j'utilise :
- au bureau, une Freebox V5 reliée indifférement par une prise USB ou par la carte réseau (prise RJ45) ou par wifi (voir plus haut)
- en déplacement, autrefois le modem interne avec sa prise RJ11, maintenant le plus souvent la carte wifi, quelquefois les courants porteurs en ligne (boitier fourni par l'hôtel qui se raccorde d'un côté à une prise de courant de l'autre comporte un câble éthernet avec une prise RJ45)
Pour toutes précisions, commentez cette page (cliquez sur le lien Montrer les commentaires tout en bas).
DidierSpaier