Howto Packard Bell EasyNote MB86

De Howto
Aller à la navigation Aller à la recherche

Ce HowTo a pour but de documenter l'installation de GNU/Linux sur le portable PackardBell Easynote MB86. Ce pc peux être utilisé relativement facilement sous GNU/Linux. Comme j'utilise Gentoo, je donnerai des conseils se rapportant exclusivement à cette distribution. Il est possible que je commette quelques erreurs. Je vous remercie par avance de me les signaler. Enfin, si vous avez réussi à faire fonctionner quelque chose dont je ne suis pas venu à bout, faites le moi savoir. Je complèterai le howto et cela profitera ainsi à tout le monde.

Organisation du document

Dans la suite de ce document, vous trouverez des indications concernant la configuration du noyau. La dernière version disponible est la version 2.6.34.1. Je vous conseille donc de l'utiliser. Pour la liste des nouveautés, voyez l'annonce de LinuxFR.

Si vous ne savez pas comment compiler un noyau, vous pouvez lire l'article disponible sur le site Léa. Si vous êtes perdus dans la configuration du noyau, vous pouvez utiliser mon fichier de configuration disponible dans la section téléchargement. Lorsque je décris les options de configuration du noyau, * signifie que l'option doit être compilée dans le noyau, M indique que l'option peut être compilée en module ou dans le noyau (mais de préférence en module).

Disque dur (SATA)

Le disque du présent dans ce portable est un disque SATA fonctionnant grâce au pilote AHCI. Il est donc nécessaire de sélectionner les options suivantes dans la configuration du noyau:

   * Device drivers
   * SCSI device support --> SCSI disk support (*)
   * Serial ATA (prod) and Parallel ATA (experimental) drivers (*)
   * --> AHCI SATA support (*)

Lecteur/graveur CD/DVD

Le graveur fonctionne parfaitement. Les options suivantes sont nécessaires dans la configuration du noyau:

   * Device Drivers
   * SCSI device support --> SCSI CDROM support (M)
   * Serial ATA (prod) and Parallel ATA (experimental) drivers (*)
   * --> ATA SFF support (*)
   * --> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (M)

Touchpad

Le Touchpad fonctionne sans problème. Il suffit de sélectionner les options suivantes dans la configuration du noyau:

   * Device drivers --> Input device support
   * Provide legacy /dev/psaux device (*)
   * Event interface (M)
   * Mice (*) --> PS/2 Mouse (M)

Dans Gentoo, veillez à sélectionner les options suivante lors de l'installation d'Xorg dans le fichier /etc/make.conf:

INPUT_DEVICES="mouse evdev ..."

Modifiez ensuite votre fichier /etc/X11/xorg.conf comme ceci:

 Section "InputDevice"
   Driver        "mouse"
   Identifier    "TouchPad"
   Option        "Device"        "/dev/psaux"
   Option        "Protocol"      "Auto"
 EndSection
 
 Section "ServerLayout"
    ...
    InputDevice "TouchPad" "CorePointer"
    ...
 EndSection

Carte graphique

La carte graphique fonctionne avec avec un pilote propriétaire fourni par NVIDIA. La dernière disponible via portage dans Gentoo est la version 195.36.31. Vous pouvez l'installer en même tant que le serveur Xorg en modifiant la variable VIDEO_CARDS dans le fichier /etc/make.conf comme suit:

VIDEO_CARDS="nvidia"

Vous devez aussi ajouter la ligne suivante au fichier /etc/portage/package.keywords/monolithic car cette version est encore masquée:

x11-drivers/nvidia-drivers ~amd64

Si vous avez déja installé Xorg, il suffit simplement d'installer le paquet nvidia-drivers. Sinon, ce paquet s'installera en même temps qu'Xorg (en installant le paquet xorg-server). Vous devez ensuite modifier votre fichier /etc/X11/xorg.conf en y ajoutant une section Device contenant les lignes suivantes:

 Section "Device"
         Identifier "nVidia Inc. GeForce2"
         Driver     "nvidia"
         VendorName "NVIDIA Corporation"
         BoardName  "GeForce 8600M GS"
         Option     "NoLogo" "true"
         Option     "RenderAccel" "true"
         Option     "AddARGBGLXVisuals" "true" #Nécessaire pour Compiz
         Option     "DepthBits" "24"
 EndSection

Vous devez éventuellement modifier la section Modules de ce même fichier comme suit:

 Section "Module"
 	Load  "dbe"     # Double buffer extension
       Load  "vbe"
       Load "extmod"
       Load "glx"
       ...
 EndSection

Enfin, pour utiliser Compiz, il est nécessaire d'y ajouter les lignes suivantes:

 Section "ServerFlags"
       Option     "AIGLX" "true"
 EndSection
 Section "Extensions"
   Option "Composite" "Enable"
 EndSection

Vous pouvez vérifier que l'accélération matérielle fonctionne correctement avec les commandes suivantes:

$ glxinfo | grep OpenGL et

$ glxinfo | grep rendering

Ceci doit produire les résultats suivants:

 OpenGL vendor string: NVIDIA Corporation
 OpenGL renderer string: GeForce 8600M GS/PCI/SSE2
 OpenGL version string: 3.2.0 NVIDIA 195.36.31
 OpenGL shading language version string: 1.50 NVIDIA via Cg compiler
 
 direct rendering: Yes

Ecran, sortie HDMI

L'écran ne vous posera aucun problème. Voici la partie de mon fichier xorg.conf concernant l'écran:

 Section "Screen"
        Identifier "Screen1"
        Device     "nVidia Inc. GeForce2"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x800"
        EndSubSection
 EndSection
 Section "Monitor"
    Identifier  "Monitor0"
    HorizSync   31.5 - 37.9
    VertRefresh 50 - 70
    Option "DPMS"
 EndSection

Il est possible d'utiliser la sortie HDMI en modifiant la section screen du fichier /etc/X11/xorg.conf comme suit:

 Section "Screen"
    Identifier "Screen1"
    Device     "nVidia Inc. GeForce2"
    Monitor    "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-0: 1280x800 +0+0, DFP-2: 1360x768_60 +0+0"
 EndSection

La résolution du moniteur externe (1360x768 dans l'exemple ci-dessus) doit éventuellement être adaptée à vos besoins. Vous pouvez aussi utiliser l'instruction nvidia-auto-select pour sélectionner automatiquement la résolution la plus appropriée.

Carte son

La carte son fonctionne avec le pilote ALSA hda-intel. Voici les options du noyau à sélectionner:

   * Device Drivers --> Sound card support (M)
     * Advanced Linux Sound Architecture -->
     * Advanced Linux Sound Architecture (M)
     * Sequencer support (M)
     * OSS Mixer API (*)
     * OSS PCM (digital audio) API (M)
     * OSS PCM (digital audio) API - Include plugin system (*)
     * OSS Sequencer API (M)
     * PCI sound devices --> Intel HD Audio (M)
     * --> Build Conexant HD-audio codec support (*)

Ensuite, il faut créer un fichier de configuration des modules à placer dans le dossier /etc/modprobe.d et contenant les lignes suivantes:

 # ALSA portion
 alias char-major-116 snd
 alias char-major-14 soundcore
 alias snd-card-0 snd-hda-intel
 # OSS/Free portion - card #1
 alias sound-service-0-0 snd-mixer-oss
 alias sound-service-0-1 snd-seq-oss
 alias sound-service-0-3 snd-pcm-oss
 alias sound-service-0-8 snd-seq-oss
 alias sound-service-0-12 snd-pcm-oss
 alias /dev/mixer snd-mixer-oss
 alias /dev/dsp snd-pcm-oss
 alias /dev/midi snd-seq-oss
 # Set this to the correct number of cards.
 options snd cards_limit=1

Pour pouvoir écouter plus d'un son en même temps, il faut utiliser le plugin dmix et créer un fichier /etc/asoundrc.conf:

 # ~/.asoundrc
 pcm.ossmix {
   type dmix
   ipc_key 1024          
   ipc_perm 0660         
   slave {
       pcm "hw:0,0"     
       period_time 0
       period_size 1024
       buffer_size 4096  
       format "S32_LE"
       periods 128     
       rate 44100        
                         
   }
 }
 pcm.dsp0 {
   type plug
   slave.pcm "ossmix"     
}
 # mixer0 like above
 ctl.mixer0 {
   type hw
   card 0
 }

Pour pouvoir réellement bénéficier de cette possibilité, il faut parfois reconfigurer les applications en veillant à ce qu'elles utilisent effectivement ALSA comme sortie audio.

Webcam

La webcam intégrée au PC fonctionne grâce au pilote uvcvideo. Ce pilote est dorénavant intégré au noyau.

Ce pilote nécessite de sélectionner les options suivantes lors de la configuration du noyau:

   * Device Drivers --> Multimedia support
   * --> Cameras/video grabbers support (*)
   * --> Media USB Adapters (*)
   * --> USB Video Class (UVC) (M)

Le module uvcvideo est en principe automatiquement chargé par udev lors du démarrage. Vous pouvez vérifier que la webcam fonctionne dans Kopete dans l'onglet périphériques du menu de configuration.

Carte réseau

La carte réseau fonctionne grâce au pilote sky2. Les options du noyau à sélectionner sont les suivantes:

   * Device Drivers --> Network device support
   * Ethernet (1000Mbit) --> SysKonnect Yukon2 support (M)

Carte WIFI

La carte Wifi (modèle Intel©Wireless WiFi Link 4965AGN) fonctionne avec le pilote iwl4965. Ce pilote est intégré au noyau depuis la version 2.6.24. Voici les options qu'il est nécessaire de sélectionner:

   * Networking support
     * --> Networking options --> Packet Socket (M)
     * --> Wireless
     *    --> cfg80211 - wireless configuration API (M)
     *    --> cfg80211 wireless extensions compatibility (*)
     *    --> Wireless extensions sysfs files (*)
     *    --> Common routines for IEEE802.11 drivers (M)
     *    --> Generic IEEE 802.11 Networking Stack (mac80211) (M)
   * Device drivers 
       --> Network device support --> Wireless LAN
       --> Wireless LAN (*)
       --> Intel Wireless Wifi (M)
       --> Intel Wireless WiFi Next Gen AGN (iwlagn) (M)
       --> Intel Wireless WiFi 4965AGN (*)

Ce pilote nécessite un firmware disponible sur le site Intel's wireless projects for Linux. Si vous utilisez Gentoo, il est possible d'utiliser l'ebuild fourni dans Portage (iwl4965-ucode).

Bluetooth

Il est possible d'utiliser le Bluetooth sur ce PC en activant les options suivantes dans la configuration du noyau:

   * Networking Bluetooth subsystem support (M)
   * --> L2CAP protocol support (M)
   * --> SCO links support (M)
   * --> RFCOMM protocol support (M)
   *   --> RFCOMM TTY support (*)
   * --> BNEP protocol support (M)
   * --> Multicast filter support (*)
   * --> Protocol filter support (*)
   * --> Bluetooth device drivers 
      --> HCI USB driver (M)

Il est également nécessaire d'installer les utilitaires bluez. Pour pouvoir transférer des fichiers avec un périphérique Bluetooth, il est nécessaire d'installer obexftp. Il existe également des interfaces graphiques (kdebluetooth notamment). Vous trouverez plus de renseignement sur l'utilisation du bluetooth avec Gentoo dans ce Guide.

Pour pouvoir se connecter à Internet via un téléphone compatible avec le GPRS, il est nécessaire d'activer les options suivantes dans la configuration du noyau:

   * Device drivers --> Network device support --> PPP (point-to-point protocol) support (M)
   * --> PPP filtering (*)
   * --> PPP support for async serial ports (M)
   * --> PPP support for sync tty ports (M)
   * --> PPP Deflate compression (M)
   * --> PPP BSD-Compress compression (M)

Il est aussi nécessaire d'installer les utilitaires ppp et d'ajouter cette ligne au fichier /etc/ppp/options:

 privgroup dialout

Les utilisateurs membres des groupes uucp et dialout sont alors autorisés à établir une connection Internet via Bluetooth. La configuration d'une connection via kppp est expliquée sur cette page.

TuxOnIce

Le Software Suspend permet de mettre l'ordinateur en veille et de l'arrêter en enregistrant dans la partition de swap ou dans un fichier l'état de la mémoire vive. Ainsi, lorsque l'on redémarre, on retrouve le système dans l'état dans lequel on l'a laissé avant la mise en veille. Il s'agit en quelque sorte d'un équivalent de la mise en veille prolongée de Windows. Il existe une telle fonctionnalité intégrée au noyau mais j'ai choisi ici d'expliquer le fonctionnement de TuxOnIce. Afin de pouvoir l'utiliser, il faut récupérer la version 3.1.1.1. Celle-ci est considérée comme une version de développement mais elle semble fonctionner correctement. Ensuite, appliquez ce patch comme ceci:

   $ cd /usr/src/<répertoire contenant les sources du noyau>
   $ bzcat .../tuxonice-3.1.1.1-for-2.6.34.patch.bz2 | patch -p1

Il faut ensuite configurer le noyau pour activer TuxOnIce. Pour cela, il faut cocher les options suivantes:

   * Power management options (ACPI, APM) --> Power Management support (*)
   * --> Hibernation (aka 'suspend to disk') (*)
   * --> Enhanced Hibernation (TuxOnIce) (*)
   * Une des deux options suivantes dans la sous-rubrique Image Storage:
   * --> File allocator
   * --> Swap allocator
   * --> Compression support (*)
   * --> Userspace User Interface support (*)
   * --> Replace swsusp by default (*)
   *Une des deux options suivantes: 
   * Cryptographic options
   --> LZO compression algorithm (*)
   --> LZF compression algorithm (*)

Si vous avez choisi le swap allocator, il faut ajouter resume=dev/sdax comme paramètre du noyau dans votre chargeur de démarrage (où sdax doit être remplacé par l'emplacement de la partition de swap). Il est conseillé de fixer une taille de swap supérieure de 30% à celle de la mémoire vive. L'option file allocator permet de stocker l'image dans un fichier. Des informations à ce sujet se trouve dans la documentation du noyau (voir fichier Documentation/power/tuxonice.txt.

Recompilez alors le noyau et installez-le. Si le nouveau noyau ne pose pas de problèmes, on peut alors installer le script qui va déclencher la mise en veille. Il faut télécharger la version 2.0. Les instructions d'installation sont disponibles sur le Howto de Tuxonice. Dans Gentoo, vous pouvez installer le package hibernate-script

Vous trouverez dans la section téléchargement un exemple de fichier de configuration. Si vous souhaitez utiliser la compression LZO pour stocker l'image, vous devez ajouter la ligne suivante au fichier /etc/hibernate/tuxonice.conf:

  Compressor lzo
  ...
  PowerdownMethod 4
  ...
  ProcSetting extra_pages_allowance 5000


Vous devez ensuite installer les utilitaires pour l'interface (Userspace UI). Pour ce faire, télécharger la version 1.0 de ce programme sur cette page. Effectuez les commandes suivantes pour compiler et installer ce programme:

  $ cd /usr/src/
  $ tar zxvf <download directory>/tuxonice-userui-1.0.tar.gz
  $ cd tuxonice-userui-1.0
  $ make
  # make install

Si vous utilisez Gentoo, vous pouvez installer le paquet tuxonice-userui. Vous pouvez éventuellement modifier le fichier /etc/portage/package.use comme suit:

  sys-apps/tuxonice-userui fbsplash

Quelque soit la manière dont vous avez installé les utilitaires userui, vous devez ajouter cette ligne au fichier /etc/hibernate/suspend2.conf:

  ProcSetting userui_program /usr/local/sbin/tuxoniceui_text

Pour utiliser fbsplash, vous devez remplacer tuxoniceui_text par tuxoniceui_fbsplash

Vous pouvez alors tester la mise en veille avec la commande hibernate.

Si celà ne fonctionne pas, il y a peut-être un problème de compatibilité avec un de vos périphériques. Dans ce cas, il peut être nécessaire de décharger le module gérant celui-ci et de le recharger au redémarrage. Il est aussi possible qu'il s'agisse d'un conflit avec un des programmes que vous utilisez. La page de manuel de hibernate.conf ou le howto vous donneront de nombreuses indications sur les options non détaillées dans ce document.

make.conf

Vous trouverez ci dessus mon fichier make.conf. Ce fichier est paramétré pour compiler Gentoo en 64 bits.

 CFLAGS="-O2 -pipe -march=core2"
 CHOST="x86_64-pc-linux-gnu"
 ...
 INPUT_DEVICES="mouse evdev"
 VIDEO_CARDS="nvidia"

Si vous voules utiliser une version 32 bits de Gentoo, vous devez définir les variables CHOST et CFLAGS comme suit:

 CHOST="i686-pc-linux-gnu"
 CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"