présente...

 

Chapitre : Matériel

par tous les amis de Léa

 

 

Le copyright de chaque article est détenu par son auteur.
Le copyright du livre lui-même est détenu par Léa (Association Loi 1901).
Les articles de ce livre sont diffusés selon la license GPL (GNU General Public License), sauf mention explicite dans l'article.

Copyright (c) 2003 Association Léa.
This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
For the purpose of applying the GPL to this document, I consider "source code" to refer to the html source.


Table des matières


Installer et configurer son matériel

Cette section va vous permettre d'installer et de configurer votre matériel sous Linux.

Voir aussi les Trucs et Astuces Hardware, et la base de données de matériel/drivers de Léa

Si vous avez des questions concernant votre matériel vous pouvez poser votre question sur le forum.

Des infos sur l'installation et la configuration des linmodems (modems internes PCI) sous Linux :
• les fiches des winmodems dans la driverthèque, et les modems :
• basés sur les chipsets Connexant HSF (Olitec 56Kv2, V92...),
• basés sur les chipsets PCTel, Via, Asus, CM8x, SIS, Intel i810 (Kortex PCI 56000...),
• 3COM PCI 56K.
• Lucent
D'autres sites :
• Infos sur les winmodems (compatibilité Linux)
• linmodems.org

De plus, de nouveaux drivers apparaissent pour les modems USB ADSL :
• Alcatel Speedtouch USB
• ECI Hi-Focus ADSL USB
• Sagem 800 USB

Un article sur la Carte PCI ADSL Conexant.

Haut


3DfX: installation

par Serge & Jean-Christophe

Comment faire fonctionner une carte de chez 3DfX.


Heureux possesseurs de cartes 3DfX, vous allez pouvoir faire fonctionner votre carte sous Linux !!!
(D'ailleurs, ce furent longtemps les seules cartes 3D complètement supportées ! même la Voodoo Rush !)

Mauvaises nouvelles pour les fans de 3Dfx : 3Dfx ayant été racheté par NVidia (le créateur de la TNT et des GE Force), c'est la fin de 3Dfx. Cause immédiate de ce rachat pour nous : de nombreux liens dans cette page risquent de ne plus fonctionner...

    Vous aurez besoin de :

Nouveau : avec XFree 4.0.2, tout devient plus simple (voir chez Xfree, rubriques 3Dfx et Alliance) :

Normalement vous ne devriez donc pas avoir besoin d'aller plus loin dans la lecture de cet article, néanmoins, je le laisse ici pour référence. Attention, les liens vers les sites et les drivers peuvent être maintenant erronés.


Pour installer votre carte, allez sur le site de Linux 3DfX ou 3DfX gamers pour les drivers nécessaires (choisissez suivant votre carte, voodoo 1, 2, banshee, 3...) ; les liens pour les fichiers à télécharger sont à la fin de ce document.

    Remarque : Un nouveau serveur X vient de sortir chez 3dfx pour les Voodoo 3 et Voodoo Banshee (nommé DRI), qui implémente Glide version 3 et permet d'afficher en mode fenêtré. Comme peu d'applications sont compatibles à l'heure actuelle avec ce serveur X (voir la description sur linux.3dfx.com), nous détaillons l'installation de l'ancienne version.

Serveur X, /dev/3dfxet Glide

Si vous n'avez rien compris, le site Linux 3dfx ou encore 3DfX gamers explique également comment installer tout ça (drivers et device).

Librairies Mesa

Mesa est une librairie donnant à Linux l'API OPEN GL, c'est une implémentation libre d'OPEN GL. Disons que OPEN GL est à Linux ce que Direct 3D est à Windows.

Récupérez Mesalib et Mesadémo sur le site de Mesa .
Le but du jeu est de recompiler ces librairies avec le support 3Dfx (Glide) pour faire marcher notre carte (prenez les .tar.gz).

Attention, votre distribution peut avoir déjà installé les librairies Mesa non optimisées 3Dfx. Dans ce cas, il faut au préalable les désinstaller. Par exemple, recherchez le/les packages mesa par :
rpm -qa | grep mesa
(mesa et/ou mesa-dev), puis désinstallez-les par :
rpm -e --nodeps le_package

Donc une fois les sources dé-zippées/détarées :

gzip -cd MesaLib-3.0.tar.Z | tar xfv -
ou
tar zxvf MesaLib-3.0.tar.gz
de même pour Mesadémo, puis allez dans le répertoire de Mesa (Mesa3.0) et lancez tout simplement
make linux-glide
afin de tout compiler.

La compilation devrait passer sans erreur. Si vous avez des erreurs du style "machin.h : no such file or directory", c'est que les fichiers provenant du SDK Glide ne sont pas trouvés. Deux solutions : copiez ces fichiers dans un répertoire où le PATH pointe (dans /usr/include par exemple) ou insérez à votre variable PATH le chemin ou les includes du SDK se situe (/usr/include/glide si mes souvenirs sont bons) par export PATH=$PATH:/usr/include/glide (sh, bash) ou setenv PATH $PATH:/usr/include/glide (csh, tcsh).
Normalement, si vous avez installé le rpm du SDK, tout doit bien se passer.

Une fois la compilation passée vous devez avoir un répertoire /lib dans le répertoire Mesa3.0.
Allez dans ce répertoire, vous devez avoir alors des choses du style :

libMesaGL.so.3.x     libMesaGL.so.3      libMesagl.so
libMesaGLU.so.3.x    libMesaGLU.so.3     libMesaGLU.so
libglut.so.3.x       libglut.so.3        libglut.so

Il manque des liens par défaut que certaines applications risquent de chercher, ajoutez donc ces liens comme suit :
ln -s libMesaGL.so.3.x libGL.so.3
ln -s libMesaGL.so.3.x libGL.so
ln -s libMesaGLU.so.3.x libGLU.so.3
ln -s libMesaGLU.so.3.x libGLU.so
(Remplacez le x par la bonne valeur, bien sûr).

Puis, toujours dans ce répertoire, faites :

cp * /usr/X11R6/lib
ldconfig
Enfin, vérifiez que vous n'avez pas d'ancienne version de Mesa non optimisée Glide qui traîne :
ldconfig -v
Regardez dans la liste qui va s'afficher s'il se trouve encore des librairies "Mesa", si oui, supprimez ces fichiers, puis relancez la même commande.

Normalement, le module Device 3Dfx devrait se charger automatiquement lorsqu'on a besoin de lui. Cependant, si ce n'est pas le cas chez vous, vous pouvez l'automatiser : pour cela dans /etc/rc.d/rc.local (ce fichier existe normalement dans toutes les distributions) ajoutez simplement "modprobe 3dfx" à la fin du fichier.  Le chargement automatique du module 3dfx se fait grâce à la ligne "alias char-major-107 3dfx" présente dans /etc/conf.modules (voir plus haut).

Tout devrait marcher maintenant. Pour le test on va charger le module 3dfx à la main (à moins que vous ayez déjà rebooté) par modprobe 3dfx. Allez dans le répertoire /demos sous le répertoire Mesa3.0, lancer la démo glu (me rappelle plus du nom, demoglu je crois, quelque chose de ce genre) sous X, en ouvrant un terminal X (oublier pas le ./ avant le nom du programme de la démo) et vous devez alors voir apparaitre une belle image 3d en plein écran qui utilise la 3dfx.

Remarque 1 : pour la Banshee et la Voodoo 3, il est nécessaire de positionner la variable d'environnement MESA_GLX_FX à la valeur fullscreen.

bash : export MESA_GLX_FX=fullscreen
tcsh : setenv MESA_GLX_FX fullscreen
Remarque 2 :
Votre distribution ou sa mise à jour, par exemple vers la Mandrake 6.1, peut installer des librairies Mesa non optimisées Glide. Vos programmes vont alors utiliser ces librairies, présentes dans /usr/X11R6/lib, au lieu des vôtres, optimisées Glide, et l'affichage ne sera plus accéléré, mais fenêtré. Bref, ça rame !!!
La solution consiste à désinstaller les packages mesa et mesa dev (par rpm -e package), de lancer ldconfig (par ldconfig -v,  et verifier qu'il n'y a plus de lib MesaGL), puis copier les librairies compilées pour Glide dans /usr/X11R6/lib, et lancer ldconfig de nouveau.
Programmes testés avec brio (qui c'est çui-là ?) : Astuce n°1 : (si vous étes riches avec plein d'écrans) Connectez votre carte vga sur un écran directement sans passer par la 3dfx et branchez la sortie de votre 3dfx sur un autre écran. Ca permet d'avoir tout affichage en 3d sur un écran séparer et de continuer de travailler sur un autre écran : Astuce n°2 : en fait l'affichage 3D semble être planté souvent parce que la fenêtre qui sous X a permis de lancer l'application 3D a perdu le focus (p.ex. la souris a bougé et n'est plus sur la fenêtre). Dépannage :

Voilà, bonne 3D !


Download

Pour les downloads, allez plutôt voir sur linux.3dfx.com afin d'obtenir les dernières versions.

(from 3Dfx gamers)
Indispensable pour toutes les cartes :
Device3Dfx-2.2-3.src.rpm(26KB)

Voodoo 3Dfx
Glide_VG-2.46-1.i386.glibc.rpm (251KB)

Glide_VG-2.46-1.i386.rpm (224KB)

Glide_VG-2.46-3.i386.glibc2.1.1.rpm (247KB)

Voodoo Rush
Glide_VR-2.46-3.i386.glibc.rpm (475KB)

Glide_VR-2.46-3.i386.rpm (238KB)

Glide_VR-2.46-4.i386.glibc2.1.1.rpm (261KB)

XFree86-Rush-SVGA-3.3.2-1.i386.rpm (1717KB)

XFree86_Rush-libs-3.3.2-1.i386.rpm (781KB)

Voodoo 3Dfx II
Glide_V2-2.53-1.i386.glibc.rpm (511KB)

Glide_V2-2.53-1.i386.rpm (482KB)

Glide_V2-2.53-2.i386.glibc2.1.1.rpm (279KB)

Voodoo Banshee et Voodoo 3
Glide_V3-2.60-7.i386.glibc20.rpm (230KB)

Glide_V3-2.60-8.i386.rpm (424KB)

XFree86_3DFX-rushlib-3.3.3-5.i386.rpm (11KB)

XFree86_3DFX-SVGA-3.3.3-5.i386.rpm (1213KB)

XFree86_3DFX-XF86Setup-3.3.3-5.i386.rpm (181KB)

Mesa, à installer pour toutes les cartes (librairie 3D)
(from Mesa3d.org)
MesaLib-3.0.tar.gz(1,2 MB)

MesaDemos-3.0.tar.gz(0,7 MB)

Haut


3Dfx: accélération 3D sous Xfree 4

par Serge

Attention : cet article ne concerne que les cartes Voodoo3 ou Banshee.
Pour la Voodoo 5, je n'ai pas testé, mais cela doit aussi pouvoir s'appliquer en adaptant un peu.


Une autre rubrique sur le site vous explique comment utiliser l'accélération 3D de tous modèles de cartes 3Dfx pour les serveur X de version 3.3.x.

Depuis peu, la version 4 de Xfree est sortie. Il y a eu de grand changements dans les supports des cartes et la méthode précédente ne fonctionne plus pour utiliser l'accélération 3D avec Xfree4.

Ainsi, si vous avez une carte 3Dfx autre que Banshee ou Voodoo 3, restez sous X version 3.3.x, car sous la version 4 vous ne pourrez plus utiliser l'accélération 3D. Seuls les possesseurs de cartes Voodoo 3 et Banshee peuvent utiliser leur carte 3Dfx sous Xfree 4 de façon optimale.

Note : Vous pouvez quand même utiliser Xfree 4 avec les Voodoo 1, 2 et Rush mais comme une simple carte 2D sans utiliser les fonctions 3D. Les cartes 3Dfx 1 et 2 peuvent êtres utilisées en 2D, vous avez bien lu ! (Mais avec des limitations : 640x480 maxi, 2D non accélérée, avec une Voodoo 1 par exemple.)

Installer Xfree 4 de base

Avant toute chose, installez Xfree 4 : reportez-vous à la rubrique du site qui explique comment l'installer de plusieurs façons.

Testez que tout marche bien au niveau 2D (pas la 3D bien sûr car on l'a pas encore installée !), que vos applications fonctionnent parfaitement, ainsi que les fontes, les diverses résolutions, etc...

Une fois Xfree4 opérationnel, copiez le fichier /etc/X11/XF86Config dans un endroit sûr (dans le /root ou tout autre répertoire que /etc/X11).

On va maintenant passer à la prise en charge de l'accélération 3D. Il est important pour le moment que le serveur 2D marche très bien.

Récupérer les packages pour la prise en charge 3D et installation

Allez sur le site linux.3dfx.com , suivre les liens "Open source" , "drivers" , Voodoo3/Banshee X Server with Mesa-based OpenGL API Support.
(pour la Voodoo 5, regardez dans ...)
Récupérez les packages suivants :

tdfx_dri-4.0.00-1.i386.rpm
tdfx_drm-1.0-1.src.rpm
Glide_V3-DRI-3.10-6.i386.rpm

Installez en premier le package Glide 3x par la commande:

rpm -Uvh Glide_V3-DRI-3.10-6.i386.rpm

Note : Si votre distribution n'est pas basée sur les rpm, récupérez le gestionnaire de rpm et forcez l'install par "rpm -i --nodeps Glide_V3-DRI-3.10-6.i386.rpm". Pour la Slackware 7, le gestionnaire rpm est déjà dans la distribution, il suffit d'initialiser la base rpm par "rpm --initdb" puis de forcer l'installation du package).

Installez alors le serveur Xfree4 DRI :

rpm -Uvh tdfx_dri-4.0.00-1.i386.rpm

En fait là, on installe un serveur Xfree 4 optimisé et qui contient les modules pour les cartes 3Dfx banshee/voodoo3. Votre XF86Config vas être écrasé par un XF86Config de base, qui a tous les coups ne correspond pas à votre config (résolution par défaut, fontes, souris, clavier, ...). On va le laisser comme ça pour le moment.

Recompilez alors le device pour la 3Dfx:

rpm --rebuild tdfx_drm-1.0-1.src.rpm

Puis installez le:

rpm -Uvh /usr/src/redhat/RPMS/i386/tdfx_drm-1.0-1.i386.rpm

Ne vous affolez pas si vous avez des erreurs de dépendances de modules, ou de modules non résolus, c'est pas grave. Pour la Slackware, j'ai eu des petits problèmes pour recompiler ce driver. Si vous avez les mêmes problèmes, contactez moi (st@lea-linux.org).

Configuration de l'ensemble

Bon ok, on vas maintenant passer au plus dur, la configuration du tout. Premièrement il faut vérifier que le module tdfx est chargé avant de lancer le serveur X. Faite un "insmod tdfx.o". Je crois bien que les rpm insèrent cette ligne dans un script de démarrage. Si toutefois vous vous apercevez qu'après un reboot ce module n'est pas chargé (on peut voir les modules chargés en mémoire par la commande lsmod) , insérez la ligne "insmod tdfx.o" dans /etc/rc.d/rc.local.

Bon maintenant on va configurer le XF86Config. Pour cela heureusement on a gardé l'ancien :) . Vous allez copier les sections tels que les fontes, la souris, le clavier de l'ancien XF86Config(celui que vous avez sauvegardé dans un répertoire au début de l'install, vous vous souvenez, quand même ;) dans le nouveau (qui se trouve dans /etc/X11) en écrasant les entrées bien sûr. Ne modifiez PAS les sections modules et autre ! Vérifiez quand même dans les sections screen que les résolutions correspondent à des résolutions que votre écran supporte (virez par exemple le 1280x1024 si c'est trop pour votre matériel).

Si les fréquences ne sont pas bonnes, que votre écran n'arrive pas à suivre (on dirait une émission de canal + cryptée sur le moniteur), contactez-moi sur la liste ou le forum pour qu'on ajuste vos fréquences. Gardez bien de coté l'ancien XF86Config pour qu'on puisse vous aider !

Bon alors on croise les doigts et on lance X.

Si X se lance bien on vérifie que la 3D est bien prise en compte en testant Quake III :
linuxquake3 +set r_glDriver /usr/X11R6/lib/libGL.so +set r_fullscreen0

Si Quake démarre, c'est bon la 3D fonctionne !

Cette rubrique n'est pas totalement finie, j'attends vos impressions et vos résultats d'installations, les problèmes rencontrés ainsi que les solutions seront inclus dans cette rubrique au fur et à mesure, donc n'hésitez pas à me mailer pour compléter cet article : st@lea-linux.org, ou bien postez vos expériences sur le forum.

Haut


Les cartes NVidia TNT

par Fred complété par serge

NVidia vient de sortir un driver (dont la première version violait la license GPL) ; l'installation de ce driver est moins facile qu'il n'y paraît.
Ce driver suppporte les TNT, TNT2, Geforce, Quadro.


Nous allons expliquer dans cette rubrique comment installer les drivers de chez NVidia afin de disposer de l'accélération 3D des cartes TNT sous Linux.

Prérequis :

  • Vous devez tout d'abord installer XFree86 4.0 - voyez pour cela la rubrique XFree4.0.
  • Vous devez vous connecter en root, et être en runlevel 3 (par exemple, tapez "init 3" dans une console).

  • Téléchargement des drivers

    Ensuite téléchargez les drivers de chez NVidia. Je vous conseille (c'est la seule procédure que je décrirai) de télécharger les sources sur leur site ftp. Ne pas oublier de télécharger la FAQ. Ne pas oublier de la lire. (Je plaisante, la lecture de ce document devrait suffire, mais on ne sait jamais).

    Dans la version précédente de cette documentation, je faisais état de problème avec le driver AGP de chez NVidia : le problème est réglé avec la version 0.9.4. Le problème était dû à des bios boggués (comme par hasard : le mien !). Cette nouvelle version semble fonctionner sans trop de problème (si quelqu'un veut que je teste Quake, il n'a qu'à me l'envoyer - par la poste ! ;-)) .


    Patcher votre kernel pour l'AGP

    ATTENTION: ce patch est à appliquer QUE si la version des drivers Nvidia que vous possédez est inférieure à la version 0.9.6. A partir de la version 0.9.6 N'APPLIQUER SURTOUT PAS CE PATCH, passez au chapitre suivant!

    Il est necessaire pour certaines cartes méres de patcher votre kernel pour la prise en compte de l'AGP et utiliser le driver de nvidia. De plus, même si pour certaine carte mére il n'est pas nécessaire de patcher le kernel pour pouvoir utiliser les drivers nvidia, je vous le conseille fortement pour profiter pleinement des accélérations 3D.
    Je suppose que vous avez un kernel 2.2.16 (dernier en date), d'ailleur je ne peux que vous le conseiller pour prendre en compte correctement l'AGP et les driver nvidia. Si vous ne l'avez pas, récupérez le sur ww.kernel.org.
    Récupérez le patch ici (récupérez la version pour les noyaux 2.2.16 ou 2.3.x si vous avez un noyau 2.3.x).

    Pour patcher votre kernel, faire alors:

    cd /usr/src/linux
    cat /chemin_ou_se_trouve_le_patch/agpgart-2.2.16-patch | patch -p1

    Une fois votre kernel patché, reconfigurez le (make config ou make menuconfig ou make xconfig) , vérifiez dans la rubrique code maturity que vous avez activez le development code/drivers , puis dans la rubrique "character device" passez en module(M) le support agp, si une liste de chipset apparait, selectionnez tous les chipset (VIA, Intel, etc...) pour avoir le support de n'importe quel chipset (et du votre donc).
    Bon le probléme c'est qu'il vas falloir maitenant recompilez et installez le nouveau noyau ainsi que les modules (voir la rubrique kernel pour plus d'aide).
    Une fois le noyau compilé et que vous avez demarrez sur ce nouveau noyau (indispensable car le patch modifie les zones mémoires pour prendre en compte l'agp), on vas créer le device pour l'agp:

    mknod /dev/agpgart c 10 175

    chargez le module agpgart en mémoire (modprobe agpgart). Il se charge sans probléme normalement.
    Si c'est bon, ajoutez dans un script de démarrage la chargement de ce module, par exemple vous ajoutez dans /etc/rc.d/rc.local la ligne:

    /sbin/modprobe agpgart

    Voila l'agp est pris en compte par votre kernel!

    Installation du driver de chez NVidia

    Je vais expliquer la démarche en supposant que vous installez les drivers 0.9.4 deniére version en date de cocument:
    Vous devez avoir téléchargé :

    NVIDIA_GLX-0.9-4.tar.gz
    NVIDIA_kernel-0.9-4.tar.gz

    décompressez les :

    # tar xzf NVIDIA_kernel-0.9-4.tar.gz
    # tar xzf NVIDIA_GLX-0.9-4.tar.gz

    Installation du module nvidia pour le kernel

    Placez vous dans le répertoire : NVIDIA_kernel-0.9-4. Compilez le module.

    Note : pour mener à bien cette compilation, vous devez avoir installé les sources du noyau de Linux et configuré ceux-ci comme décris plus haut..

    Un simple make dans le répertoire NVidia_kernel-0.9-4 va modifier le fichier /etc/conf.modules pour que le modules soit chargé automatiquement, créer dans /dev les noeuds de périphériques correspondant à votre carte et installer les dits modules dans le bon répertoire (ie: /lib/modules/<kernel-version>/video).
    Toutefois, il est necessaire d'ajouter les options de chargement du module NVdriver pour éviter des pantages suivant le chipset de votre carte mére.
    Déchargez de la mémoire le module NVdriver que le make à chargé automatiquement par :

    rmmod NVdriver

    Editez le fichier /etc/modules.conf (ou conf.modules suivant les distributions) et ajoutez en dessous de alias char-major-195 NVdriver la ligne suivante:
    ATTENTION:
    cette ligne est à appliquer QUE si la version des drivers Nvidia que vous possédez est inférieure à la version 0.9.6. A partir de la v ersion 0.9.6 N'APPLIQUER PAS CES CHANGEMENTS!

    options NVdriver NVreg_UseKernelAGP=1 NVreg_ReqAGPSBA=1 NVreg_ReqAGPFW=1

    Remarque: si vous avez un chipset VIA Apollo Pro133A, validez dans votre BIOS la gestion 4x AGP et ajoutez dans la ligne décrite au-dessus NVreg_EnableVia4x=1

    Bon testez que le module se charge sans erreur par un

    modprobe NVdriver

    Installation du serveur X

    L'installation du driver en elle-même est simple, mais il ne faut pas que le nouveau driver entre en conflit avec l'ancien. Pour cela il nous faut effacer ce qui pourrait entrer en conflit en prenant soin de sauvegarder ceux-ci pour revenir au départ en cas de problème.

    [root@becane home]# mkdir nv-bak ; cd nv-bak
    [root@becane nv-bak]# mv /usr/X11R6/lib/libGL.* .
    [root@becane nv-bak]# mv /usr/X11R6/lib/modules/extensions/libGLcore.a
    [root@becane nv-bak]# mv /usr/X11R6/lib/modules/extensions/libglx.a

    Pour être sur d'avoir fait correctement le ménage faite un :

    find /usr/X11R6/lib -name '*GL.*'
    find /usr/X11R6/lib -name '*GLcore.*'
    find /usr/X11R6/lib -name '*glx*'

    Si l'un de ces find vous renvoie quelque chose, celui-ci va, n'en doutons pas, créer des problèmes, alors : déplacez le dit quelque chose vers nv-bak. Puis placez-vous dans NVIDIA_GLX-0.9-4 et installez le driver par :

    [root@becane NVIDIA_GLX-0.9-4]# make

    Enfin éditer /etc/X11/XF86Config et modifiez la ligne :

    Driver      "nv"

    et remplacez là par (le symbole # sert à commenter une ligne pour la rendre inactive sans pour autant la supprimer pour permettre un retour en arrière facile) :

    #Driver      "nv"
    Driver      "nvidia"

    et dans la section : modules faites en sorte que l'on puisse voir :

    Load        "glx"

    plutôt que :

    #Load        "glx"

    Et puis lancez votre serveur X par startx ou init 5 pour relancer [kgx]dm. Et c'est tout.

    Pour voir comment cela accélere, vous pouvez utiliser xracer (chez moi ça marche) ou l'économiseur xscreensaver (les economiseurs 3D) par exemple en tapant morph3d. Attention ils ne fonctionnent pas en tant qu'économiseur écran (une - au moins - fonction OpenGL semble ne pas être encore implémentée !), par contre en tant que démo tout va bien. Mais des programmes plus lourds devraient pouvoir en profiter (genre Quake). Je n'ai eu aucun problème avec l'analiseur de spectre OpenGL de XMMS.


    Chasse aux troubles (Trouble Shooting).

    Rien ne fonctionne, je veux revenir à mon ancien driver

    Normalement cela ne devrait pas arriver, mais bon, effacez dans /usr/lib tous les libGL.* et libGLcore.* et dans /usr/X11R6/lib/modules/extensions tous les libglx.* et recopiez les originaux depuis nv-bak, enlevez vos modifications dans /etc/X11/XF86Config. Redémarrez votre serveur X.

    <programme> ne semble pas utiliser l'accélération 3D

    NVidia nous prévient que certains programmes peuvent ne pas profiter de l'accélération 3D bien qu'étant basés sur MesaGL : ceux dont la librairie Mesa est liée statiquement avec l'exécutable (cela signifie que le programme inclut sa propre librairie OpenGL et n'utilise donc pas celle que vous venez d'installer). Dans ce cas, pas de problème, comme nous sommes dans le monde radieux de l'open source : recompilez depuis les sources et tout (ou presque) se passera bien.

    libMesaGL.so not found

    Un autre problème peut se poser : les programmes compilés pour MesaGL (et liés avec libMesaGL/libMesaGLU). Pour ceux-là la solution est simple, créez des liens :

    # ln -s /usr/lib/libGL.so.xxx.xxx /usr/lib/libMesaGL.so
    # ln -s /usr/X11R6/lib/libGLU.so.xxx.xxx /usr/X11R6/lib/libMesaGLU.so
    # ldconfig

    Note : C'est bien deux répertoires distincts : /usr/lib et /usr/X11R6/lib - NVidia installe ses drivers dans /usr/lib alors que XFree86 installe ses librairies dans /usr/X11R6/lib. Ceci devrait régler certains problèmes.

    Quand je lance X j'ai l'écran qui devient noir et la machine est plantée

    Probléme lié à la gestion de l'AGP. Pour cela, editez le fichier /etc/modules.conf et modifiez  les options NVreg_UseKernelAGP=1 NVreg_ReqAGPSBA=1 NVreg_ReqAGPFW=1 en changeant les 1 par des 0.

    ATTENTION: ceci n'est en fait valable que pour les drivers versions 0.9.5 et inférieur!

    Quand je passe de X à un terminal par CTRL ALT Fx : ça plante.

    C'est un bug des drivers, on ne peux rien faire pour vous. Attendez une nouvelle version des drivers chez nvidia. Evitez de passez sur un autre terminal, préférez ouvrir un xterm.

    Quake III démarre mais lorsque je joins une partie Quake se termine avec des erreurs GLX.

    Essayez de mettre à jour les librairie GLX en les récupérant sur http://utah-glx.sourceforge.net/ (je n'ai pas testé personellement mais il parrait que ça marche).

    Haut


    Carte graphique i810 et Linux.

    par Martial Daumas

    Ce document décrit comment utiliser et configurer la carte graphique i810 efficacement sur les différentes versions de Linux.


    Présentation.

    Le problème

    Supportée depuis quelques temps directement par le noyau de Linux, la carte graphique Intel i810 peut parfois poser des problèmes avec certaines distributions, avec certains noyaux ou drivers ou dans des configurations matérielles spécifiques. Cette carte existe en différentes versions et modèles, mais la démarche est normalement la même à chaque fois.

    Exemples de problèmes

    Ceci est juste pour information, toutefois voici certains cas où j'ai rencontré des désagréments plus ou moins sévères (PC: Celeron 500Mhz):

    SuSE Linux 6.4 : Problèmes fréquents avec XF86Setup (plantage de la machine), problème de disparition du device /dev/agpgart (bus AGP) lors des recompilations du noyaux dû à un noyau (trop?) lourdement patché par SuSE. Leur outil de configuration SAX plantait aussi souvent. Leur driver GLX semble défectueux.

    SuSE Linux 7.0 : Problème encore et toujours avec la 3D, ainsi que des plantages de la machines avec SAX2 et XFree 4.

    Mandrake7.1 : Supportait bien cette carte, mais les outils de configurations 'maison' avaient tendance à brider sans raison les possibilités de la carte (profondeur de couleur, résolution etc...)

    Première solution

    Après une compilation d'un noyau 2.2.16+ (ou avant avec des patch il me semble), il se peut que le système refuse de passer en mode graphique, avec des messages du style :

    /dev/agpgart(i810) not found ....

    En fait, cela ne m'est arrivé que sur des SuSE... Toujours est il qu'il faut faire un petit tour (toujours recommandable) par /usr/src/linux/Documentation/devices.txt, on y trouve ceci :

    10 char Non-serial mice, misc features
    ...
    ...
       175 = /dev/agpgart   AGP Graphics Address Remapping Table

    Ce qui signifie en clair que le 'device' agpart (bus AGP) a un Major de 10, type caractère avec un Minor de 175. le premier définit un type et une famille, et le deuxième est un identifiant spécifique au matériel.

    Nous allons donc créer ce 'device' par ces commandes:

    (martial@lfs:martial)$ su
    Password:******
    (root@lfs:martial)# cd /dev
    (root@lfs:dev)# mknode /dev/agpgart c 10 175

    Le 'c' précise qu'il s'agit d'un character device (et non pas block); on vérifie la création par:

    (root@lfs:dev)# ls -l agpgart
    crw-------    1 root     root      10, 175 Aug  6  2000 agpgart

    En cas de besoin, modifiez les permissions, mais normalement ça passe très bien ainsi. Nous venons de 'créer' la prise en charge par Linux du bus AGP (rappelez vous, tout est fichier), mais cela ne suffit pas si nous n'avons pas un 'device' spécifique pour notre carte i810, Ce device n'était malheureusement pas documenté dans le noyau 2.2.x (toujours pas en fait), mais une brève recherche sur internet nous apprend ce que l'on veut :

    crw-------    1 root     root      10, 240 Aug  8  2000 agpgarti810

    Il faut donc refaire la manip précédente:

    (root@lfs:dev)# mknode /dev/agpgarti810 c 10 240
    (root@lfs:dev)# ls -l agpgarti810
    crw-------    1 root     root      10, 240 Aug  8  2000 agpgarti810

    Là, on est bon !

    Bien configurer son noyau.

    Les manips précédentes sont utiles si vous aviez perdu les 'devices' corrects, mais ils ne seront utiles que dans le cas ou votre noyau a bien le support du bus AGP, sinon ces devices sont aussi inutiles que /dev/mouse quand on n'a aucun driver souris (en statique ou module).
    Pour que l'AGP avec la i810 marche, il nous faut sélectionner quelques options lors de la configuration d'un noyau, ce sont les mêmes avec les noyaux 2.2.x et 2.4.x.

    (root@lfs:root)# cd /usr/src/linux&& make menuconfig

    ou

    (root@lfs:root)# cd /usr/src/linux&& make xconfig

    Tout d'abord vérifiez que vous avez ceci :

    Code maturity level options  --->
     [*] Prompt for development and/or incomplete code/drivers
     (pour éviter d'avoir des options inaccessibles sur un noyau un peu ancien)
    
      Processor type and features  --->
             (Pentium-Pro/Celeron/Pentium-II)  Processor family
             < > Toshiba Laptop support
             < > /dev/cpu/microcode - Intel IA32 CPU microcode support
             < > /dev/cpu/*/msr - Model-specific register support
             < > /dev/cpu/*/cpuid - CPU information support
             (off) High Memory Support
             [ ] Math emulation
             [*] MTRR (Memory Type Range Register) support
             [ ] Symmetric multi-processing support
             [ ] APIC and IO-APIC support on uniprocessors

    Mettez le processeur qui vous correspond au lieu du i386 par défaut, ça ira (un peu) plus vite. Les cartes mères i810 ont le mttr normalement, sinon ça ne pose pas de problèmes, alors autant le mettre.

    Character devices  --->
             <M> /dev/agpgart (AGP Support)
             [ ]   Intel 440LX/BX/GX and I815/I840/I850 support
             [*]   Intel I810/I815 (on-board) support
             [ ]   VIA chipset support
             [ ]   AMD Irongate support
             [ ]   Generic SiS support
             [ ]   ALI chipset support

    L'option Intel n'est pas disponible en module, il faudra donc générer un nouveau noyau, et pas seulement compiler les modules. Nous passons donc à la compilation par :

    (root@lfs:martial)# cp -R /lib/modules/2.4.5 /lib/modules/2.4.5.bak
    (root@lfs:martial)# make bzImage
    (root@lfs:martial)# make modules
    (root@lfs:martial)# rm -R /lib/modules/2.4.5
    (root@lfs:martial)# make modules_install
    (root@lfs:martial)# mv /boot/vmlinuz /boot/vmlinuz.old
    (root@lfs:martial)# cp arch/i386/boot/bzImage /boot/vmlinuz

    En oubliant pas de mettre à jour LILO avec ce nouveau noyau :

    (root@lfs:martial)# /sbin/lilo -v

    Puis de mettre à jour les dépendances des modules du noyau par un :

    (root@lfs:martial)# depmod -a

    Utilisation du DRI.

    Le DRI est une fonctionnalité de Xfree 4.x qui permet d'utiliser l'accélération matérielle de certaines cartes, dont la i810 sous X. La i810 n'est pas une carte 3D géniale, raison de plus de la booster un peu.

    Pour information, je viens de réussir à utiliser cette fonction pour la première fois en utilisant une version de Linux faite 'maison' (cf. LFS). J'avais essayé avec des SuSE, Mandrake, RedHat etc... et toutes avaient plus ou moins ce qu'il fallait en théorie pour que ça marche, mais je n'ai jamais réussi. C'est sans doute possible... en tout cas si certains de vos RPMS semblent poser trop de problèmes, penser à essayer de les compiler vous-même.
    (NDJC : si vous avez réussi à installer sur une de ces distributions, merci de nous transmettre votre méthode :-)

    En tout cas, voici ce qu'il vous faut en plus dans le noyau :

    [*] Direct Rendering Manager (XFree86 DRI support)
            < >   3dfx Banshee/Voodoo3+
            < >   3dlabs GMX 2000
            < >   ATI Rage 128
            < >   ATI Radeon
            <*>   Intel I810
            < >   Matrox g200/g400

    C'est dans les noyaux 2.4.x, mais certaines distributions proposent des noyaux 2.2.x améliorés : à consommer avec la plus grande des modérations (NDLR : malheureusement on n'a pas le choix).

    Configuration de X

    Ensuite, il faut configurer votre /etc/X11/XF86Config. Plutôt qu'un long discours, je sort le mien, mais à titre d'exemple uniquement, ça ne passera sans doute pas tel quel chez vous :

    ###### /etc/X11/XF86Congig #########
    Section "Files"
      FontPath   "/usr/X11R6/lib/X11/fonts/misc:unscaled"
      FontPath   "/usr/X11R6/lib/X11/fonts/local"
      FontPath   "/usr/X11R6/lib/X11/fonts/misc:unscaled"
     ..... et bla et bla ....
    
      ModulePath "/usr/X11R6/lib/modules"
      # ca c important, ca doit pointer
      # sur l'endroit (variable) ou vous avez les modules
      #(dri, glx, freetype etc..) de X.
    
      RgbPath "/usr/X11R6/lib/X11/rgb" #idem
    EndSection
    
    Section "ServerFlags"
      Option   "AllowMouseOpenFail"
    EndSection
    
    Section "Module"
      Load   "dbe" # le double buffer extension, parait que ca sert....
      Load   "type1"
      Load   "speedo"
      Load   "extmod"
      Load   "freetype" # si vous voulez les police .TTF
      Load  "glx" # important pour l'accel 3D
      Load  "dri" # imprtant aussi
    EndSection
    
    Section "InputDevice"
      Driver   "keyboard"
    
    .... ! depend de votre matériel ! ..............
    
      UseModes   "Modes[0]"
    EndSection
    
    
    Section "Modes"
      Identifier  "Modes[0]"
      Modeline  "1024x768" 96.16 1024 1064 1200 1328 768 783 794 813
    EndSection
    
    
    Section "Screen"
      DefaultDepth 16
      SubSection "Display"
        Depth 16
        Modes   "1024x768"
      EndSubSection
      SubSection "Display"
        Depth 24
        Modes   "1024x768"
      EndSubSection
      SubSection "Display"
        Depth 8
        Modes   "1280x1024"
      EndSubSection
      Device   "Device[0]"
      Identifier   "Screen[0]"
      Monitor   "Monitor[0]"
    EndSection
    
    
    Section "Device"
      BoardName   "i810"  # cette section est assez importante
      BusID   "0:1:0" # ceci dépend du matériel : 
      # X -scanpci 
      # en mode console pour trouver le bon ID 
      Driver   "i810"
      VideoRam       8192   # la i810 se sert de la RAM générale, vous pouvez
      # en allouez plus si vous voulez
      Identifier   "Device[0]"
      VendorName   "Intel"
    EndSection
    
    
    Section "ServerLayout"
      Identifier   "Layout[all]"
      InputDevice "Keyboard[0]"  "CoreKeyboard"
      InputDevice "Mouse[1]"  "CorePointer"
      Option  "Xinerama"  "off"
      Screen "Screen[0]"
    EndSection
    
    Section "DRI"
      Group   "video"  # pensez à créer le groupe video en tant que root
      Mode    0666     # normalemnt ca soit etre 0660, mais heuuuuhh.....
    EndSection
    
    #######fin de /etc/X11/XF86Config ##########

    N'oubliez pas que le DRI est supposé tourner en 16bits, ca passe aussi en 24bits, mais beaucoup moins bien.

    Pour essayer le résultat, tester un des Xscreensaver (comme atlantis) ou un jeu en 3D (comme Xracer), si tout c'est bien passé ca doit aller très vite (au moins un quadruplement de vitesse chez moi).

    Pensez aussi s'il n'existe pas à créer le device dri dans /dev :

    (root@lfs:dev)# ls -l dri
    total 0
    crw-rw-rw-    1 root     root      10,  63 Jul 19 21:27 card0

    donc un :

    bash-2.05# mknod /dev/dri c 10 63

    fera l'affaire.

    Conseils généraux.

    Dans tout les cas, faites le maximum pour opérer sur un système sain, c'est-à-dire installez les bons paquetages, au besoin obtenez les mises à jours et/ou patches sur le site de votre distribution.

    Utilisez une version stable de gcc, la version 3 est buggée (celle installée par RH7.1 ; NDLR : ce n'est pas la version 3 officielle..., mais une version 3 spéciale RedHat) (j'ai utilisé gcc version 2.95.2.1, impeccable).

    Lisez bien la doc de Xfree et du noyau, il y a pleins de bons conseils importants dedans. Veillez à bien avoir les libs requises comme MESA, libGL, libGLUT, glx et c. Cela dépend malheureusement de votre distribution et peut s'avérer extrêmement compliqué. En installant tout à partir des sources, je n'ai eu aucun problème particulier.

    Il vous faut dans tout les cas un serveur X prenant en charge la carte i810, pas de soucis pour les noyaux récents. Au besoin, mettez à jour, ou utilisez certains patches disponibles pour les vieux noyaux.

    Soyez prudents lorsque vous touchez au noyau et/ou à X, faites des copies de sauvegardes, et gardez toujours un moyen de booter sur l'ancienne configuration.

    ...Et lisez le LEA-BOOK !

    Haut


    Installation du lecteur de DVD : Xine

    par Fred et Jicé

    Lire des DVD vidéo avec Xine, avec et sans carte de décompresion MPEG-2 (dxr3 et Hollywood+).


    Introduction

    La lecture de DVD video sous Linux a longtemps été un véritable défi. La cause en était la volonté des majors et autres multi-nationales de verrouiller le marché du DVD (zones, cryptage des DVD, etc.). Gràce au travail acharné de plusieurs équipes, ce temps est aujourd'hui révolu, et après avoir lu ces quelques lignes, et épongé un peu de sueur, vous pourrez utiliser sous Linux vos DVD video de façon optimale.

    Nous allons présenter dans cet article l'installation de Xine, un lecteur video performant pour Linux. A cause de problèmes légaux, Xine ne sait pas tel quel lire les DVD cryptés ou bloqués. Heureusement, une autre équipe développe en parallèle un plugin pour Xine (xine_d4d) permettant de les lire sans aucun problème. Nous verrons comment installer xine_d4d pour lire les DVD cryptés.
    La structure modulaire de Xine permet aussi à un autre groupe de développer un plugin (xine-dvdnav) afin d'utiliser les menus des DVD comme sur une platine de salon.

    Nous verrons enfin comment tirer parti des cartes de décompression MPEG-2 basées sur le chipset em8300, dont les cartes Creative Labs dxr3 et Sigma Design Hollywood+ (et d'autres cartes sans marque et moins chères ;).

    Enfin, nous verrons qu'un autre problème se pose qui, lui, n'est pas lié au lecteur de DVD : rendre automatique l'installation de tous les drivers au boot de Linux.

    Les utilisateurs avancés (ou pressés ;) pourrons se rendre directement au résumé qui regroupe en quelques lignes les étapes à franchir afin d'installer Xine avec et sans carte de décompression.

    Pour commencer, il faut que votre noyau soit compilé avec le support du système de fichier UDF (CONFIG_UDF_FS = Y ou M), car la plupart des DVD utilisent ce système de fichier. C'est le cas des distributions récentes. Nous supposerons également dans la suite que vous avez un noyau de la série 2.4.


    Si vous avez une Mandrake

    Dans ce cas, lisez plutôt : xine pour mandrake.

    Préparatifs

    /dev/dvd

    Etablissez un lien entre votre lecteur (chez moi /dev/hdb, car j'ai un lecteur de DVD atapi (IDE), mais ce pourrait être /dev/scd0 si vous avez un lecteur SCSI) et /dev/dvd :

    [user@localhost ~]$ ln -s /dev/hdb /dev/dvd

    Vous devez aussi donner les droits en lecture/écriture sur ce périphérique a vos utilisateurs de xine : reportez vous à cet article.

    /usr/local

    Nous allons installer Xine (ainsi que les programmes pour piloter la carte em8300) dans le répertoire /usr/local.

    Le répertoire /usr/local/bin doit donc être dans votre chemin de recherche (PATH) et de plus,  /usr/local/lib doit se trouver dans les librairies chargées par défaut.

    Ajoutez la ligne :

    export PATH=$PATH:/usr/local/bin

    dans ~/.bashrc et (passez en root) la ligne :

    /usr/local/lib

    dans /etc/ld.so.conf, puis tapez : /sbin/ldconfig (afin de faire prendre en compte les librairies de /usr/local/lib au système).


    Installation d'une carte de décompression MPEG-2

    Si vous n'avez pas de telle carte, passez directement au chapitre suivant pour installer Xine.

    "Bon, c'est bien joli tout cela, mais la lecture de dvd sur mon PII 350 est saccadée et c'est pour cela que j'ai acheté une carte dxr3 !"

    Et bien, c'est pour cela qu'une équipe de joyeux lurons a développé un driver pour votre carte accélératrice ! (enfin, la leur je pense...) Ce driver fonctionne avec toutes les cartes basées sur la puce em8300 (Creative Labs dxr3, Sigma Design Hollywood+, etc). Il est utilisable par Xine, et depuis la version 0.9.0 du 3/12/2001, par MPlayer.

    L'installation et la configuration de ce driver est assez difficile, mais cela vaut le coup...

    Il faut savoir que ce driver est développé sans l'aide des constructeurs de la puce em8300 ! Il est entièrement reverse-engineeré (admirez le franglais), c'est à dire que les développeurs ont observé le comportement du driver et de la carte sous Windows et en ont déduit comment programmer le driver pour Linux. C'est un travail long et difficile (mais que je (Jice) trouve très amusant ;)

    Voyons comment j'ai installé cette carte chez moi. Avant toute chose, il faut que votre noyau soit compilé avec le support I2C (CONFIG_I2C = Y ou M) et I2C bit-banging interfaces (CONFIG_I2C_ALGOBIT = Y ou M), ce qui est le cas des noyaux pour les distributions récentes (Mandrake 8, etc.)

    Important : sachez que par défaut le driver active la sortie télé de la carte MPEG-2 ; pour afficher la video sur le moniteur (on parle alors de mode "overlay"), il faut suivre ces recommandations.

    Création des périphériques em8300

    Créons les périphériques à travers lesquels nous accéderons à la carte :

    $ su
    Password: xxxxxxxxxx
    # mknod /dev/em8300 c 121 0
    # mknod /dev/em8300_mv c 121 1
    # mknod /dev/em8300_ma c 121 2
    # mknod /dev/em8300_sp c 121 3
    # chmod g+rw /dev/em8300*
    # exit

    Pour que l'utilisateur courant puisse utiliser la carte de décompression

    Et pour que tout le monde (et pas seulement root) puisse se servir de la carte de décompression (et donc de xine pour dxr3) éditez /etc/security/console.perms et ajoutez-y :

    <em8300>=/dev/em8300*
    <console>  0600 <em8300>     0600 root.audio

    relancez le serveur X en tapant CTRL+ALT+BACKSPACE.
    Et voilà ! Tout le monde peut utiliser votre carte de décompression.

    Récupération des sources et installation de la librairie dxr3, et du "patch" pour Xine

    Il vous faut le package des drivers em8300 (http://dxr3.sourceforge.net). Prenez la dernière version sur http://sourceforge.net/project/showfiles.php?group_id=5165 : ce ne sera pas pire ! A la rédaction de cet article les drivers sont en version 0.9.0 ; ils ne contiennent plus de patch pour Xine car celui-ci est intégré à Xine depuis xine-5.0.

    Remarque : pour que les étapes de compilation passent chez moi, j'ai dû copier le fichier em8300-0.9.0/include/linux/em8300.h vers /usr/src/linux-2.4.8/include/linux/em8300.h

    Passons à l'installation :

    $ tar xzf em8300-0.9.0.tar.gz
    $ cd em8300-0.9.0
    $ ./configure --prefix=/usr/local
    $ make
    $ su
    Password: xxxxxxxx
    # make install
    # exit

    Et c'est tout ? Hé bien oui, sauf si vous aviez installé Xine auparavant : il faut le recompiler (seulement la partie xine-lib) : il va détecter la librairie dxr3 tout seul et se compiler avec le plugin dxr3. Placez-vous dans le répertoire de Xine :

    $ cd xine-lib-0.9.7
    $ rm -f config.cache
    $ make clean (si vous avez un message d'erreur ici, ce n'est pas grave : continuez)
    $ ./configure --prefix=/usr/local
    $ make
    $ su
    Password: xxxxxxx
    # make install
    # exit

    Et voilà !

    Chargement des modules

    Et c'est tout ?  Non ! Maintenant il faut charger les modules (=drivers). Heureusement deux scripts se chargent de cela pour nous : ldm pour le chargement et rmm pour le déchargement. Mais avant de les charger, il faut les compiler (avant toute chose, les sources de votre noyau doivent être installées et configurées, sinon vous aurez un message d'erreur). Placez-vous dans le répertoire em8300-0.9.0/modules :

    $ cd em8300-0.9.0
    $ cd modules
    $ ./make
    $ su
    Password: xxxxxxxx
    $ ./make install
    $ exit

    Ensuite on charge les modules (pour l'instant, ce n'est qu'un test) :

    $ cd em8300-0.9.0/modules
    $ su
    Password: xxxxxxxxx
    # ./ldm
    (vérifions que l'installation est correcte : les lignes suivantes doivent ressembler à ça)
    # lsmod | grep em8300
    em8300                 45456   0 (unused)
    soundcore               4208   6 [em8300 sb_lib sound]
    i2c-algo-bit            7328   3 [em8300]
    # exit

    Récupération et installation du microcode

    Pour que la carte de décompression fonctionne, il faut programmer son processeur em8300. Cela se fait en chargeant dedans un programme nommé le "microcode" (programme en langage machine correspondant au processeur em8300 de la carte).

    Pour récupérer ce programme, montez la disquette ou le CD sur laquelle se trouvent les drivers Windows (ou téléchargez la dernière version des drivers) et trouvez le fichier qui s'appelle rmquasar.vx_ (si vous avez une carte Hollywood+) ou enc2dev.vx_  (si vous avez une carte dxr3). Ces fichiers sont peut-être dans un zip ou un autre type de fichier : à vous de le trouver ; avec ma carte Hollywood+ le fichier est à la racine de la disquette.

    Il faut décompresser ce fichier :

    $ cp /mnt/floppy/rmquasar.vx_ .
    $ em8300-0.9.0/scripts/msexpand.pl rmquasar.vx_
    Input file appears to be Microsoft Compress format, proceeding
    Output filename = rmquasar.vxd
    Original file size: 307668 bytes
    Compression ratio: 45.3%

    puis récupérer le microcode :

    $ em8300-0.9.0/scripts/microcode_extract.pl rmquasar.vxd
    Found microcode block (length=26282), saving to microcode0.bin
    Found microcode block (length=26026), saving to microcode1.bin
    Found microcode block (length=26222), saving to microcode2.bin

    Note : il peut y avoir 2 ou 3 microcodes, selon votre carte et/ou la version des drivers. C'est normal.

    Ensuite il faut charger le microcode dans la carte, et pour ce :

    $ su
    Password: xxxxxxxx
    # em8300-0.9.0/scripts/microcode_upload.pl microcode0.bin
    Microcode uploaded to /dev/em8300
    # exit

    Note (1) : à ce moment le "vga passthrough" (le càble qui relie votre carte vidéo à la carte MPEG-2) peut cesser de fonctionner (ce n'est pas le cas chez moi... : ce problème semble ne plus exister (?)). Si cela vous arrive, il n'y a pas encore d'autre solution que de rebrancher votre moniteur directement sur la carte video plutôt que sur la carte de décompression.

    C'est parfait. Le premier problème est qu'il y a (comme vous l'avez peut-être remarqué) plusieurs microcodes, alors lequel choisir ? Réponse : en essayant ! Les développeurs n'ont pas encore trouvé lequel choisir. Ce sera à vous de le faire. Chez moi tous les microcode semblent fonctionner de la même manière (en fait, après de multiple expérience, il semble que seul l'un d'eux permette de faire fonctionner correctement le mode 'overlay' : affichage à l'écran plutot que sur la télé), mais ce ne sera peut-être pas le cas chez vous.
    Note de Jice : chez moi, le microcode permettant de faire fonctionner correctement l'overlay est microcode2.bin.

    Voilà comment faire pour choisir un bon microcode :

    1. tapez : em8300-0.9.0/scripts/microcode_upload.pl microcodeX.binX est le numéro du microcode que vous voulez tester.
    2. lancez xine (en tant que root) :
      # xine
      (ceci pour un affichage sur une télé. Pour un affichage sur le moniteur, lisez d'abord le paragraphe sur l'overlay.)
    3. jouez un dvd, si vous obtenez un signal video (même de couleur complétement décalées dans le vert) c'est bon, vous avez un microcode qui fonctionne, sinon, quittez xine, déchargez puis rechargez les modules :
      # cd em8300-0.9.0/modules
      # ./rmm
      # ./ldm
      et recommencez avec un autre microcode.
    4. si ça ne marche toujours pas : vous êtes maudit, il va falloir vous mettre à l'anglais et lire le howto : http://dxr3.sourceforge.net/howto.html ou alors acheter un lecteur dvd de salon, voire même utiliser Windows (mais vous n'arriverez sûrement pas à cette extrémité ;-)

    Choisir les paramètres du noyau

    A ce point, vous avez identifié un microcode qui fonctionne, mais les couleurs ne sont probablement pas les bonnes : c'est parce que nous n'avons pas passé les bons paramètres aux modules que nous avons chargés.
    Note de Jice : si vous utilisez uniquement l'overlay, les modules fonctionnent sans aucun paramètre, et avec les bonnes couleurs. Vous pouvez donc sauter cette étape si vous ne désirez pas utiliser la sortie télé de votre carte MPEG-2.

    Editez d'abord ~/.xine/config et modifier les lignes:

    dxr3_tvmode:default
    video_driver_name:Xv

    Pour qu'elles deviennent :

    dxr3_tvmode:pal ou ntsc ou pal60 (ou overlay, voir plus loin)
    video_driver_name:dxr3

    Si ces lignes n'existent pas : ajoutez-les !

    Puis, éditez le fichier em8300-0.9.0/modules/ldm :

    #!/bin/sh
    modprobe i2c-algo-bit
    insmod eeprom.o
    insmod adv717x.o pixelport_16bit=1 pixelport_other_pal=0
    insmod bt865.o
    insmod em8300.o dicom_fix=0 dicom_control=0 dicom_other_pal=0

    (ça c'est celui qui marche chez moi) Pour trouver les paramêtres qui vont bien, il va vous falloir une série et './rmm', './ldm'. Voici par quoi remplacer les lignes en gras pour que les couleurs soient bonnes :

    adv717x.0 pixelport_16bit=1 pixelport_other_pal=1
    em8300.0  dicom_fix=1 dicom_control=1 dicom_other_pal=1

     ou

    adv717x.0 pixelport_16bit=0 pixelport_other_pal=0
    em8300.0  dicom_fix=1 dicom_control=1 dicom_other_pal=0

     ou

    adv717x.0 pixelport_16bit=0 pixelport_other_pal=1
    em8300.0  dicom_fix=1 dicom_control=1 dicom_other_pal=1

     ou

    adv717x.0 pixelport_16bit=1 pixelport_other_pal=0
    em8300.0  dicom_fix=0 dicom_control=0 dicom_other_pal=0

    Voilà comment procéder :

    C'est très fastidieux, mais au bout d'un moment, on finit par y arriver !

    Automatiser le chargement des modules

    Ca y est vous avez trouver les bons paramètres pour charger les modules ?

    Nous allons automatiser leur chargement au démarrage de la machine. Créez le fichier /etc/rc.d/init.d/em8300 (l'emplacement correspond à une Mandrake/RedHat) :

    #!/bin/sh
    # (c) Frédéric Bonnaud
    # em8300 :   This shell script launches the dxr3 driver on your system.
    #

    case $1 in
      start)
        /usr/local/bin/ldm
        /usr/local/bin/microcode_upload.pl /usr/local/etc/microcodexxx.bin
        # pensez à copiez le microcode dans /usr/local/etc !
        ;;
      stop)
        /usr/local/bin/rmm
        ;;
      status)
        if lsmod | grep em8300 2>&1 > /dev/null ; then
          echo "Le driver EM8300 (décompression MPEG-2) est chargé."
        else
          echo "Le driver EM8300 (décompression MPEG-2) n'est pas chargé."
        fi
        ;;
      reload)
        ;;
      restart)
        $0 stop
        $0 start
        ;;
      *)
        echo "Usage: $(basename $0) start|stop|restart|status"
        exit 0
    esac

    exit 0

    Copiez ldm, rmm et microcode_upload.pl vers /usr/local/bin et remplacez modprobe xxxxx.o par modprobe xxxxx et ajoutez PATH=$PATH:/sbin à chacun de ces fichiers (ldm et rmm). Ils doivent ressembler à (avec vos paramètres) :

    #!/bin/sh
    # ldm

    PATH=$PATH:/sbin:/usr/sbin

    modprobe i2c-algo-bit

    insmod eeprom
    insmod adv717x pixelport_16bit=1 pixelport_other_pal=0 swap_redblue_pal=0
    insmod bt865
    insmod em8300 dicom_fix=0 dicom_control=0 dicom_other_pal=0

    et :

    #!/bin/sh
    # rmm

    PATH=$PATH:/sbin:/usr/sbin

    fuser -k /dev/em8300
    fuser -k /dev/em8300_mv
    fuser -k /dev/em8300_ma
    rmmod eeprom
    rmmod em8300
    rmmod adv717x
    rmmod bt865

    puis, tapez :

    # chkconfig --add em8300

    Si vous n'avez pas chkconfig, ajoutez des liens S* vers le script dans les répertoires correspondant aux runlevels 3 et 5 (en général /etc/rc.d/rc.3 et rc.5), et des liens K* dans les runlevels 0 et 6 si votre système est "sysV compliant" ;)

    Bref, si vous n'avez pas ces répertoires, débrouillez vous simplement pour que /usr/local/bin/ldm soit lancé au démarrage de votre machine et éventuellement /usr/local/bin/rmm quand vous éteignez votre machine.

    Utilitaires

    Lorsque vous avez installé les drivers em8300, un programme (dhc) a été installé dans /usr/local/bin, ce programme permet

    N'hésitez pas à l'utiliser : il est très pratique et simplissime d'emploi.

    Un autre programme a été installé : dxr3view. Il permet d'utiliser, tester et régler l'overlay de la carte (i.e. affichage sur le moniteur).
    Normalement l'affichage se fait correctement dans la fenêtre dxr3view.
    Lorsque la souris est sur cette fenêtre, un appui sur la touche 't' affiche un menu (mémorisez bien cette touche) qui vous permet de passer en plein écran. Mais surtout ne le faites pas avant d'avoir lu la suite : pour repassez en mode 'fenêtré' il faut appuyer sur 't' , puis 'flêche bas', puis 'entrée'.
    Mémorisez bien cette séquence de touche avant d'essayer : sinon, vous n'avez plus d'écran : il faudra débrancher le cable 'VGA PASSTHROUGH' !

    Utilisation de l'overlay (affichage sur le moniteur) avec le driver em8300

    Par défaut, le driver dxr3 (nom du driver

    em8300 de Xine) affiche la video sur la sortie télé de la carte MPEG-2. Si vous désirez afficher la video sur votre moniteur, il faut activer le mode nommé "overlay".

    Depuis la version 0.8.1 des drivers em8300, ce mode overlay fonctionne assez correctement, mis à part un bug de xine dans l'initialisation de l'overlay ; nous allons voir ci-dessous un truc pour contourner ce bug.
    Comment ça marche ? C'est relativement simple.

    1. Pour la première utilisation (et à chaque changement de résolution/profondeur de couleur), il faut lancer "autocal" qui a été installé dans /usr/local/bin par Xine.
    2. Modifiez ~/.xine/config, pour que les lignes suivantes contiennent :
      1. video.driver:dxr3
      2. dxr3.videoout_mode:overlay
    3. Lancez dxr3view qui est dans /usr/local/bin,
    4. puis xine comme d'habitude (la première fois, par "xine -V dxr3")
    5. Enfin, lancez un film : pour que l'affichage se fasse dans la fenêtre de Xine, minimisez celles de dxr3view, puis déplacez un peu la fenêtre de Xine : cela va lui faire "attraper" l'overlay.
    6. c fini :)

    Tous les plugins fonctionnent bien avec l'overlay, même dvdnav (navigation dans les menus des DVD), sauf que l'affichage des menus est un peu décalé, rien de grave en somme.

    Voilà, bon film !


    Installation de Xine

    L'installation est somme toute triviale : on récupère sur: http://xine.sourceforge.net les packages xine-lib et xine-ui.

    Note (1) : à l'heure ou j'écris ces lignes (17/12/2001) la version 0.9.7 de xine est sortie ; Xine supporte directement les cartes à base de em8300 (style : dxr3 ou Hollywood+) à partir de la version 0.5.3. Il n'y a plus besoin de patcher Xine.

    On compile les sources, et on installe Xine dans /usr/local :

    [user@localhost ~]$ tar xzf xine-lib-0.9.7.tar.gz
    [user@localhost ~]$ cd xine-lib-9.7
    [user@localhost xine-lib-0.9.7]$ ./configure --prefix=/usr/local
    [user@localhost xine-lib-0.9.7]$ make
    [user@localhost xine-lib-0.9.7]$ su
    Password:xxxxxxxx
    [root@localhost xine-lib-0.9.7]# make install
    [root@localhost xine-lib-0.9.7]# exit
    [user@localhost xine-lib-0.9.7]$ cd ..
    [user@localhost ~]$ tar xzf xine-ui-0.9.7.tar.gz
    [user@localhost xine-ui-0.9.7]$ ./configure --prefix=/usr/local
    [user@localhost xine-ui-0.9.7]$ make
    [user@localhost xine-ui-0.9.7]$ su
    Password:xxxxxxxx
    [root@localhost xine-ui-0.9.7]# make install
    [root@localhost xine-ui-0.9.7]# exit

    Et voilà ! Xine est compilé et installé ! Les fichiers de Xine sont dans /usr/local/bin pour les exécutables, /usr/local/lib pour les librairies, et /usr/local/lib/xine pour les plugins de Xine.

    Nous allons maintenant le tester. Munissez-vous d'un DVD non crypté et mettez le dans votre lecteur de DVD.
    Lancez xine :

    [user@localhost ~]$ xine

    si a ce moment vous vous faites abreuver d'injures du type :

    audio_out_oss: realtime check: *FAILED* :-(((((
    audio_oss_out: Audio driver realtime sync disabled...
    audio_oss_out: ...Will use video master clock for soft-sync instead
    audio_oss_out: ...There may be audio/video synchronization issues

    input_dvd: unable to open raw dvd drive (/dev/rdvd): Permission denied

    ce n'est pas grave (moquez-vous en). Par contre si vous avez :

    bash: xine: command not found

    ou :

    input plugin found : /usr/local/lib/xine/plugins/input_file.so(input_file.so)
    input plugin found : /usr/local/lib/xine/plugins/input_net.so(input_net.so)
    xine.c(736): /usr/local/lib/xine/plugins/input_dvd.so doesn't seem to be installed (libcss.so.0: cannot load shared object file: No such file or directory)

    C'est que /usr/local/bin n'est pas dans votre chemin de recherche (PATH) et/ou que /usr/local/lib n'est pas dans les librairies chargées par défaut.
    Relisez les préparatifs, ou tapez :

    LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/xine

    pour lancer xine.

    Pour spécifier le driver video, vous pouvez lancer xine avec l'option -V (ex : xine -V dxr3), pour l'audio avec -A (ex : xine -A oss). Xine se "souvient" ensuite du driver video ou audio que vous avez choisi (il modifie son fichier de configuraiton ~/.xine/config).

    Une sortie du type :

    [jice@taz jice]$ xine
    This is xine (X11 gui) - a free video player v0.9.7
    (c) 2000, 2001 by G. Bartsch and the xine project team.
    Généré avec la bibliothèque xine 0.9.7 [sam 15 déc 2001 21:56:43]-[gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)]-[Linux 2.4.8-26mdk i586].
    Version de la bibliothèque de xine trouvée : 0.9.7 (0.9.7).
    Display is not using Xinerama.
    xres 1024 yres 768 depth 16
    dxr3_vo: setting aspect ratio to full
    dxr3_vo: setting up overlay mode
    dxr3_vo: setting tv_mode to PAL 50Hz
    load_plugins: video output plugin dxr3 successfully loaded.
    audio_oss_out: Opening audio device...
    audio_oss_out: realtime check: *FAILED*
    audio_oss_out: Audio driver realtime sync disabled...
    audio_oss_out: ...will use system real-time clock for soft-sync instead
    audio_oss_out: ...there may be audio/video synchronization issues
    audio_oss_out : supported modes are mono stereo
    load_plugins: audio output plugin oss successfully loaded.
    xine_init entered
    xine: using MMX optimized memcpy()
    load_plugins: input plugin found : CDA
    load_plugins: input plugin found : DVD
    load_plugins: input plugin found : stdin_fifo
    load_plugins: input plugin found : TCP
    load_plugins: input plugin found : file
    load_plugins: input plugin found : RTP
    load_plugins: input plugin found : VCD
    load_plugins: input plugin found : HTTP
    load_plugins: demux plugin found : MPEG_TS
    load_plugins: demux plugin found : QUICKTIME
    load_plugins: demux plugin found : MPEG
    load_plugins: demux plugin found : ASF
    load_plugins: demux plugin found : AVI
    load_plugins: demux plugin found : CDA
    load_plugins: demux plugin found : MPEG_ELEM
    load_plugins: demux plugin found : MPEG_PES
    load_plugins: demux plugin found : OGG
    load_plugins: demux plugin found : MPGAUDIO
    load_plugins: demux plugin found : MPEG_BLOCK
    video decoder plugin found : vfw (win32) video decoder
    audio decoder plugin found : vfw (win32) audio decoder
    audio decoder plugin found : a/52dec
    audio decoder plugin found : dts
    audio decoder plugin found : mad
    spu decoder plugin found : spudec
    spu decoder plugin found : dxr3-spudec
    video decoder plugin found : dxr3-mpeg2
    video decoder plugin found : mpeg2dec
    audio decoder plugin found : lpcm
    video decoder plugin found : videofill
    video decoder plugin found : ffmpeg video decoder
    spu decoder plugin found : sputext
    audio decoder plugin found : vorbis
    xine_init returning

    doit être considérée comme sans erreurs ! D'ailleurs, si vous voyez cela dans votre terminal, c'est que deux fenêtres viennent de s'ouvrir : une première, nommée xine video output et l'autre représentant un lecteur de DVD. Insérez un DVD video (non crypté) dans votre lecteur, puis cliquez sur le le bouton [dvd], dans la fenêtre du lecteur de DVD ; vous devez voir apparaître :

    dvd://VIDEO_TS.VOB

    ou quelque chose de ce genre.

    C'est parfait : ça veut dire que Xine a bien reconnu que vous aviez un DVD dans votre lecteur et qu'il veut bien le jouer. Appuyez sur le bouton "play" (la petite flèche ;-). Et hop, miracle, ça marche. Appuyez sur le bouton juste à gauche de la croix (en haut à droite) et hop, vous passez en plein écran. Un clic droit sur la fenêtre de vidualisation et le lecteur de dvd disparaît, vous laissant en plein écran. Un autre clic droit et le lecteur réapparaît. C'est simplissime. Pour choisir la bande son et/ou les sous-titres, il faut cliquer sur les flèches : celles de "SUB" pour les sous-titres (off par défaut) et celles de "AUD" pour la bande son.

    Et si ça ne marche pas ?
    Et si vous refaisiez tout par le menu ?

    Installons le plugin xine_d4d

    Le problème des DVD c'est que la plupart sont encryptés (via CSS), sous prétexte d'en empêcher la copie. Cela est faux : rien ne vous empêche de copier tel quel un DVD crypté, le décryptage s'effectuant lors de la lecture pour les DVD (c'est un peu comme si vous enregistriez une K7 vidéo de Canal+ en crypté et que vous décryptiez lors de la lecture). Ceci dit, vu me prix d'un DVD-RAM, vous feriez mieux d'achetez le DVD original !
    En fait, le cryptage permet aux multinationales de verrouiller le marché, et - accessoirement - de toucher des royalties sur tout lecteur de DVD (de salon, ou tout logiciel permettant de les lire).
    (C'était la séquence "politique" de cet article :-)

    Dans les faits, le cryptage empêche la lecture des DVD video par notre OS favori. Chaque problème a sa solution : pour nous c'est xine_d4d et son plugin (basé sur DeCSS, le décrypteur de DVD le plus contesté de la planète).

    Téléchargez le package xine_d4d_plugin-0.3.0.tar.gz (ou une version plus récente) sur le site de captain css.
    Note : (21/12/2001) ce site est tombé. Cherchez "captain_css " sur google et vous devriez trouver sans problème.

    Procédons à l'installation :

    $ tar xzf xine_d4d_plugin-0.3.0.tar.gz
    $ cd xine_d4d_plugin-0.3.0
    $ ./configure
    $ make
    $ su
    Password:xxxxxxx
    # make install
    # exit

    That's all folks. Relancez Xine : maintenant il lit les dvd cryptés, mais pour cela il faut cliquer sur [d4d] au lieu de [dvd] dans la fenêtre de Xine (le mieux est de toujours cliquer sur [d4d], puisque ce plugin lit aussi les DVD non cryptés).
    Et voilà !

    Installons le plugin xine-dvdnav

    Lire des DVD, c'est bien. Mais utiliser les parties interactives des DVD (menus, etc.), c'est bien mieux ! C'est ce que propose ce plugin.

    Tout d'abord, il faut installer la librairie libdvdread dont on trouve la dernière version sur http://www.dtek.chalmers.se/groups/dvd/downloads.shtml (ce lien est parfois indisponible, réessayez plus tard) :

    $ tar xzf libdvdread-0.9.2.tar.gz
    $ cd libdvdread-0.9.2
    $ ./configure --prefix=/usr/
    $ make
    $ su -c
    Password:xxxxxxxx
    # make install
    # ldconfig
    # exit

    Ensuite, récupérez le plugin xine-dvdnav sur : http://dvd.sourceforge.net/xine-dvdnav.shtml.

    Remarquez que ce plugin lit aussi les DVD cryptés (mais il semble moins stable que xine_d4d). Actuellement le support des menus fonctionne assez bien, malgré des décalages en plein écran avec la carte de décompression em8300.

    J'utilise actuellement la version 0.9.5.beta (en général la version de ce plugin correspond à la version de Xine) trouvée sur http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=52555.
    Récupérez le package, puis décompressez-le et installez-le comme d'habitude :

    $ tar zxf xine-dvdnav-0.9.5.beta.tar.gz
    $ cd xine-dvdnav-0.9.5.beta
    $ ./configure
    $ make
    $ su -c
    Password:xxxxxxxx
    # make install
    # exit

    Vous pouvez également essayer la version CVS (i.e. la toute dernière version, telle que les développeurs l'ont chez eux).
    La version que j'ai testée est la version CVS du 10/09/2001. Pour cela, il faut que les outils CVS soient installés sur votre machine (sur une Mandrake 8 Freq 2, le paquetage s'appelle : cvs-1.11-5mdk.i586.rpm). On récupère le plugin par :

    cvs -d:pserver:anonymous@cvs.dvd.sourceforge.net:/cvsroot/dvd login
    password:<ENTREE>
    cvs -z3 -d:pserver:anonymous@cvs.dvd.sourceforge.net:/cvsroot/dvd co xine-dvdnav

    Puis on l'installe par :

    cd xine-dvdnav
    ./cvscompile.sh
    make
    su -c "make install"

    On accède au menu des DVD en cliquant sur [NAV] dans la barre de boutons de Xine (attention, si vous avez cliqué sur  [dvd] ou [d4d] avant, vous ne verrez rien changer : il faut vider la liste de lecture (playing-list) de xine en cliquant sur l'icone qui ne ressemble à "rien" (la première icône à droite des icones des plugins comme [dvd]) puis sur l'icone 'poubelle' dans la boîte de dialogue "Playlist editor" qui s'ouvre.


    Résumé

    Résumé des étapes pour les utilisateurs avancés... et les autres ;)

    Prérequis

    1. créer le lien /dev/dvd
    2. ajouter /usr/local/bin au PATH et /usr/local/lib à ld.so.conf

    Carte de décompression

    1. Si vous avez une telle carte, récupérez et installez (./configure, make et make install) le package suivant :
      em8300 (http://dxr3.sourceforge.net)
    2. Sinon, passez cette étape.

    Xine

    1. récupérez et installez (./configure, make et make install) les packages suivants :
      1. xine-lib (http://xine.sourceforge.net)
      2. xine-ui (http://xine.sourceforge.net)
      3. xine_d4d (http://www.geocities.com/captain_css/) (21/12/2001: lien mort, chezchez le plugin sur google...)
      4. xine-dvdnav (http://dvd.sourceforge.net/xine-dvdnav.shtml)
    2. Si vous utilisez une carte de décompression
      1. Si vous souhaitez afficher la video sur le moniteur
        1. lancez /usr/local/bin/autocal pour calibrer votre ordinateur / moniteur pour xine (une seule fois, la première fois que vous utilisez Xine),
        2. lancez xine (au moins la première fois) avec "xine -V dxr3 &",
        3. lancez dxr3view,
        4. lancez la lecture d'un film,
        5. minimisez les fenêtres de dxr3view,
        6. déplacez un peu la fenêtre de visualisation de Xine
      2. Si vous affichez la video sur une télé
        1. connectez la télé ;)
        2. si vous avez une télé PAL/SECAM, configurez Xine pour qu'il affiche en PAL (modifiez la ligne dxr3.preferred_tvmode:PAL dans ~/.xine/config)
        3. lancez la lecture du film !
    3. si vous n'avez pas de carte de décompression, il suffit de lancer "xine" et de jouer le film !

    Chasse aux problèmes

    (ou trouble shooting)

    Je placerai ici les réponses aux problèmes les plus courants. Envoyez-nous vos questions, et si elles sont pertinentes, elles trouveront leur place ici.

    Pas de son

    Si vous n'entendez pas le DVD qui est en train de se jouer, peut-être n'utilisez-vous pas le bon plugin de sortie audio ?
    Essayez de lancer Xine avec l'option -A, par exemple :
    xine -A oss
    xine -A esd
    xine -A alsa
    etc. (voir xine -h pour les options disponibles chez vous)

    Pas d'image

    Si vous n'avez pas d'image mais que vous avez le son, cela signifie que par défaut le plugin de sortie video de Xine est mauvais. Cela peut s'arranger. Demandez à Xine de vous afficher la liste des plugins video qu'il supporte :

    # xine --help | grep -A 2 -- "--video-driver"
      -V, --video-driver     Sélection du pilote video par nom. Pilotes disponibles :
             aadxr3 dxr3 xv SyncFB xshm none sdl vidix fb

    Essayez alors de lancer Xine en changeant de plugin video, par exemple :

    # xine -V xshm

    Essayez les tous un par un pour en trouver un qui fonctionne. A priori, les meilleurs plugins sont : dxr3 (mais il faut une carte de décompression), vidix, xv, puis les autres. Essayez les dans cet ordre.

    Si vous n'avez toujours pas d'image sur votre moniteur avec une carte de décompression em8300, lisez bien le paragraphe "utilisation de l'overlay".

    Haut


    Installation de Xine pour une Mandrake

    par David2

    Cet article est une installation de Xine dans le cas particulier d'une Mandrake 8.0 ou 8.1.

    Pour la Mandrake 8.2, utilisez simplement les packages du Penguin Liberation Front, en suivant les instructions de leur page.
    Il faut de plus créer le lien suivant :

    ln -s /usr/lib/libdvdcss.so.1 /usr/lib/libdvdcss.so.0


    Cet article est un complément de l'article général sur l'installation de Xine.

    Voici d'abord une adresse où trouver les rpm pour les version 0.9.x

    http://cambuca.ldhs.cetuc.puc-rio.br/~jcm/skyblade/

    Télécharger les rpm

    libdvdcss-0.0.3.ogle3-1.i686.rpm
    libdvdread-0.9.2-1.i686.rpm
    w32codec-0.50-1.i386.rpm
    xine-dvdnav-0.9.8.beta2-8.i686.rpm
    xine-lib-0.9.8-0.i686.rpm
    xine-lib-aa-0.9.8-0.i686.rpm
    xine-lib-alsa05-0.9.8-0.i686.rpm
    xine-lib-alsa09-0.9.8-1.i686.rpm
    xine-lib-arts-0.9.8-0.i686.rpm
    xine-lib-d4d-0.9.8-0.i686.rpm
    xine-lib-docs-0.9.8-0.i686.rpm
    xine-lib-esd-0.9.8-0.i686.rpm
    xine-lib-oggvorbis-0.9.8-0.i686.rpm
    xine-lib-oss-0.9.8-0.i686.rpm
    xine-lib-w32dll-0.9.8-0.i686.rpm
    xine-lib-xv-0.9.8-0.i686.rpm
    xine-ui-0.9.8-0.i686.rpm
    xine-ui-aa-0.9.8-0.i686.rpm


    Il y en a quelques-un en trop ;-) mais j'essaie de faire simple (ndlr: Les versions peuvent changer, surtout celles de xine, utilisez la dernière version).

    Installation

    Il faut ensuite installer les rpm dans cet ordre

    rpm -Uvh libdvdcss-0.0.3.ogle3-1.i686.rpm
    rpm -Uvh libdvdread-0.9.2-1.i686.rpm
    rpm -Uvh w32codec-0.50-1.i386.rpm
    rpm -Uvh xine-lib-0.9.8-0.i686.rpm
    rpm -Uvh xine-ui-0.9.8-0.i686.rpm

    Un et un seul de cela en fonction de ton système de son

    rpm -Uvh xine-lib-oss-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-alsa09-0.9.8-1.i686.rpm
    rpm -Uvh xine-lib-alsa05-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-arts-0.9.8-0.i686.rpm

    En général, c'est Oss ou Alsa, si vous ne savez vraiment pas, prenez Oss ...

    Puis

    rpm -Uvh xine-dvdnav-0.9.8.beta2-8.i686.rpm
    rpm -Uvh xine-lib-aa-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-d4d-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-docs-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-oggvorbis-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-w32dll-0.9.8-0.i686.rpm
    rpm -Uvh xine-lib-xv-0.9.8-0.i686.rpm
    rpm -Uvh xine-ui-aa-0.9.8-0.i686.rpm

    Les very important paquets sont dvdnav, d4d pour les dvd cryptés. Oggvorbis peut ne pas s'installer ce n'est pas grave sauf si vos divx utilisent ogg (ce qui est rare ).

    Si vous avez une mandrake 8.1 alors pour xine-lib-xv , il faut, en root , taper :

    > ld --whole-archive -shared -o /usr/X11R6/lib/libXv.so.1 /usr/X11R6/lib/libXv.a > rpm -Uvh xine-lib-xv-*.rpm --nodeps > ldconfig

    Pour créer un fichier "libXv.a" nécessaire à ce rpm (ce problème sera peut-être corrigé par de futurs versions de ce rpm).

    Utilisation

    Pour utiliser Xine, pour un DVD (si la configuration est correcte) appuyez sur le bouton DVD, si il est crypté D4D et si vous voulez les menus NAV. Si votre dvd ne fonctionne pas essayez les trois options. Attention, Xine possède une Playliste, si vous faite le bouton DVD puis D4D, le D4D est deuxième dans la liste!

    Pour les Divx, utilisez la fonction Playlist pour aller chercher votre fichier. Vous pouvez aussi lancer le Divx en utilisant ce qu'il appelle une MRL (man xine) ou avec directement le nom du fichier :

    # xine /mnt/windows/Divx/mon_divx.avi

    Pour les questions, voici la FAQ en français de xine :

    http://xine.sourceforge.net/xine_frame.php?page=FAQ_fr

    Pour les dvd, vérifiez votre lien /dev/dvd. Si il n'existe pas vous pouvez faire un lien de votre device DVD vers /dev/dvd avec la commande ln -s /dev/hdx /dev/dvd en remplaçant le x évidement.

    Bon courage

    Haut


    Le Plug and play

    par Serge

    parfois appelé le Plug and Pray.


    Avertissement

    On nous demande souvent à quel type de matériel s'applique cette rubrique. Pour faire court, disons que PnP = cartes ISA seulement. Pour faire long, lisez le paragraphe ci dessous !

    Les cartes PCI, AGP, etc.. ne posent AUCUN probléme de configuration, elles sont toujours détectées suivant les spécifications des bus où elles se trouvent, et n'ont pas besoin d'utilitaire spécial de configuration quelque soit l'OS. On ne parle donc pas de PnP (ou alors c'est un abus de langage) pour des cartes PCI ou AGP. Le plug and play se fait ici au niveau du matériel qui gère seul l'allocation des ressources (IRQ, etc.).

    Par contre les carte ISA ont des problèmes de configuration (non automatique pour la détection de conflits, etc...), donc on a inventé un "protocole" de configuration/détection conflit : le PnP. Donc le PnP en tant que tel ne s'appliquent qu'aux cartes ISA (quelque soit l'OS)

    PS: ll y a une "extension" du PnP pour des périphériques tels que l'écran, les périphs sur port parallèle, etc. mais ce n'est pas du PnP à proprement parler, ca ne permet pas de configurer le périph (de toute facon y'a rien a configurer, c'est le port où se trouve ce périph qu'il faut configurer et non pas le périph lui même) mais juste de le détecter (le périph envoie une séquence lors de l'initialisation du port disant "coucou je suis là, et je m'appelle machin truc").

    Voila donc PnP = cartes ISA SEULEMENT.

    2 méthodes

    Sous Linux le plug and play n'est pas aussi simple que sous Windows (quoi que des fois....), il arrive assez souvent que nos cartes plug and play refusent de marcher sous Linux. Il existe en fait deux méthodes pour bien configurer son Linux pour faire fonctionner de telles cartes.

    Le BIOS

    La première consiste à dévalider dans le BIOS de notre carte mère l'option PNP OS, et de configurer alors Linux comme si toute nos cartes n'étaient pas PNP. C'est la méthode la plus simple mais on perd alors la fonctionnalité du PNP sous linux, ce qui est un peu frustrant.

    Le PnP sous Linux

    La deuxième méthode consiste à utiliser le PNP sous Linux ; c'est cette méthode que je vais vous expliquer.
    Tout d'abord il faut valider le PNP dans le bios, donc validez cette fois-ci le PNP OS dans le bios.
    De plus, le PnP fonctionne avec les modules des cartes : enlevez de votre kernel toute la configuration qui se reporte aux cartes (si par exemple votre carte son est PnP et que dans votre noyau vous avez répondu "yes" pour configurer votre carte son et passé les paramètres de votre carte : irq, etc. vous enlevez tout), mais par contre vous compilez votre noyau avec les modules de vos cartes PnP.

    Si on reprend l'exemple d'une carte son, au moment du CONFIG SOUND vous répondez M pour module et non pas Y ! En fait je vous explique, le chargement du PnP dans Linux se fait APRES le chargement du noyau, donc si vous configurez vos cartes dans le noyau, celui ci va les initialiser (sans y arriver en plus) et lorsque le PnP va tenter de les initialiser lui aussi, ça ne passera plus. Donc pour toutes les cartes PnP répondez par M dans la config du noyau.

    Une fois ce travail exécuté, si vous avez une partition Windows 95 ou 98 sur votre machine, bootez dessus et notez la configuration de toutes vos cartes PNP (plage mémoire, irq, dma), puis rebootez sous linux. Il va déjà falloir vérifier que vous avez bien les isapnptools sur votre machine, pour cela lancez la commande pnpdump>/etc/isapnp.conf. Si ça marche, c'est que vous avez bien les isapnptools et que votre noyau supporte le PnP. Autrement il va falloir que vous téléchargiez les isapnptools et valider le PnP dans votre kernel. Si vous avez le message d'erreur "trying port adress ..." puis "no board found" c'est que votre carte mère n'est pas PnP ; il vous faut alors configurer vos cartes à la main comme si elles n'étaient pas PnP.

    Une fois le programme lancé, celui-ci a créé en fait le fichier /etc/isapnp.conf. Ce fichier créé, éditez le, à l'aide de vi par exemple. La structure d'un tel fichier peut paraître barbare mais en fait elle est très simple.

    Tout d'abord ajoutez la ligne (VERIFYLD NO) dans le début du fichier : certaines cartes (dont par exemple la Sound Blaster AWE64) n'aiment pas du tout. Regardez alors les lignes. La plupart sont en commentaire (le # devant), et vous allez voir des IRQ, DMA , ADRESS dans ces lignes. Le plus important est de regarder les lignes non commentées (qui ne comportent pas de # au début) et vérifier bien que les paramètres sont bons par rapport à ceux qui étaient dans Windows. Si c'est bon on touche à rien, si c'est pas bon on commente la ligne et on recherche celle qui contient les bons paramètres irq, dma et adresse. Si vous ne la trouvez pas (très rare), remplacez alors dans la ligne qui ne contient pas le # les mauvais paramètres par les bons.

    Une fois cette vérification faite, regardez à chaque fin de configuration de chaque carte (avant de passer dans un LD différent) que vous avez bien une ligne qui contient : (ACT Y), et qui n'est pas commentée (qui ne contient pas # au début donc). Une fois tout ça réalisé, tapez sous la console :

    isapnp /etc/isapnp.conf

    Regardez alors que vous n'avez pas de message d'erreur. Si un message d'erreur IORESCHECK s'affiche, notez par rapport a quel périphérique ce message apparaît, retournez dans le fichier isapnp.conf et effacez pour ce périphérique (IORESCHECK ..), et ça devrait passer sans problèmes (j'ai galêré 3 nuits pour comprendre que ma carte n'était pas en conflit, que c'etait en fait le contrôle de conflits d'adresses qui ne marchait pas tout simplement).

    Si ça fonctionne, alors vous avez gagné ! Chargez les modules de vos cartes (modprobe module) pour rendre celles-ci opérationnelles.

    On va un peu automatiser tout ca maintenant, pour cela activez l'autoload des modules dans le kernel, enable loadable module support Y, et Kernel daemon support Y.

    Après, éditez le fichier /etc/conf.modules (s'il n'existe pas ça va le créer) et ajoutez les lignes pour vos modules de cette façon :

    alias  periph  nom_du_module

    C'est à dire prenons l'exemple pour une carte son Sound Blaster et une carte réseau compatible NE2000, le périphérique son s'apelle sound et la carte réseau s'apelle eth0 (vous n'avez pas le choix), le module Sound Blaster s'apelle sb et le module NE2000 s'apelle ne, ca nous donne alors:

    alias  sb      sound
    alias  eth0    ne

    Récapitulatif

    Un petit récapitulatif des périphériques sous Linux (les plus courants) en sachant que vous pouvez mettre tous les modules (même des périphériques non PnP) pour qu'ils se chargent au démarrage. Attention certains ont besoin d'option(s), je ferai une petite rubrique spéciale pour les modules plus tard

    son sound
    carte réseau 1, 2, etc... eth0, eth1, ...
    carte scsi scsi_hostadapter
    port paralléle parport_lowlevel 

    Pour les options, moi par exemple pour ma carte ethernet j'ai du repasser l'adresse et l'irq de ma carte, ceci se fait de cette façon toujours dans le fichier conf.modules :

    options  nom_modules  les_options

    exemple :

    options  ne  io=0x240  irq=12
    (pour une carte réseau a l'adresse 240 et irq 12) Attention l'adresse est en hexadécimal, donc de type 0xXXX, ne pas oublier le 0x qui n'apparait pas dans Windows.

    Haut


    Installation d'une carte tuner TV

    par Jean-Christophe, MàJ par Serge (son)

    Où vous allez constater que vous n'aviez encore rien vu à la télé !


    Pré requis :

    Le document concerne l'installation d'une carte à base de chipset BookTree BT8xx, mais peut-être adapté à d'autres périphériques supportés par video4linux: adaptez simplement les paragraphes concernant les drivers. (Pour les cartes ATI, il ne s'agit pas encore de drivers, mais le travail pour incorporer le code au noyau progresse.)

    Le son :

    Suivant votre carte TV :

    Drivers et Devices

    Drivers

    Si vous êtes chanceux, votre distribution contient déjà les modules tout prêts (exemple : Mandrake).

    Vérifiez si le répertoire /lib/modules/2.x.y/misc contient les fichiers bttv.o, i2c.o, tuner.o, videodev.o.

    Si oui, c'est cool pour vous, vous pouvez sauter le paragraphe concernant l'installation des drivers (mais pas leur configuration)!
    Sinon, let's go !!!

    Devices

    Si vous êtes encore plus chanceux, vous avez des fichiers /dev/video, /dev/video0 etc.

    Dans ce cas, vous avez vraiment beaucoup de chance, vous pouvez aussi sauter le paragraphe suivant !

    Installation des devices

    Nous allons nous placer dans le cas le plus simple, celui où vous n'avez qu'une seule carte TV.

    Pour créer le périphérique /dev/video, tapez :

    mknod /dev/video0 c 81 0
    ln -s /dev/video0 /dev/video

    C'est tout ! :)

    Remarque 1 :
    Si vous avez plusieurs cartes TV (on ne sait jamais !), il suffit de définir d'autres périphériques, avec le major 81 et en incrémentant le minor.

    [root@taz /]$ ls -l /dev/video*
    lrwxrwxrwx   1 root     sys             6 Aug  2 21:37 /dev/video -> video0
    crw-------   1 root     sys       81,   0 Aug  2 21:37 /dev/video0
    crw-------   1 root     sys       81,   1 Aug  2 21:37 /dev/video1
    crw-------   1 root     sys       81,   2 Aug  2 21:37 /dev/video2
    crw-------   1 root     sys       81,   3 Aug  2 21:37 /dev/video3
    crw-------   1 root     sys       81,   4 Aug  2 21:37 /dev/video4

    Remarque 2 :


    dans les sources de video4linux ou de kwintv, vous trouvez un script MAKEDEV. Lancez-le par un ./MAKEDEV et il vous créera tous les périphériques nécessaires (et plus encore !)

    Installation des drivers (modules)

    Ah ! Si vous lisez ceci c'est que votre distribution ne contient pas les modules tout prêts ? Pas de chance, mais rassurez-vous ce n'est pas si compliqué. Ne vous sauvez pas si je vous parle de "compilation du noyau" !!!

    En effet, il faut compiler les modules nécessaires à video4linux.

    En tant que root, placez vous dans le répertoire /usr/scr/linux-2.x.y (vous devez avoir préalablement installé le package des sources de votre noyau, trouvé sur le CD de votre distribution sous le nom kernel-xxxxx.rpm.

    Sous X, tapez  make xconfig / Sous une console, tapez make menuconfig.

    Choisir M (module) dans le menu "Video For Linux" et M pour l'option "BT848 Video for Linux".

    Localisation des drivers dans menuconfig (noyau 2.4.20 avec patch bttv récent) :

    Multimedia devices -> Video For Linux <M>
    Video For Linux ---> V4L information in proc filesystem [*]
    BT848 Video For Linux <M>

    Et il faut penser à avoir dans Character devices -> I2C support --->
    <M> I2C Support
    <M> I2C bit-banging interfaces
    <M> I2C device interface

    Tapez  make modules ; make modules_install.

    Une fois les modules installés, pour vérifier leur bon chargement, taper :

    insmod -f i2c verbose=1 scan=1 i2c_debug=0
    insmod -f tuner debug=0 type=3
    insmod -f videodev
    insmod -f bttv radio=1 card=1 vidmem=0xdc0
    lsmod

    Configuration des modules

    Pour charger automatiquement ces modules lorsqu'on en a besoin, ajoutez dans /etc/conf.modules ou /etc/modules.conf (pour les distributions récentes c'est forcément ce fichier là), les lignes suivantes, en adaptant les valeurs à votre configuration :

    alias char-major-81 bttv
    pre-install bttv modprobe -k tuner
    options i2c    verbose=1 scan=1 i2c_debug=0
    options bttv   radio=1 card=1 vidmem=0xdc0
    options tuner  debug=0 type=3

    Autre exemple, pour une Debian (/etc/modules):

    i2c-core i2c_debug=1
     i2c_algo-bit i2c_debug=1
     tuner debug=1 type=33
     videodev
     bttv radio=1 card=39 pll=1 fieldnr=1

    Description des paramètres des modules :

    ATTENTION :
    Sur certaines cartes BTTV, il y a des blocages au bout d'environ 5 minutes.
    Une solution qui semble fonctionner, si votre carte n'est pas une triton, est d'essayer l'option :
    options bttv ... triton1=1
    (ajoutez triton1=1 en bout de la ligne correspondante dans /etc/conf.modules).

    Si vous avez déjà installé les devices, vous pouvez enfin passer à la suite !

    Problème du son (MàJ par Serge)

    Bon si vous avez appliqué tout ce qu'il y a au dessus et que vous n'entendez rien, c'est que votre carte TV comprend un chip spécial pour le son qu'il faut activer. Le problème c'est que suivant votre carte, il va falloir activer le bon module pour gérer ce chipset spécifique.

    1er cas: vous avez de la chance

    Bon si vous avez de la chance, le chip son est un msp3400. C'est le cas le plus simple, il suffit de compiler ce module qui est compris dans les noyaux récent (a partir du 2.2.14 si je ne me trompe pas). Donc, on configure le noyeau (voir la rubrique kernel), on active le support des drivers en développement (Y à la première question), et dans la rub "Lowlevel additional sound support" vous activez en module le msp3400. Puis un make modules ; make modules_install (pas la peine de recompiler tout le kernel à moins que vous n'aviez auparavant pas activé du tout de support son ou que votre support son était en natif et pas en module).

    Pour tester, modifiez votre /etc/conf.modules avec cette ligne :

    pre-install bttv modprobe -k tuner; modprobe -k msp3400

    2éme cas: Moins de chance

    Bon si vous avez moins de chance, le module pour activer le son de votre carte TV n'est pas inclus dans le kernel, il va falloir que vous récupériez les sources de bttv et les recompiler pour avoir ces modules sons (make ; make install ; depmod -a). Une fois les modules recompilés, suivez les indications ci-dessus pour la configuration vidéo.

    Je vous donne quand même ici toutes les options des modules qui complétent la rubrique ci-dessus (il y a quelques changement, surtout des supports ajoutés):

    option card=n:

    0: Auto-Detect
    1: Miro
    2: Hauppauge (old bt848 boards)
    3: STB
    4: Intel
    5: Diamond
    6: AVerMedia
    7: MATRIX Vision MV-Delta
    8: FlyVideo
    9: TurboTV
    10: Hauppauge (new bt878 boards)
    11: MIRO PCTV pro
    12: Terratec/Vobis TV-Boostar
    13: Newer Hauppauge WinCam (bt878)
    14: MAXI TV Video PCI2
    15: Terratec TerraTV+
    16: Aimslab VHX
    17: PXC200
    18: AVermedia98
    19: FlyVideo98 (newer FlyVideo cards)
    20: Zoltrix TV-Max
    21: iProTV
    22: ADS Technologies Channel Surfer TV
    23: Pixelview PlayTV (bt878)
    24: Leadtek WinView 601
    25: AVEC Intercapture
    26: LifeView FlyKit w/o Tuner
    27: Intel Create and Share PCI

    option tuner type=n

    0: Temic PAL tuner
    1: Philips PAL_I tuner
    2: Philips NTSC tuner
    3: Philips SECAM tuner
    4: no tuner
    5: Philips PAL tuner
    6: Temic NTSC tuner
    7: Temic PAL tuner
    8: Alps TSBH1 NTSC tuner
    9: Alps TSBE1 PAL tuner

    Et voici les modules sons (à charger suivant la carte, regardez si vous avez un chip sur votre carte avec un nom ressemblant a ceux énoncés ici, ou essayez les un après les autres jusqu'à avoir du son) :
    msp3400 (la plupart des cartes stéréo bttv)
    tea6300 (STB TV/FM, autres cartes stéréo, très répandu aussi)
    tda8425 (inclus dans le bttv.c avant, si votre son marchait avant mais plus maitenant, chargez ce module)
    tda9855 (chipset tda9855 stéréo decoder)
    dpl3518 (chipset pro logic, pour les cartes dolby pro logic)

    Voila j'espère que cela vous aidera, beaucoup de personnes m'ont contacté pour des problèmes de son avec les nouvelles cartes tuner TV.

    Télécommande infrarouge

    L'auriez-vous cru ? Vous allez pouvoir utiliser une télécommande à infrarouge afin de piloter votre télé ! Original non ? :)

    LIRC

    Ce logiciel (Linux Infrared Remote Control) permet d'utiliser les télécommandes à infrarouge du marché (celle de votre télé, etc.), pour peu que vous construisiez un récepteur adapté.
    Voir le site de LIRC.

    La télécommande Miromedia Remote (qui se vendait avec la Miro PCTV il y a deux ans) n'est pas supportée ; un de mes projets actuels est de faire un driver afin de pouvoir l'utiliser avec son récepteur qui se branche en gigogne sur la souris série. Une piste est aussi le support des dongles pour IrDA dans le noyau. Contactez-moi pour me dire : 1) si cela existe déjà 2) si vous êtes intéressés !
    Rubrique en cours de réalisation

    Les logiciels

    Il existe de nombreux logiciels permettant de tirer parti de la carte télé. Nous ne présenterons ici que ceux permettant simplement de regarder la télé, pour ceux qui permettent plus de choses, il y a d'autres adresses intéressantes, mais je ne sais pas où les trouver...

    Chaque environnement dispose en général de son logiciel ;  voici une sélection de logiciels parmi l' existant.

    Réglages fins

    Virer l'économiseur d'écran

    C'est pénible que l'économiseur d'écran se mette en route le samedi soir pendant le film, non ? Pour cela, rien de tel qu'un petit script

    #!/bin/sh
    xset s off
    kwintv      #(mettez ici votre logiciel préféré)
    xset s on

    qui supprime l'économiseur d'écran le temps où la télé fonctionne.

    Afficher la télé en plein écran avec la résolution maximale

    Quelle est la résolution maximale que peut avoir une image télé ? 768x576 !
    Vous avez sans doute été confronté au dilemme : soit j'affiche en plein écran, alors je perds en résolution (640x480), soit je me mets en 800x600 et j'ai des bords noirs. Comment profiter de toute la surface de votre moniteur 12 pouces et conserver la meilleure résolution possible de l'image télé ?

    Facile : en configurant XFree pour qu'il affiche dans la résolution maxi de la télé : 768x576.

    Et oui, les résolutions standard 640x480, 800x600, 1024x768, etc. ne sont pas les seules que vous pouvez obtenir de votre matériel, et Linux avec XFree86 est suffisamment flexible pour vous permettre de définir vos propre résolutions !!!

    Assez causé, comment qu'on fait ?

    Il suffit de bidouiller le fichier /etc/X11/XF86Config, et créer un Mode 768x576 :

    1. Dans la section "Monitor", ajouter une ligne comme celle-ci :
    # 768x576 @ 100 Hz
    ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 #100Hz

    Attention, cette ligne dépend de votre matériel, et ne fonctionnera sûrement pas chez vous. Ne m'envoyez pas de mail après avoir copié cette ligne si vous n'arrivez pas à afficher dans cette résolution !
    Allez plutôt voir le Colas XFree Modeline Generator, qui est une page excellente vous permettant de calculer les valeurs de votre ligne Mode. Munissez-vous de la doc. de votre moniteur (fréquences) et de votre carte vidéo ! Si vous ne connaissez pas les fréquences que votre matériel peut gérer, essayez avec des valeurs pas trop élevées (moins de 75Hz). Attention, si vous avez un vieux moniteur à fréquences fixes, vous risquez de le griller s'il n'accepte pas la fréquence que vous lui demandez (les nouveaux moniteurs acceptent toutes les fréquences dans une place, les vieux n'acceptaient que des valeurs discrètes) ! En cas de problème, c'est pas ma faute !!!

    2. Dans la section "Screen", ajoutez aussi dans la sous-section "Display", la valeur "768x576" à la liste des modes, comme ci-dessous :
    Modes  "1024x768" "800x600" "768x576" "640x480"

    Vous allez sûrement devoir tester plusieurs réglages, car le nouveau mode risque d'être rejeté. Pour ce faire, démarrez en runlevel 3 (en root, tapez init 3, ou bien lors du boot, à l'invite LILO, tapez linux 3, ou bien dém*** vous :).

    Modifiez votre /etc/X11/XF86Config, et lancez "startx >un.txt 2>deux.txt" puis quittez X. Examinez ensuite les deux fichiers un.txt et deux.txt afin de voir si votre mode a été rejeté ou non. S'il a été rejeté, recommencez avec une nouvelle ligne.
    Si c'est bon, vous pouvez passer dans cette résolution, soit à la main (Ctrl Alt + / Ctrl Alt -), soit automatiquement si votre programme de télé le permet (ex : kwintv).

    The end

    Voilà... bonne télé !

    Ressources :
    La page d'E. Michon sur l'installation d'une carte télé sous Linux (lien mort), une bonne vieille référence,
    La page de kwintv, de xawtv,
    freetv (lien mort ?), à but purement éducatif :-)

    Haut


    Gestion du son sous Linux

    Par Serge

    Quand les pinguoins chantent!


    Ce document traite des problèmes de son sous Linux. Il existe deux séries de drivers différents pour Linux :

    OSS

    Par défaut pour les kernels de version inférieure à la 2.6 (ie: 2.2 et 2.4), le support du son est OSS. L'installation de celui-ci n'est pas très compliquée. Sous les distributions comme la RedHat, Mandrake la détection des cartes est automatique la plupart du temps (au pire il faut lancer sndcondig en tant que root pour que cela le soit). Pour les autres distributions, le kernel est correctement configuré et tous les modules de cartes son sont déjà compilés. Il suffit juste alors pour activer la carte de passer par leurs utilitaires de configuration (sndconfig, ou autre), ou d'ajouter les entrées manuellement dans /etc/modules.conf (parfois conf.modules selon l'âge de la distribution).

    Tout d'abord si votre carte est Plug'n Play sur bus ISA (très vieille carte son), veuillez lire la rubrique PnP car je suppose que votre carte PnP est correctement configurée.

    Configuration du kernel

    Vérifiez que le kernel est compilé avec comme options :

    loadable module support YES
    Kernel module support YES
    config sound M (module)

    et tous les supports des différentes cartes sons en M (par exemple config sounblaster M, config awe M ...).

    Une fois votre kernel compilé (make dep, make clean, make zlilo ou bzImage et config de lilo) ainsi que les modules (make modules, make modules_install en ayant renommé le répertoire /lib/modules/verson_kernel en /lib/modules/version_kernel-old par exemple avant le make modules_install ) (voir rubrique noyau ) on édite le fichier /etc/conf.modules.

    Configuration /etc/modules.conf (ou conf.modules suivant votre distribution).

    C'est ce fichier qui vas permettre de charger les modules de votre carte son. La syntaxe est assez simple :

    alias sound nom_module  (par exemple nom_module=sb pour une soundblaster)
    options sound io=0xADR irq=IRQ DMA0=dma8bits DMA1=dma16bits 

    (avec ADR l'adresse d'entrée sortie de la carte, 220 par exemple, IRQ l'irq (interruption) bien sûr, DMA0 et DMA1 les numéros des canaux DMA 8 et 16 bits)

    Comme je ne connais pas toutes les cartes son et les modules par coeur, veuillez vous référer aussi au HOWTO sur le son, et les MINI-HOWTO pour les cartes son spécifiques pour des modules complémentaires (midi, wavetable etc...). Avec ce que je vous donne vous avez déjà le support PCM (son numérique pour lire les WAV, MP3 par exemple). Vous trouverez alors les options que l'on peut passer à chaque module et leur significations. La liste des HOWTO traduits en français est disponible ici.

    Pour tester si on utilise le bon module, on va le charger manuellement:

    modprobe sound

    ça devrait se charger sans problème ; sans messages d'erreurs. S'il y en a un, vérifiez votre /etc/conf.modules, peut-être que vous avez fourni de mauvaises options ou un mauvais module pour votre carte son (attention aux cartes son soi-disant compatibles Sound Blaster, comme celles à base de chipset crystal, charger le module pour crystal et non pas le SB).De même les dernières SoundBlaster (Live, Audigy etc..) n'utilise pas le module sb mais des nouveaux modules comme le emu10k1.

    Une fois le module chargé, on peut tester le son, lancez alors une application qui joue du son comme par exemple mpg123 pour les mp3, workbone pour lire les CD ou tout autre application sous X comme XMMS.

    S'il n'y a pas de son qui sort mais que vous n'avez aucune erreur, regardez aussi avec un mixer sous un WM que les volumes sonores ne sont pas à zéro aussi, et que votre lecteur CD est bien relié à la carte son. Vérifiez aussi que le plugin de sortie de XMMS est bien : oss, ou arts (si vous êtes sous KDE), ou esd (si vous êtes sous Gnome).

    Si ça fonctionne : vous avez gagné ! Votre carte son est configurée.

    Mais, une chose frustrante, c'est que vous avez une carte full duplex par exemple, mais OSS par défaut ne prend pas en charge le full duplex ! Quoi ce super OS ne prend pas en charge le full duplex ??? Si, rassurez-vous :) Deux solutions là, soit passez à la version commerciale de OSS, soit passez par ALSA qui de toute façon devient le driver son offciel du kernel maintenant (à partir du 2.6).

    ALSA

    Qu'est-ce donc? Non je vous entends rire ce n'est pas la préparation pour les flans ou gâteaux :)
    C'est un nouveau support des cartes son pour Linux, full duplex, GPL et qui gère beaucoup mieux les ressources systèmes que son homologue OSS. Le développement de ce projet est extrêmement actif, on a à peu près une mise à jour toutes les deux semaines avec presque à chaque fois des supports pour de nouvelles cartes son. De plus il a l'excellente idée d'être (presque) 100% compatible avec les applications qui utilisent OSS. Bref je vous encourage vivement d'installer les drivers ALSA quelque soit la version de votre kernel.

    Compilation des drivers ALSA

    Avant de compiler quoi que ce soit, vérifiez quand même que votre distribution ne comporte pas déjà les drivers ALSA (ce qui le cas maintenant pour les distributions les plus connues) ou s'il n'existe pas déjà un "package" tout prêt pour votre distribution.

    Bon tout d'abord, si vous avez un kernel inférieur à la version 2.6, allez sur leur site ( www.alsa-project.org) et récupérez les Drivers, Library, Utilities, Tools, Firmware et OSS compat.Library dans leurs dernière versions (1.0.4 à l'heure où j'écris ces lignes).

    Bon dans un répertoire de votre choix et en tant que root, on dézippe/détarre tout ça :

    tar zxvf nom_du_tar.bz2

    Avant de continuer, on va enlever toutes les entrées correspondantes au son dans /etc/modules.conf (si vous ne savez pas quelles lignes enlever, envoyez dans la liste de diffusion ou le forum votre /etc/modules.conf et on vous aidera (mais ce sont des lignes qui commencent par alias snd-card... ou alias sound-slot...).

    Une fois cela fait, vous allez dans le répertoire des sources alsa-drivers, puis :

    ./configure options
    make
    make install

    La plupart du temps un simple ./configure sans option suffit. Mais si vous vous apercevez qu'il vous manque le support midi ou autre, vous pouvez toujours forcer les options avec:

    --with-isapnp=yes SI votre carte son est une carte ISA PnP (SBawe64, etc...)
    --with-sequencer=yes Activer le support midi (surtout pour les cartes dites "WAVETABLE")
    --with-oss=no Désactiver le support OSS (vivement déconseillé, 90% des applications utilisent un support OSS)
    --with-debug=full Information de déboguage (si vous avez des bugs et que vous voulez les reporter à l'équipe de développement ALSA ou si vous êtes développeur)
    --with-debug=detect
    Pour activer le déboguage pour la détections des cartes son. Même remarque qu'au dessus si votre carte n'est pas détectée.

    Une fois les drivers compilés, lancez le script ./snddevices pour créer les entrées nécessaires dans /dev.

    Puis compilez  les librairies, puis les utilitaires (dans cet ordre autrement ça ne passera pas) par le classique : ./configure && make && make install.

    Configuration des modules ALSA.

    Il existe un outils livré avec les drivers ALSA qui configure tout tout seul, alors pourquoi s'en priver!
    Cet outil s'appelle alsaconf et il doit être installé si vous avez bien compilé/installé les Utilities. Si votre distribution ne vous fournit pas cet utilitaire, récupérez le téléchargeant juste les Utilities sur http://www.alsa-project.org.

    Si maintenant alsaconf ne fonctionne pas, ou si vous voulez vraiment configurez le tout à la main on va entrer alors dans les détails. Tout d'abord il faut absolument que vous sachiez quelle est votre carte son précisément. Une référence "compatible sound blaster" ne suffit pas, il existe plus de 10 chipsets «compatibles sound blaster» qui pour ALSA sont 10 cartes différentes avec des modules différents. En fait ALSA dispose d'un module par chipset. Donc renseignez vous sur votre carte son (notice, site web du constructeur, etc...).

    Une fois que vous savez qu'elle est votre carte son, vous allez la chercher ici: http://www.alsa-project.org/alsa-doc/ en choisissant en premier la marque dans la liste déroulante puis en cliquant sur "Détails" dans la colonne "Driver & doc" qui correspond à votre modèle de carte son.
    Une fois arrivé sur la page de documentation, recherchez alors la rubrique "Setting up modprobe and kmod support" qui va vous donner les lignes à ajouter dans votre /etc/modules.conf, ajoutez-les et voilà!

    Réglages et automatisation.

    Un des problèmes les plus courants avec ALSA est que vous avez tout configuré, aucun message d'erreur mais vous n'avez aucun son! En fait cela est souvent normal car ALSA règle par défaut tout les volumes à zéro ET met en sourdine aussi tout les canaux de votre carte son. Pour remédier à ça et pour que les volumes soient conservés à chaque redémarrage vous devez dans un premier temps vous assurez que vous ayez un script de démarrage "ALSA" sur votre système. C'est surement le cas si ALSA est fournit dans votre distribution, autrement vous en trouverez de déjà tout fait alsasound dans le sous répertoire utils des sources de Drivers de ALSA.

    Suivant votre distribution, installez ce script de démarrage ALSa pour les niveaux d'init que vous souhaitez. Si, c'est du chinois, lisez cette documentation.

    Une fois ce script installé, démarrer alors le service ALSA via ce dernier (la lecture de la documentation précitée peut vous y aider. Lancez alors en tant que root et en console l'utilitaire alsamixer. Vous allez alors régler les volumes de chaque canal de votre carte son à votre convenance. Pour cela utilisez les flèches pour choisir le canal et régler son volume sans oublier de DEMUTER le canal en appuyant sur la touche M (si le canal est muté un M apparaît au dessus de l'indicateur de volume).

    Une fois les volumes réglés comme vous le souhaitez, quittez alsamixer par ALT+X. Sauvegardez alors ces volumes pour le prochain redémarrage via la commande:

    alsactl store .

    De ce fait, tout vos réglages seront conservés lors du prochain reboot.

    un petit mot sur les démons de son

    Gnome et KDE utilisent chacun un démon de son, malheureusement différent : c'est ESD pour Gnome et ARTS pour KDE. Qu'est-ce que c'est ? C'est est un programme qui s'intercale entre le support son (OSS ou ALSA) et les applications, et qui permet par exemple à plusieurs amplications de jouer du son simultanément (on peut ainsi jouer un mp3 et entendre les sons système de son environnement en même temps, tout en recevant les notifications sonores de licq).

    ESD

    Pour ceux qui aiment bien Gnome et qui l'utilisent, je vous signale que celui-ci utilise par défaut ESD comme démon sonore, donc il faut l'activer avant tout !
    Cochez la case correspondante dans la configuration de Gnome relative aux sons systèmes, il lancera alors ESD dès son démarrage. Attention : certaines applications ne savent pas utiliser ESD pour le son, donc ne vous étonnez pas de ne plus avoir de son sous certaines applications après avoir lancé ESD, d'autres demandent d'être recompilées pour utiliser ESD, pour d'autres comme XMMS un plugin suffit. ESD est nécessaire aussi pour Enlightenment (c'est d'ailleurs pour cela qu'il est nécessaire pour Gnome vu que E est (était) souvent le WM de gnome). ESD tourne sans problème à partir du moment où votre carte son fonctionne au départ. Lancez ESD sous un terminal/console et vous entendrez un « tu lu lu » indiquant que ESD est lancé et fonctionne. Il tourne alors en arrière plan comme daemon.

    ARTS

    ARTS est le démon de son de KDE. Selon votre distribution, il sera activé par défaut ou non. Pour l'activer ou le désactiver, lancez le panneau de configuration de KDE, dans la rubrique son vous trouverez une case à cocher pour activer arts au démarrage de KDE. En cliquant sur [OK] ou [Appliquer], le démon sera démarré automatiquement.
    De la même façon que pour ESD, il faut généralement un plugin pour utiliser arts, par exemple avec xmms ou xine. Certains programmes (comme licq par exemple) peuvent utiliser un simple script soundwrap qui jouera le son via arts si celui-ci est présent, ou directement via les drivers son sinon. Si votre programme permet de configurer l'utilitaire qui joue les sons, vous pourrez l'utiliser ainsi à travers arts.

    Enfin, pour certains programmes ne supportant pas arts (ou esd d'ailleurs) il sera nécessaire d'arrêter le démon afin qu'ils puissent faire du bruit !

    Haut


    Installer une carte Sound Blaster Audigy avec un kernel 2.4.x

    Sylvain Borde

    En Attendant l'emu10K2...


    Ce document a pour but d'expliquer comment installer une carte SoundBlaster Audigy sur un système linux doté d'un kernel 2.4.x. C'est exactement ce que j'ai fait avec un kernel 2.4.4 et cela semble fonctionner parfaitement sur mon système. Il n'existe pas aujourd'hui de driver propre à l'Audigy, l'emu10K2 est en cours de développement, mais des drivers emu10k1 modifiés permettent de bénéficier d'une partie des fonctionnalités de la carte, c'est de ceux-ci dont il est question ici.

    Ces notes sont destinées à un utilisateur sachant compiler le kernel.

    Attention : En ce qui concerne l'installation du port de jeu de l'Audigy, je ne suis pas certain que cela fonctionne avec un kernel différent du 2.4.4.

    Les sources qu'il vous faut

    Kernel 2.4.4

    Tout d'abord vous devez avoir installé les sources du kernel 2.4.4.Attention : Les sources doivent se trouver dans le répertoire /usr/src/linux/ pour l'installation des drivers de la carte son, si ce n'est pas le cas créez un lien symbolique en tant que super-utilisateur de cette manière :

    # ln -s /la/ou/se/trouvent/les/sources /usr/src/linux

    emu10k1

    Ensuite procurez vous les sources des derniers drivers emu10k1 pour Audigy sur le site :http://sourceforge.net/projects/emu10k1.
    A ce jour, j'utilise les sources nommées: "audigy-driver-2002-02-14.tar.gz", que vous pouvez également trouver ici.

    Faire fonctionner le port de jeu

    Pour ceux qui ne veulent faire fonctionner que le son, cette étape ne leur est pas utile.En ce qui concerne l'installation du port de jeu de l'Audigy, je ne suis pas sûr que cela fonctionne avec un kernel différent du 2.4.4, cela reste à tester. De plus, à partir du kernel 2.4.18, le port de jeu de l'Audigy est supporté sans avoir à modifier le module de gestion du port comme nous allons le faire.Le fichier se trouve dans le répertoire /usr/src/linux/drivers/char/joystick/, ouvrez avec votre éditeur favoris le fichier "ns558.c". Vous devez trouver les lignes suivantes :

    #ifdef CONFIG_PCI
    static struct pci_device_id ns558_pci_tbl[] __devinitdata = {
    { 0x1102, 0x7002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB Live! gameport */
    { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* ESS Solo 1 */
    { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* S3 SonicVibes */
    { 0, }
    }; 
    Ajouter une ligne pour l'audigy gameport comme cela :#ifdef CONFIG_PCI
    static struct pci_device_id ns558_pci_tbl[] __devinitdata = {
    { 0x1102, 0x7002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB Live! gameport */
    { 0x1102, 0x7003, PCI_ANY_ID, PCI_ANY_ID }, /* Audigy! Gameport */
    { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* ESS Solo 1 */
    { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, /* S3 SonicVibes */
    { 0, }
    };

    Sauvegardez le fichier "ns558.c" ainsi modifié. Vous pouvez maintenant compiler votre kernel.

    La compilation du kernel

    Vous devez compiler votre kernel avec les options suivantes :

    Pour le son :

    Dans "Loadable modules support" mettre "y" pour "Enable loadable module support"Dans "Processor type and features" mettre "n" pour "Symmetric multi-processing support"Dans "Sound" mettre "m" à "Sound card support" et à "Creative SbLive! (EMU10K1)"

    Pour le port de jeu :

    (seulement si vous avez modifié ns558.c)Dans "Character devices", sous "Joystick", mettre "y" à "joystick support" et "m" à "ns558 gameports"Pensez à votre joystick, si par exemple vous avez un sidewinder, mettez "m" à "Microsoft Sidewinder digital joysticks and gamepads"Maintenant c'est l'heure de la compilation alors je vais vous laisser aux joies du "make bzImage" et autres "make modules" (voir l'article sur le kernel). Avant la compilation, pensez à sauvegarder votre ancien noyau et ses modules, juste au cas où...

    L'installation des drivers

    Bon, si tout s'est bien passé jusqu'ici, ça y est presque.

    Installation à partir des sources

    Décompressez les sources, dans mon cas la commande sera :

    # tar xvfz audigy-driver-2002-02-14.tar.gz

    Allez dans le repertoire des sources des drivers Audigy, celui-ci est normalement nommé ./emu10k1-audigy/. Tapez les commandes suivantes :

    # make -f Makefile
    # make install
    # make tools
    # make install-tools

    Modification de "modules.conf"

    Maintenant il ne reste qu'à modifier le fichier "modules.conf", il se trouve généralement dans le répertoire /etc/.

    Si vous voulez uniquement le son éditez "modules.conf" et ajoutez y ces lignes à la fin :

    alias sound on
    alias midi on
    
    alias char-major-14 emu10k1

    Si vous voulez activer le port de jeu muni un joystick vous ajouterez plutôt :

    alias sound on
    alias midi on
    
    alias char-major-14 emu10k1
    post-install emu10k1 modprobe "-k" char-major-13
    
    alias char-major-13 ns558
    pre-install ns558 modprobe "-k" joydev
    post-install ns558 modprobe "-k" Xjoystick

    Xjoystick doit-être le nom du module correspondant à votre joystick. Ainsi pour un sidewinder la dernière ligne sera :

    post-install ns558 modprobe "-k" sidewinder

    Cette écriture dans "modules.conf " permet d'activer la prise en charge du joystick en même temps que celle du son, ainsi dès que la carte est utilisées le port de jeu est activé.

    C'est la fin...

    Voilà, c'est fini maintenant on reboute avec le nouveau noyau et ça devrait fonctionner.Pour plus d'infos sur le contrôle de la carte pensez à lire la documentation fournie avec les drivers téléchargés. Il y a un fichier "README.FRANCAIS" dans le répertoire ./emu10K1-Audigy/docs/.

    Haut


    Installation d'un scanner SCSI
    grâce à SANE

    par Fred et Christian Vivet.

    Comme moi, vous laissiez Win$$$ encombrer votre disque pour pouvoir scanner de belles photos...
    Et bien ça ne sert à rien, Linux fait aussi bien et cela sans enrichir l'homme le plus riche du monde.


    Les informations contenues dans cette page ne sont aucunement garanties. Je les ai mises à la disposition du plus grand nombre pour rendre service, pas pour lire des reproches. Néanmoins, j'apprécierai grandement toutes les critiques constructives, en particulier, celles liées à mon orthographe déplorable, à ma syntaxe difficile à suivre et aux erreurs qui se sont certainement glissées subrepticement au sein de ce texte. Si vous voyez quelque chose à ajouter, je vous serais reconnaissant de bien vouloir me mailer les modifications que vous apportez à ce document. En plein accord avec l'esprit de liberté qui préside aux développements de linux, faites ce que vous voulez de ce texte, sauf prétendre que c'est vous qui l'avez écrit.

    Ce document concerne l'installation d'un scanner et plus spécifiquement d'y-celui que j'ai chez moi : le Snapscan 310 SCSI. En fait, je pense que la procédure est globalement la même quelque soit le scanner, excepté l'application du patch spécifique au Snapscan (évidemment ;-). Ce document est écrit sous la forme d'une seule page, il est, de cette façon, plus facile de le télécharger.

    Remarque :

    Les scanners USB commencent à être supportés également par Linux. Voir la rubrique correspondante.

    Pour installer un scanner SCSI sous Linux vous aurez besoin de :

    Note : l'ensemble de la procédure d'installation décrite se déroule avec les droits de root donc faites attention à ce que vous taperez. Certaines parties de la procédure ne nécessitent pas réellement ces droits, mais ce sera plus simple pour moi de décrire l'ensemble de la procédure avec ces droits-ci. Si le coeur vous en dit essayez vous-même de vous passer de ces droits, linux vous préviendra quand vous essayerez de les outrepasser.

    Récupérer les sources du noyau

    Pour les novices

    Votre distribution vous fournit forcément les sources du noyau. Pour les besoins de l'explication j'utiliserai dans ce document l'exemple de la Mandrake 6.0 ou plus (fonctionne sur une Mandrake 8.0).

    1. Il faut monter le CD de votre distribution.

    [root@becane home]# mount /mnt/cdrom

    Vous pouvez/devez vous passez de cette étape si vous utilisez supermount.

    2. Il faut installer les sources du noyau.

    Avec la Mandrake 6.0 les sources du noyau portent le joli nom de : kernel-source-2.2.9-19mdk.i586.rpm.  Pour les installer, tapez :

    [root@becane home]# rpm -i /mnt/cdrom/Mandrake/RPMS/kernel-source-*.rpm

    Si vous n'avez pas la Mandrake 6.0, mais une autre distribution basée sur le système de package RPM la procédure est identique. Il faut seulement changer le chemin d'accès aux packages et le nom du package (ce sera toujours quelque chose du type kernel-source*, kernel-src*).

    Pour les plus expérimentés :

    Récupérez les derniers sources du noyau sur ftp://ftp.fr.kernel.org/pub/linux/kernel/v2.4. Ainsi, si des problèmes ont été réglés par les développeurs du noyau, vous bénéficierez de ces améliorations.

    Vous les décompressez dans le répertoire /usr/src :

    [root@becane root]# cd /usr/src
    [root@becane src]# tar xzvf /ou/trouver/les/sources/kernel-xxx.tar.gz

    Récupérer les sources de SANE

    Je ne décrirai rien de particulier, les sources de SANE sont disponibles sur le site de SANE. La version des librairies SANE que j'ai utilisées est la 1.0.5 ; chez moi elles fonctionnent correctement avec la Mandrake 8.0.

    Décompressez les sources :

    [root@becane root]# cd /usr/src
    [root@becane src]# tar xzvf /ou/trouver/les/sources/sane-backends-1.0.5.tar.gz
    [root@becane src]# tar xzvf /ou/trouver/les/sources/sane-frontends-1.0.5.tar.gz

    Récupérer les sources du patch pour les Snapscan

    Les sources du patch sont disponibles, sur le site du rédacteur du "backend" du Snapscan

    Plusieurs conseils :

    1. Si vous n'avez pas de Snapscan : Ne télécharger aucun des ces patchs : ces patchs sont d'après le rédacteur en beta.
    2. Si vous avez un Snapscan : Télécharger l'un de ces patchs !

    Bon maintenant vous avez le patch, décompressez-le :

    [root@becane root]# cd /usr/src/sane-backends-1.0.5/backend
    [root@becane backend]# tar xzvf /la/ou/est/snapscan-<version>.tar.gz

    C'est bon tout est prêt ! On va maintenant configurer votre carte SCSI, passez ce qui suit si votre carte SCSI est correctement configurée avec le support des périphériques génériques (c'est certainement déjà le cas si vous avez un graveur de CD SCSI correctement configuré).

    Installation du noyau avec support des modules et du SCSI

    Vérifions que le noyau que vous utilisez ne contient pas déjà tout ce qu'il faut :

    [root@becane home]# ls /lib/modules/`uname -r`/scsi
    53c7,8xx.o    aha1542.o   eata_pio.o   initio.o     qlogicfas.o   sym53c8xx.o AM53C974.o    aha1740.o   fdomain.o    ips.o        qlogicfc.o    t128.o BusLogic.o    aic7xxx.o   g_NCR5380.o  megaraid.o   qlogicisp.o   tmscsim.o NCR53c406a.o  atp870u.o   gdth.o       ncr53c8xx.o  scsi_debug.o  u14-34f.o a100u2w.o     dtc.o       ide-scsi.o   pas16.o      seagate.o     ultrastor.o advansys.o    eata.o      imm.o        ppa.o        sg.o           wd7000.o aha152x.o     eata_dma.o  in2000.o     psi240i.o    sym53c416.o

    Si le module sg.o existe, après avoir trouvé dans /usr/doc/HOWTO/BootPrompt-HOWTO le nom du module que vous devez charger pour votre carte SCSI, vous pouvez passer à la section suivante.

    Sinon faites ce qui suit :
    Pensez à lire la rubrique noyau.

    A partir de maintenant vous devrez tout savoir sur votre carte SCSI : son nom, le numéro de l'interruption (IRQ) ainsi que  la plage d'adresse (IO) qu'utilise votre carte SCSI. Toutes ces informations peuvent être obtenues :

    Pour certaines cartes, l'interruption et l'adresse sont détectées automatiquement ; si vous avez l'une d'entre elles, vous n'avez pas besoin de vous en soucier ; vous pouvez voir si c'est le cas dans /usr/doc/HOWTO/BootPrompt-HOWTO.

    1. On va compiler tout ce qui nous intéresse sous forme de modules. Pour cela, on se place dans le répertoire contenant les sources du noyau /usr/src/linux :

      [root@becane root]# cd /usr/src/linux

    2. On configure le noyau :

      [root@becane linux]# make xconfig

      a partir de là, nous utilisons un programme de configuration qui est plus "convivial" que la ligne de commande mais peut-être quand même un peu abscons. Je vais donc décrire tout ce qui concerne le SCSI car moi aussi j'ai galéré quand j'ai compilé pour la première fois un noyau Linux, mais pour ce qui concerne le reste de votre configuration je vous renvoie à la rubrique noyau. Si vous avez déjà compilé votre noyau pour une autre raison, vous n'avez qu'à modifier votre configuration que sur ce qui suit.
    3. Activez le support des modules dans la rubrique :  <Loadable module support>,  vous activez (vous cochez les <y>) :
    4. Dans la rubrique SCSI support, vous activez en tant que modules (les <m> doivent être cochés) :
    5. Dans la rubrique SCSI low-level driver vous activez le module correspondant à votre carte en cochant le <m>  (LISEZ l'aide disponible par le bouton <Help> afin de voir de quel module vous avez besoin), et vous désactivez tous les autres modules en cochant les <n>.

      Notez le nom du module correspondant à votre carte SCSI (dans la rubrique <Help> en face de chaque module, le nom est indiqué par :
          The module will be called : XXXXXXXX.o
      seul le XXXXXXXX nous intéresse, il sera désigné à partir de maintenant par VOTRE-MODULE).

      ATTENTION : les cartes AVa 1505 XXX sont reconnues par linux comme étant des cartes AHA152x (nom du module aha152x) ! Certaines sont Plug&Play et paradoxalement plus compliquées à paramétrer avec Linux (cf : plug&play).

    6. Vous configurez le reste de votre noyau et de vos périphériques (cf : rubrique noyau).
    7. Il est conseillé de sauver votre configuration dans un fichier en cliquant avant sur <Store Configuration to File>  (un bon endroit est /root/kernel-config).
    8. Vous sauvez votre configuration de noyau en cliquant sur <Save And Exit>.
    9. Vous compilez et installez le noyau et les modules :
       Pour faire un peu de ménage :
          [root@becane linux]# make clean

      Pour que linux y retrouve ses petits :
          [root@becane linux]# make dep

       Pour créer votre noyau :
          [root@becane linux]# make zImage

      Pour créer vos modules :
          [root@becane linux]# make modules

       Pour installer votre noyau (attention cela modifie votre répertoire /boot et  lance lilo):
          [root@becane linux]# make install

      Pour installer vos modules dans le répertoires ad hoc :
          [root@becane linux]# make modules_install

    10. A partir de maintenant vos modules sont prêts ! Mais non fonctionnels, il faut rebooter votre nouveau noyau et recenser les modules (c'est automatique) :

      [root@becane linux]# reboot

    Bon, effectivement il faut rebooter une fois, mais c'est tout, après ce ne sera plus la peine (sauf si vous ajoutez un nouveau périphérique...).

    Tout ceci est inutile si vous utilisez la Mandrake ou la RedHat (et certainement la plupart des distributions) car les distributions modernes disposent déjà de tous les modules précompilés. Mais je vous conseille de compiler votre noyau au moins une fois en n'activant que ce que vous utilisez (mais tout ce que vous utilisez : n'oubliez pas les modules ppp - il m'est arrivé de galérer plusieurs heures pour me reconnecter à Internet parce que j'avais oublié ce $*?! de module - , les modules de gestions de l'imprimantes, etc...), de cette façon votre noyau sera adapté à votre configuration et pas à toutes les configurations possibles (ce dont vous devez vous moquez comme de mon premier win$$$).

    Configuration des modules et des devices

    Les modules

    Maintenant, il vous faut configurer les modules ! Donc, éditez le fichier /etc/conf.modules, ce fichier dit au chargeur de modules de quelle manière doivent être chargés ces modules ; pour gérer votre carte SCSI, il doit contenir (au moins) les lignes suivantes :

    alias scsi_hostadapter VOTRE-MODULE
    options VOTRE-MODULE VOTRE-MODULE=VOTRE-IO,VOTRE-IRQ

    ATTENTION : je ne bégaie pas !  VOTRE-MODULE est répété deux fois ! Le premier indique à quel module ce qui suit s'adresse, le second indique quel paramètre passer au noyau lors du chargement de ce module.

    Le VOTRE-MODULES est le nom du module que vous avec compilé (le XXXXXXXX que je vous ai dit plus haut de noter). Pour ce qui concerne les options, je n'ai indiqué que celles des cartes compatible aha152x (c'est celle que j'utilise...).

    Pour plus d'information sur les options des modules voir les HOWTO qui leur sont consacrés (par exemple : dans /usr/doc/HOWTO/BootPrompt-HOWTO, cherchez VOTRE-MODULE et lisez bien ce qui est écrit, normalement ce sont des options à passer au noyau quand le driver correspondant n'est pas compilé comme un module, mais il se trouve que ce sont les mêmes que celles à passer à modprobe. Pour certaines cartes il n'y a pas d'option : tant mieux c'est que le driver détecte tout tout seul, dans ce cas, seule la ligne "alias" est nécessaire).

    Pour ma carte AVA 1505 qui utilise l'interruption 9 et l'adresse 0x340 (ou 340h d'après Win$$$), j'ai inséré les lignes :

    alias scsi_hostadapter aha152x options aha152x aha152x=0x340,9

    Maintenant si tout a bien fonctionné vous devez pouvoir charger le module de votre carte SCSI, allumez votre scanner et tapez :

    [root@becane linux]# modprobe VOTRE-MODULE

    Si vous n'avez pas de message d'erreur, c'est que vous êtes sur la bonne voie, une petite vérification supplémentaire, pour voir ce que Linux trouve sur votre chaine SCS, tapez :

    [root@becane linux] cat /proc/scsi/scsi
    Attached devices:
    Host: scsi0 Channel: 00 Id: 01 Lun: 00
      Vendor: RICOH    Model: MP6200S          Rev: 2.20
      Type:   CD-ROM                           ANSI SCSI revision: 02
    Host: scsi0 Channel: 00 Id: 04 Lun: 00
      Vendor: AGFA     Model: SNAPSCAN 310     Rev: 1.20
      Type:   Scanner                          ANSI SCSI revision: 02
    Host: scsi0 Channel: 00 Id: 05 Lun: 00
      Vendor: IOMEGA   Model: ZIP 100          Rev: J.02
      Type:   Direct-Access                    ANSI SCSI revision: 02

    Là, j'ai mis ce que donne le scanne de ma chaine SCSI. La partie intéressante est celle qui indique que Linux a trouvé un scanner. Que d'efforts pour si peu de chose ! Mais maintenant que tout fonctionne, vous n'aurez plus jamais (à voir...) à tapez ce genre de commandes. C'est tout l'intéret de modifier le fichier /etc/conf.modules : il indique au chargeur de modules les paramètres à passer à ceux-ci.

    Remarque : dans les informations qui sont retournées par cat /proc/scsi/scsi :

    Les devices

    L'accès à votre scanner se fera par l'intermédiaire de périphériques, aussi appelés devices (les "fichiers" spéciaux contenus dans /dev comme par exemple /dev/hda1 qui permet d'acceder à la partition numéro 1 du dique maitre sur la première nape IDE), mais pour cela il faut qu'ils existent ;-). Normalement, ce doit être déjà le cas, mais vérifions que vous disposez bien de ces devices : les fichiers /dev/sg* :

    [root@becane /dev]# ls /dev/sg* -l
    crw-------   1 root     sys       21,   0 May  5  1998 /dev/sga
    crw-------   1 fred     sys       21,   1 May  5  1998 /dev/sgb
    crw-------   1 root     sys       21,   2 May  5  1998 /dev/sgc
    crw-------   1 root     sys       21,   3 May  5  1998 /dev/sgd
    crw-------   1 root     sys       21,   4 May  5  1998 /dev/sge
    crw-------   1 root     sys       21,   5 May  5  1998 /dev/sgf
    crw-------   1 root     sys       21,   6 May  5  1998 /dev/sgg
    crw-------   1 root     sys       21,   7 May  5  1998 /dev/sgh

    Si ces devices n'exitent pas il faut les créer !

    [root@becane dev]# mknod /dev/sga c 21 0
    [root@becane dev]# mknod /dev/sgb c 21 1
    [root@becane dev]# mknod /dev/sgc c 21 2
    [root@becane dev]# mknod /dev/sgd c 21 3
    [root@becane dev]# mknod /dev/sge c 21 4
    [root@becane dev]# mknod /dev/sgf c 21 5
    [root@becane dev]# mknod /dev/sgg c 21 6
    [root@becane dev]# mknod /dev/sgh c 21 7

    Bon , ça devrait suffire. Evidemment, votre distribution devrait déjà avoir créé tous ces périphériques (en cas de problème : changez de distribution, c'est pour ça qu'il y en à plusieurs ! ;-)

    Remarque :  pour ceux que ça intéresse :

    mknod /dev/sga c 21 0

    crée un fichier spécial (un device) appelé sga dans le répertoire /dev (normalement tous les périphériques sont créé dans ce répertoire) dont l'accès se fera en mode caractère (c'est le paramètre c) dont le numéro de majeur (qui indique de quel type de périphérique il s'agit : ici un périphérique scsi dont l'accès par linux ne se fera pas au travers d'un drivers spécifique) est 21 et le numéro de mineur (qui indique de quel périphérique de ce type il s'agit) est 0.

    Installation des librairies SANE

    Si vous n'avez jamais compilé un programme sous Linux, ne vous effrayez pas, vous allez voir que dans le monde GNU/autoconf tout est simple :

    Rendez vous directement dans le répertoire où vous avez mis SANE et ne touchez pas 20.000 francs (pas encore) :

    [root@becane root]# cd /la/ou/vous/avez/mis/sane-backends-1.0.5/

    Compilez et installez SANE dans le répertoire /usr/local  (note : si gimp 1.1.x est installé, le programme configure croit qu'il s'agit de gimp 1.0.x et essaie de compiler sane avec le support de gimp : ce qui ne marche pas, le mode de fonctionnement de gimp avec les plugins ayant changé entre ces deux versions, il faut donc,  le temps de la compilation, déplacer le répertoire /usr/include/libgimp, merci à Yves Chaufour) :

    [root@becane sane-backends-1.0.5]#./configure --prefix=/usr/local ; make ; make install
    [root@becane root]# cd /la/ou/vous/avez/mis/sane-frontends-1.0.5/
    [root@becane sane-frontends-1.0.5]#./configure --prefix=/usr/local ; make ; make install

    Trouvez où est connecté votre scanner :

    [root@becane sane-backends-1.0.5]# tools/sane-find-scanner
    find-scanner: found scanner "AGFA SNAPSCAN 310 1.20" at device /dev/XXXXX

    Pour permettre à SANE de trouver tout de suite votre scanner, créez un lien vers ce périphérique :

    [root@becane sane-backends-1.0.5]# ln -sf /dev/XXXXX /dev/scanner

    C'est fait !

    Configuration des librairies SANE

    Normalement, SANE doit maintenant fonctionner sans configuration particulière. Pour le vérifier, il suffit de lui demander d'afficher la liste des scanners qu'il trouve sur votre chaîne SCSI :

    [root@becane home]# scanimage -L
    device `snapscan:/dev/scanner' is a AGFA SNAPSCAN 310 flatbed scanner

    Si SANE trouve plusieurs fois votre scanner sur plusieurs périphériques différents, ce n'est pas que Linux dispose de la faculté de multiplier les scanners comme d'autre multiplient les pains : c'est qu'il existe plusieurs périphériques qui ont le même numéro de mineur et de majeur, ou que plusieurs liens ont été créés vers le même périphérique. De toute façon ça n'empêchera pas SANE de fonctionner correctement. Au pire il vous demandera quel scanner vous voulez utiliser.

    Remarque : les fichiers de configuration de SANE se trouvent (si vous avez suivi la procédure proposée) en /usr/local/etc/sane.d. Le fichier essentiel est /usr/local/etc/sane.d/dll.conf qui indique à SANE quels sont les scanners à rechercher. Vous pouvez commenter les scanners que vous savez ne pas avoir. Suivant le nom de votre scanner un autre fichier est important : /usr/local/etc/sane.d/VOTRE-SCANNER.conf : il indique à SANE où est potentiellement connecté votre scanner. Il est déconseillé (sauf si vous aimez vous em..d.r) d'enlever l'entrée : /dev/scanner car elle permet de changer rapidement de scanner actif (au cas ou vous en ayez plusieurs) en modifiant seulement le lien /dev/scanner, par contre vous pouvez enlever toutes les autres (si vous avez créé le lien /dev/scanner).

    Utilisation de SANE

    L'utilisation de SANE est très simple. La distribution standard de SANE comporte deux programmes permettant d'utiliser votre scanner : scanimage et son homologue sous X : xscanimage.

    Pour ce qui est de scanimage, je vous renvoie à la man page scanimage (1).
    Pour utiliser xscanimage tapez :

    [root@becane root]# xscanimage

    Une fenêtre apparaît, vous permettant de saisir ou de choisir le fichier de sortie. Le réglage des paramètres est suffisamment simple pour que l'on ne s'y attarde pas. Sachez que les paramètres disponibles dépendent de votre scanner. Vous pouvez choisir la partie de l'image à scanner grace à la fenêtre de prévisualisation.
    On peut configurer xscanimage en tant que plugin pour Gimp (pour cela il faut que, avant la compilation de SANE, vous ayez installé les fichiers d'include de gimp dans /usr/include (ou tout autre répertoire qui sera accessible par votre compilateur sans directive particuliére, en effet il y a un bug dans le programme de configuration de sane qui lui empêche - sur ma machine - de trouver ces includes s'ils sont ailleurs, avec la vérité par exmple), ce qui n'est pas automatique. Pour rémédier à cela, faites :

    [root@becane home]# rpm -i gimp-devel.xxx.rpm

    Puis, il suffit de créer un lien entre xscanimage et le répertoire de plugins de gimp :

    [root@becane root]# ln -s `which xscanimage` ~/.gimp/plug-ins

    Et c'est tout, vous relancez gimp et un menu proposant d'acquérir une image apparaît dans Xtns ! En fait ce lien n'est pas celui qu'il faudrait créer si vous voulez que tous les utilisateurs puissent utiliser votre scanner :

    [root@becane root]# ln -s `which xscanimage` /usr/share/gimp/plug-ins

    ou quelque chose d'approchant serait mieux venu.

    Il existe d'autres programmes pouvant utiliser SANE. Je n'en connais que deux : xsane et ksane.

    J'ai testé xsane. Personnellement, je continue à utiliser xscanimage pour les scannes simples et xsane pour le reste. Mais bon, tout cela reste affaire de goût, donc ne vous privez pas d'essayer les deux. Les plus de xsane :

    Quant à ksane je ne l'ai pas utilisé et je ne sais donc pas ce qu'il vaut. Le développement de ce programme semble être au point mort.

    Configuration en réseau

    Nous devons cette partie à : Christian Vivet.

    Sur le poste serveur nommé : serveur

    1. il faut configurer le fichier /usr/local/etc/sane.d/saned.conf et y ajouter le nom du client qui va utiliser le scanner en accès distant exemple de fichier saned.conf :

      # saned.conf
      #
      client1

    2. il faut ajouter une ligne dans le fichier /etc/inetd.conf pour démarrer le daemon saned :

      sane stream tcp nowait root /usr/local/sbin/saned saned

    3. il faut ajouter une ligne dans le fichier /etc/services en fin de fichier :

      sane 6566/tcp # SANE en reseau serveur

    Sur le poste client nommé : client1

    1. il faut configurer le fichier /usr/local/etc/sane.d/net.conf et ajouter le nom de la machine serveur du scanner : serveur.
      Exemple de fichier net.conf :

      # net.conf
      #
      serveur

    2. il faut ajouter une ligne dans le fichier /etc/services du client (client1 dans l'exemple) :

      sane   6566/tcp               # SANE en reseau client

    Et bien sur installer sane , xsane sur la machine serveur et sur la machine cliente puis les relancer. Voilà, ce n'est pas très compliqué à mettre en oeuvre et cela marche parfaitement.

    Les mots de la fin :

    Maintenant, quelques trucs

    Utilisation depuis un autre compte que celui de root

    Si vous voulez scanner depuis un autre compte que root, vous devez autoriser l'accès en lecture/écriture au périphérique /dev/sgXXX correspondant à votre scanner :

    [root@becane root]# chmod a+rw /dev/sgXXX

    pour que tout le monde puisse utiliser votre scanner, ou :

    [root@becane root]# chown monuser:mongroup /dev/sgXXX

    pour que seul monuser puisse utiliser votre scanner.

    Enfin, pour ceux d'entre vous qui utilisent PAM (par exemple si vous utilisez la RedHat ou la Mandrake ou d'autres ?)  vous pouvez aussi configurer le gestionnaire de sécurité PAM en modifiant le fichier /etc/security/console.perms afin de donner le périphérique /dev/sgXXX à l'utilisateur connecté à la console (vous par exemple). Il suffit pour cela, si votre scanner est connecté au périphérique /dev/sgb de rajouter à /etc/security/console.perms les lignes :

    <scanner>=/dev/sgb
    <console> 0600 <scanner> 0600 root

    Ce qui suit <scanner>= est une expression régulière : vous pouvez mettre /dev/sg[ab] pour autorisé les accès à /dev/sga et /dev/sgb si vous avez plusieurs scanner. Mais faites attention : les /dev/sg* sont aussi les périphériques SCSI dans leur ensemble, donc si vous avez un disque SCSI ou un graveur SCSI l'un des /dev/sg* est celui-ci, vous devez absolument éviter de donner ce périphérique à l'utilisateur qui dispose de la console. Sinon vous aurez a un gros trou dans le sécurité de votre système. (Pour plus de renseignements concernant ceci : voir la manpage console.perms) Ce paragraphe est en version alpha (je ne  suis pas absolument sûr que les /dev/sg* soient effectivement tous les périphériques de votre chaîne SCSI, mais dans le doute ne t'abstiens pas ! Surtout que ça ne coute pas cher de faire attention à la sécurité dans ce cas précis. Si quelqu'un en sait plus : qu'il m'écrive, ça m'intéresse.).

    Quand allumer votre scanner ?

    Lorque vous le souhaitez, pourvu que vous respectiez la règle suivante : le module correspondant à la carte SCSI sur laquelle est branché votre scanner, ne doit pas être chargé à ce moment là. Pour le vérifier, tapez :

    [root@becane usr]# lsmod | grep VOTRE-MODULE

    Si cette commande renvoie quelque chose, c'est que votre module est chargé : pour utilisez votre scanner, vous DEVEZ le décharger. Pour cela deux méthodes existent. La méthode Win$$$ : on  allume le scanner puis on reboote. La méthode Linux est moins bourrin : vous déchargez juste tous les modules qui utilisent votre carte scsi : sd_mod.o, sg.o et sr_mod.o :

    [root@becane usr]# rmmod sr_mod
    [root@becane usr]# rmmod sd_mod
    [root@becane usr]# rmmod sg
    [root@becane usr]# rmmod VOTRE-MODULE

    Si vous obtenez un message d'erreur, c'est que soit ce module n'est pas chargé, soit l'un des modules est utilisé par un processus en cours de fonctionnement. Trouvez lequel, tuez-le, recommencez. Puis vous pouvez lancer xscanimage comme d'habitude. Il devrait trouver votre scanner (les modules nécessaires se chargeront alors automatiquement).

    Le fichier dll.conf

    Le fichier /usr/local/etc/sane.d/dll.conf sert à dire à SANE quels sont les scanners dont il doit vérifier la présence dans votre chaîne SCSI. Vous pouvez commenter toutes les lignes qui ne correspondent pas à votre scanner (en les commençant par #).

    Dans ce fichier, on trouve deux lignes qui ne correspondent pas réellement à des scanners :  net et pnm.

    Quelques ressources concernant les scanners (mailez-moi pour que je rajoute vos liens) :

    Haut


    Installation d'un scanner USB

    par Eric Bénard

    Si même l'USB est supporté par Linux que reste-t-il aux autres ?


    Cette page est en grande partie inspirée de celle de Miguel qui m'a aidé a configurer SANE : http://www.rootsistemas.net/agujeroweb/scnrusb.html (en espagnol)

    Les scanner USB commencent a être supportés par Linux. Un driver existe au sein des noyaux de développement de la série 2.3.x. Plus généralement de nombreux drivers pour divers périphériques USB ont été ajoutés à ce noyau. Il est toutefois possible d'utiliser la majorité de ces drivers grâce à l'adaptation des sources de l'USB du 2.4 vers le 2.2. Il est aussi possible d'utiliser directement un noyau de développement (j'utilise le 2.3.99-pre5 sans trop de pb sur plateforme i386), mais ces noyaux étant en développement, cela peut présenter des risques d'instabilité.

    Dans un premier temps je vais expliquer comment compiler un noyau avec les nouveaux drivers USB. Puis on parlera de la configuration de SANE pour qu'il supporte le SnapScan.

    Remarque : Pour les scanners SCSI, voir la rubrique correspondante.

    Compilation du noyau 2.2.15 avec les drivers USB du 2.3.x

    Note : à partir du noyau 2.2.19 et 2.4 (i.e. toute distribution récente), cette étape n'est plus nécessaire. Vous pouvez passer directement à la suite.

    Configuration du device usbscanner

    Cette étape n'est pas nécessaire si vous utilisez devfs (par exemple sur une mandrake 8.2 ou 9.0).

    Créez le noeud de périphérique correspondant au scanner USB par :

    # mknod /dev/usbscanner c 180 48
    # chmod a+rw /dev/usbscanner
    # chmod 666 /dev/usbscanner
    # ln -s /dev/usbscanner /dev/scanner

    Chargement des drivers

    valable uniquement si vous les avez compilés en modules

    Ajouter cette ligne au fichier /etc/conf.modules : "options scanner vendo=0x06bd product=0x2061 (ou 0x0001 selon votre scanner, cette valeur pouvant être déterminée après avoir chargé les modules usbcore et usb-(u/o)hci, en regardant dans le log (commande dmesg) où vous devez trouver quelque chose comme çà : "Manufacturer: AGFA Product: SNAPSCAN 1212U ....  Vendor:Product = 06bd:0001 )"

    # modprobe usbcore
    # modprobe usb-xxxx (où xxx est uhci ou ohci selon votre carte mère)
    # modprobe scanner

    Etape optionnelle : mais utile au diagnostic

    Il vaut mieux que /proc/bus/usb contiennent les informations sur vos périphériques usb. Pour cela, il faut sur une distribution ancienne (sur les récentes, cela est fait automatiquement au démarrage) :

    # mount -t usbdevfs /proc/bus/usb /proc/bus/usb

    Ou pour le monter automatiquement : ajouter "none /proc/bus/usb usbdevfs defaults 0 0" au fichier /etc/fstab.
    Ainsi, vous pourrez vérifier la présence des drivers et les périhpériques détéctés en faisant :

    # cat /proc/bus/usb/devices
    # cat /proc/bus/usb/drivers

    Configuration et installation de SANE (et de XSANE)

    Récupérer les sources de SANE et de XSANE là : SANE, XSANE

    Récupérer le patch pour le SnapScan USB là : sane-1.0.1-usb.diff (évidemment ne récupérez ce fichier que si vous utilisez une snapscan)

    Décompresser SANE, le patcher et le compiler :

    # tar xvzf sane-1.0.1.tar.gz
    # patch -p0 < sane-1.0.1-usb.diff
    # cd sane-1.0.1
    # ./configure
    # make
    # make install

    Décompresser XSANE, et le compiler :

    # tar xvzf xsane-0.58.tar.gz
    # cd xsane-0.58
    # ./configure
    # make
    # make install

    SANE et XSANE sont maintenant installés dans /usr/local

    Configuration de SANE :

    Editer les fichiers suivants dans /usr/local/etc/sane.d afin qu'ils ressemblent à çà :

    Remarque :

    D'autres infos sur SANE dans la rubrique scanner SCSI.

    Chargement du firmware du scanner

    Ceci n'est applicable qu'au SnapScan USB, mais une étape similaire doit sans doute être nécessaire aux autres scanner USB : si vous le savez, mailez nous, merci.

    Récupérer les fichiers suivants : agfafirm (ou ici) et SnapScan-1212U_2.bin (ou ici)

    Charger le firmware dans le scanner :

    # chmod 755 agfafirm
    # ./agfafirm /dev/usbscanner SnapScan-1212U_2.bin

    Ca y est vous pouvez scanner!

    Lancer xscanimage :

    # xscanimage &

    Pour utiliser xscanimage en module de gimp :

    # cd /usr/lib/gimp/1.x/plug-ins (où x depend de la version de gimp installée)
    # ln -s /usr/local/bin/xscanimage xscanimage
    xscanimage sera lors accessible dans le menu Xtns>Acquire Image .

    Liens utiles

    Haut


    Installation d'un scanner parallèle grâce à SANE

    par Pierre Fritsch, fpb4 chez libertysurf point fr.


    Introduction

    Ce document a pour but de décrire l'installation d'un scanner sur port parallèle au sein d'un système GNU/Linux. Pour cela nous allons utiliser SANE (Scanner Access Now Easy), dernière version à ce jour 1.0.5. Pour cet exemple, il s'agit d'un MUSTEK ScanExpress 6000P. Un scanner déjà ancien mais qui me donne toute satisfaction. D'autant plus que l'on me l'a donné ;-)

    Pré-requis

    1. Un systeme GNU/Linux fonctionnel,
    2. Un scanner supporté par SANE,
    3. les librairies sane-backends (les pilotes),
    4. les programmes sane-frontends (les interfaces). A signaler que sane-frontends n'est pas obligatoire si vous envisagez d'utiliser une autre interface comme xsane (http://www.xsane.org) ou quiteinsane (http://sourceforge.net/projects/quiteinsane), d'un autre côté, ils sont trés léger et permettent de tester rapidement l'installation de SANE.

    Installation

    Si vous disposez d'une distribution récente il y a de fortes chances pour que SANE soit disponible sur les cds de votre distribution. Dans ce cas utilisez votre méthode habituelle pour l'installation.

    Exemple pour un systeme basé sur RPM :

    rpm -ivh sane-backends-1.0.5.rpm
    rpm -ivh sane-frontends-1.0.5.rpm

    Exemple pour une slackware :

    installpkg sane.tgz

    Si vous préférez installer à partir des sources copiez celles-ci dans le répertoire de votre choix, /opt par exemple :

    cp sane-backends-1.0.5.tar.gz /opt/sane-backends-1.0.5.tar.gz
    cp sane-frontends-1.0.5.tar.gz /opt/sane-frontends-1.0.5.tar.gz

    passez dans le repertoire /opt

    cd /opt

    décompressez-les :

    tar zxpvf sane-backends-1.0.5.tar.gz
    tar zxpvf sane-frontends-1.0.5.tar.gz

    passez dans le répertoire sane-backends-1.0.5 nouvellement créé :

    cd sane-backends-1.0.5

    compilez de la manière habituelle :

    ./configure ; make ; make install

    effectuez la même opération pour sane-frontends :

    cd /opt/sane-frontends-1.0.5 ; ./configure ; make ; make install

    Configuration

    Suivant votre distribution, les fichiers de configuration ne se trouvent pas au même endroit.
    Il s'agit du fichier dll.conf ainsi que du fichier propre a votre scanner : mustek_pp.conf pour notre exemple.
    Ils se trouvent à l'intérieur du dossier sane.d

    Pour une Mandrake 8 avec installation des rpm Mandrake :

    /etc/sane.d

    Pour une slackware 8 avec installation par installpkg :

    /etc/sane/sane.d

    Pour une installation a partir des sources :

    /usr/local/etc/sane.d

    A l'intérieur du répertoire sane.d supprimez toutes les entrées ne correspondant pas à votre scanner. Ne laissez que dll.conf et l'entrée liée à votre matériel, mustek_pp.conf dans notre cas.

    éditez le fichier dll.conf et commentez (mettez le symbole # devant une ligne, pour qu'elle ne soit pas prise en compte) ou supprimez toutes les entrées ne correspondant pas à votre matériel. Dans mon exemple il a fallu que je décommente la ligne mustek_pp qui correspond à mon scanner.

    Voici pour l'exemple mon fichier dll.conf :

    # enable the next line if you want to allow access through the network:
    #net
    mustek_pp

    éditez le fichier correspondant à votre scanner : mustek_pp.conf dans notre cas. Dans la section DEVICES, précisez sur quel port est connecté votre scanner, soit :

    Attention : pour une carte mère avec un seul port parallèle, lp0 correspond à 0x378. Décommentez les entrées correspondant au modèle exact de votre scanner.

    Commentez toutes les autres sauf : option io-mode alt_lock, option niceload, option buffer 122400

    Voici mon fichier mustek_pp.conf :

    # For documentation see sane-mustek_pp(5)

    # GLOBAL #

    # option io-mode [mode] must come before all port< definitions, or it won't
    # have the effect you'd expect

    # enable this option, if you think your scanner supports the UNI protocol
    # note however that this might disable the better EPP protocol
    #option io-mode try_mode_uni

    # choose between two different ways to lock to port option io-mode alt_lock

    # set the maximal height (in lines) of a strip scanned (default: no limit)
    #option strip-height 0

    # wait n msecs for bank to change (default: 700 msecs)
    # if this value is to low, stripes my appear in the scanned image
    #option wait-bank 700

    # size (in bytes) of scan buffer (default: 1 megabyte)
    #option buffer 1048576

    # try to avoid to heavy load. Note that this reduces scan speed
    option niceload

    # Define the time the lamp has to be on before scan starts (default 5 secs)
    #option wait-lamp 5

    # DEVICES #

    # specify the port your scanner is connected to. Possible are 0x378 (lp1)
    # 0x278 (lp2) and 0x3bc (lp0)
    port 0x378

    # the following options are local to this scanner

    # WELL KNOWN OPTIONS #

    # most scanners only need 200 - 250 msecs to change bank -> try it out

    Mustek ScanExpress 6000 P
    name SE-6000P
    vendor Mustek
    option wait-lamp 15

    # Mustek ScanExpress 600 SEP
    # name SE-600SEP
    # vendor Mustek
    # option wait-lamp 15

    # Mustek ScanMagic 4800 P
    # name SM-4800P
    # vendor Mustek
    # option wait-lamp 15

    # Mustek 600 III EP Plus
    # name 600IIIEPP
    # vendor Mustek
    # option wait-lamp 15
    # some models only need 5 secs...

    # Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!)
    # name SM-1200EDP
    # name SE-1200EDP
    # vendor Mustek
    # this scanner has an optical resolution of 600 dpi
    # option use600
    # this scanner *must* use option niceload
    # option niceload

    # Fidelity Imaging Solutions Inc. Gallery 4800
    # name Gallery-4800
    # vendor Fidelity-Imaging-Solutions

    # Viviscan Compact II
    # name Compact-II
    # vendor Viviscan

    # Medion MD9848 (aka Aldi-Scanner)
    # name MD9848
    # vendor Medion
    # option wait-bank 250

    # scan maximal 16 lines for one sane_read() call
    #option strip-height 16

    # we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes
    option buffer 122400

    # Enable this option, if you want user authentification *and* if it's
    # enabled at compile time
    #option auth
    # use this option to define the maximal black value for lineart scans
    #option bw 127

    Utilisation

    Après avoir enregistré vos modifications vous pouvez (si vous avez installé sane-frontend) lancer /usr/local/bin/xscanimage. Si tout s'est bien passé vous devez voir apparaître l'interface de gestion de votre scanner.

    Vous avez la possibilité de lancer xscanimage comme un plugin de Gimp. Pour cela il suffit de creer un lien symbolique de /usr/local/bin/xscanimage vers le repertoire plug-ins de gimp dans votre repertoire personnel exemple pour l'utilisateur pedro :

    ln -s /usr/local/bin/xscanimage /home/pedro/.gimp-1.2/plug-ins

    Remarques :

    Ce document n'est écrit que dans un but indicatif. Ce qui fonctionne chez moi peut ne pas fonctionner chez vous. Lisez les pages man de sane. Allez sur le site de sane : http://www.mostang.com/sane pour en savoir plus sur le matériel supporté et quel type de backend utiliser pour votre propre matériel.

    A mon avis xsane (http://www.xsane.org) est plus complet que xscanimage notamment avec le support de la photocopie et la gestion fax. Mais bien sûr cela n'engage que moi.

    Merci de me faire part de vos commentaires ou suggestions.
     

    Additif

    A la suite de plusieurs courriers reçus depuis la parution de cet article, il apparait que plusieurs problemes se posent encore.

    1 . Il faut etre root pour pouvoir utiliser le scanner.

    Le principe est simple : utiliser la couche réseau de SANE.

    Solution pour Slackware (via inetd)

    Ceci doit être compatible (ou presque) avec toute distribution utilisant inetd comme super-daemon.

    éditer /usr/local/etc/sane.d/saned.conf et s'assurer que localhost est décommenté

    éditer /usr/local/etc/sane.d/net.conf  et s'assurer de la même chose

    rajouter dans /etc/services " sane 6566/tcp "

    rajouter dans /etc/inetd.conf  "sane stream tcp nowait root /usr/local/sbin/saned saned "

    Voilà ! Maintenant en tant que "user" le scanner apparait comme [net:localhost:mustek_pp:SE-6000P]

    Solution pour Mandrake

    Pour l'instant je n'en ai pas : Je sais que le principe est le même sauf que la Mandrake utilise xinetd au lieu de inetd mais je n'ai pas encore compris la procedure
    Avis aux amateurs!!!!!!!

    (Fred):: Je n'ai pas essayé, mais je pense qu'il faut :
    créer /etc/xinetd.d/sane tel que :

    service sane
    {
            disable = yes
            port    = 6566
            socket_type     = stream
            wait    = no
            only_from = localhost
            server  = /usr/local/sbin/saned
            # ce qui suit, doit peut-être être changé.
            user = root
            log_on_failure  += USERID
    }

    Voilà ! Maintenant en tant que "user" le scanner doit apparaitre comme [net:localhost:mustek_pp:SE-6000P]

    2 . Nico m'a fait part d'un probleme sur sa Debian.

    Il faut selon lui creer un lien symbolique sur /dev/lp0  (ln -s /dev/lp0 /dev/scanner).
    A essayer !

    Je voudrais  remercier tous ceux qui m'ont ecrit pour me faire part de leurs remarques et de leurs encouragements et par la meme occasion m'excuser de parfois avoir ete
    un peu long a repondre mais n'etant pas informaticien de profession je ne peux y consacrer que mon temps libre.

    Haut


    Installer une imprimante locale !

    par Serge et Fred

    Les pingouins savent écrire ! et même en réseau !


    Introduction

    Il n'existe, bien évidemment, pas qu'une seule méthode pour installer une imprimante. On peut utiliser les filtres 'apsfilter'. Mais, les plus chanceux d'entre nous utilisent une distribution Mandrake et disposent en standard de l'utilitaire de configuration : 'DrakConf'.

    Avec apsfilter

    On va donc voir ici comment installer une imprimante très rapidement et très facilement grâce à un utilitaire qui fait presque tout le travail : apsfilter.
    Récupérez tout d'abord ce programme (en source) sur le site de freshmeat.

    Compiler les sources

    Bon, une fois les sources tarball (c'est à dire tar.gz) récupérées, on fait un :
    tar zxvf apsfilter-xxxx.tar.gz
    Les sources vont s'extraire dans un répertoire apsfilter-xxx

    Allez dans le répertoire et faites un:
    ./SETUP

    Vous allez rentrer alors dans un menu en mode texte ou il suffit de remplir tout simplement les sections (elle est pas belle la vie ?)

    Détails des sections

    On arrive donc sur un message, validez par [Entrée] jusqu'à arriver a APS FILTER SETUP.

    Commencez par taper [D] pour voir les imprimantes supportées par défaut par gs (ghostscript), regardez la liste pour voir si votre imprimante y est, notez le nom qui lui est associé (par exemple bjc600). Si votre imprimante n'y est pas, regardez si une compatible existe en revenant au menu général puis tapez cette fois-ci [R].

    Revenez à l'ecran principal et tapez [1], puis suivez les menus suivant la marque/modèle de votre imprimante, ou si elle n'apparait pas, choissisez une imprimante compatible.
    Confirmez votre choix par [y].

    Tapez alors [2], choisissez votre type d'imprimante (série ou parallèle) puis le port (/dev/lp0 pour l'équivalent du LPT1 de DOS).

    Tapez alors [3] : on va choisir une résolution pour le test, choisissez "petit" pour pas attendre trop longtemps, voir si ca marche et ne pas avoir un truc sur 10 feuilles non plus. Si ça marche pas revenez en arrière et choisissez une autre imprimante en 1. 150 DPI est un bon choix.

    Tapez [4], choisissez monochrome pour une imprimante noir et blanc ou 24bpp pour une couleur assez moderne, en dessous pour les vieilles couleurs jets d'encre (style bjc200).

    Tapez [5] et choisissez A4 (papier standard d'imprimante en France).

    Tapez [T] pour tester la config. Si tout se passe bien alors votre imprimante devrait sortir une tête de lion. Autrement revenez à la première étape et reconfigurez le tout. Si au lieu d'une image vous avez des caractères incompréhensibles, c'est à l'étape 1 que vous vous êtes trompé. Autrement si rien n'apparait, vérifiez que vous n'avez pas choisi un mauvais port à l'étape 2.

    Bon, le test est OK, on passe à l'étape [C]. Si l'on vous demande d'ajouter ou d'écraser la config, si c'est votre seule imprimante, vous écrasez, et si vous configurez une autre imprimante, vous ajoutez.

    Ca va compiler, créer le /etc/printcap, etc... Puis validez par [Entrée] plusieurs fois. Voilà, votre imprimante est configurée !!!

    Test sous X

    Allez sous X, lancez par exemple kedit sous KDE, tapez une phrase puis imprimez (fichier -> imprimer). Ca devrait passer sans aucun problème. Si cela ne fonctionne pas, vérifiez bien qu'un process lpd existe (ps -aux lpd | grep ldp), autrement essayez de le lancer à la main (lpd &). Si lpd ne se trouve pas sur votre machine, installez-le (voir les packages sur le cd de votre distrib, ca doit y être obligatoirement).

    Voilà, votre imprimante fonctionne !!!

    Dépendances

    Pour que tout cela fonctionne, vous devez avoir sur votre système :

    Avec DrakConf

    Installation

    Normalement, l'installation de ce programme a eu lieu en même temps que le reste de votre distribution. Mais, si ce n'est pas le cas, voilà la marche à suivre, il faut installer les rpms suivants:

    Par la ligne de commande suivante :

    rpm -i /mnt/cdrom/Mandrake/RPMS/package-versionmdk.i386.rpm

    Tous ces paquetages sont présents sur le CD de votre distribution.

    Configuration d'une imprimante locale

    C'est bien évidement le cas de figure le plus simple. Pour cela, vous lancez Drakconf :

    [root@localhost home]# DrakConf

    Une jolie (c'est une affaire de goût) fenêtre s'ouvre, vous cliquez sur :

    Configuration des imprimantes

    Une nouvelle fenêtre s'ouvre : elle s'appelle 'configuration d'une imprimante locale'. On vous demande le nom de la file : mettez ce que vous souhaitez, mais sachez que si la file s'appelle lp, alors ce sera votre imprimante par défaut. Vous pouvez aussi préciser des alias pour cette file par exemple en mettant :

    lp|DeskJet|DeskJet Couleur

    Dans ce cas , vous pourrez imprimer sur la file par défaut : lp, sur la file DeskJet qui lui est équivalente, tout comme "DeskJet Couleur" (notez la présence de " pour entrer un nom composé de plusieurs mots). Ensuite on vous demande lerépertoire de spool : c'est le nom du répertoire dans lequel devrons être stockées les informations concernant cette file, ainsi que les fichiers temporaires générés par la commande lpr quand on lui demandera d'imprimer. vous pouvez changer ce répertoire, mais l'emplacement proposé par défaut est bon. Validez votre choix par OK.

    Ensuite on vous demande de Choisir le type de connexion de l'imprimante : choisissez Imprimante locale. Normalement DrakConf trouve tout seul le port sur lequel est branché votre imprimante : /dev/lp0. Si ce n'est pas le cas, vous pouvez essayer de choisir vous même (/dev/lp0 pour LPT1: (sous windows), /dev/lp1 pour LPT2:, et /dev/lp2 pour LPT3: (très rare)), mais en général cela indique que votre port d'impression n'est pas reconnu : c'est qu'il n'est pas standard, lisez le Printing-HOWTO.
    Donc, normalement vous pouvez valider par OK.

    Maintenant, il faut préciser le nom de votre imprimante : si votre imprimante est présente dans la liste, choisissez là, si elle n'est pas dans la liste, choisissez un modèle compatible (par exemple : la HP LaserJet 1100 n'est pas dans la liste, mais c'est une imprimante qui utilise le langage PCL5, comme la LaserJet 4 qui est dans la liste : c'est celle là qu'il faut choisir). Si votre imprimante est compatible avec plusieurs modèles, je vous conseille d'essayer tous les drivers pour pouvoir choisir le bon driver.

    Ensuite on vous demande de choisir les options de l'imprimante (par exemple la taille du papier) ; choisissez celui que vous utililisez, nous verrons plus loin comment modifier la taille du papier avant une impression. Validez les options que vous souhaitez utiliser.

    Enfin on vous demande d'imprimer une page de test (votre imprimante doit être branchée ;). Essayez toutes les pages proposées. Normalemant, ça doit marcher, si ce n'est pas le cas :

    Recommencez les étapes, jusqu'à ce que tout fonctionne.

    Configuration d'une imprimante réseau

    La marche à suivre est exactement la même, sauf que lorsque l'on vous demande de choisir le type de connexion, choisissez cette fois : 'imprimante Unix distante'.
    Ensuite on vous demande le 'nom du serveur', entrez le nom de la machine qui jouera le rôle du serveur d'impression (ou une adresse IP si vous préférez). Dans la case 'nom de la file d'impression', tapez le nom de la file d'impression (dans la majorité des cas lp sera très bien). Le reste est identique.

    Un conseil toutefois : lorqu'on imprime sur une imprimante distante, il faut en avoir le droit, ce qui n'est en général pas le cas par défaut. Vous devez pour cela ajouter (ou créer si ce fichier n'existe pas) le nom de la machine qui souhaite imprimer (le client) dans le fichier /etc/hosts.lpd de la machine qui gérera vraiment l'impression (le serveur).

    Trucs et astuces

    Pour vérifier que le driver fonctionne, essayez d'imprimer une page postscript :

    lpr [-P <nom de la file>] fichier.ps

    Vous n'êtes pas obligé de préciser le nom de la file d'impression ("lpr fichier.ps" suffit), mais cela vous permet de tester une file d'impression en particulier.
    En fait, c'est la méthode à utiliser pour imprimer sur une file particulière un fichier particulier. Les filtres rhs-printfilters reconnaissent un grand nombre de types de fichier : depuis le postscript jusqu'au gif en passant par l'html.

    La taille du papier est précisée dans le fichier postscript.cfg du répertoire de spool ( c'est à dire : /var/spool/lpd/file). C'est le paramètre PAPERSIZE, vous pouvez préciser (extrait de la manpage de gs) :

     PAPERSIZE    X pouces   Y pouces   X cm      Y cm
     -----------------------------------------------------
     a0           33.0556    46.7778    83.9611   118.816
     a1           23.3889    33.0556    59.4078   83.9611
     a2           16.5278    23.3889    41.9806   59.4078
     a3           11.6944    16.5278    29.7039   41.9806
     a4           8.26389    11.6944    20.9903   29.7039
     a5           5.84722    8.26389    14.8519   20.9903
     a6           4.125      5.84722    10.4775   14.8519
     a7           2.91667    4.125      7.40833   10.4775
     a8           2.05556    2.91667    5.22111   7.40833
     a9           1.45833    2.05556    3.70417   5.22111
     a10          1.02778    1.45833    2.61056   3.70417
     b0           39.3889    55.6667    100.048   141.393
     b1           27.8333    39.3889    70.6967   100.048
     b2           19.6944    27.8333    50.0239   70.6967
     b3           13.9167    19.6944    35.3483   50.0239
     b4           9.84722    13.9167    25.0119   35.3483
     b5           6.95833    9.84722    17.6742   25.0119
     archA        9          12         22.86     30.48
     archB        12         18         30.48     45.72
     archC        18         24         45.72     60.96
     archD        24         36         60.96     91.44
     archE        36         48         91.44     121.92
     flsa         8.5        13         21.59     33.02
     flse         8.5        13         21.59     33.02
     halfletter   5.5        8.5        13.97     21.59
     note         7.5        10         19.05     25.4
     letter       8.5        11         21.59     27.94
     legal        8.5        14         21.59     35.56
     11x17        11         17         27.94     43.18
     ledger       17         11         43.18     27.94

    Pour changer le format de l'impression il suffit donc de modifier avant l'impression la valeur de cette variable.

    Haut


    Drivers HPIJS pour Hp deskjet

    BRARD Emmanuel

    Installer son imprimante HP Deskjet 6xx/9xx/x


    Introduction

    Vous avez une imprimante HP Deskjet de série 8xx, 9xx ou supérieure (série 3xx supportée) ?
    Alors vous allez pouvoir tirer partie de toutes* les fonctions de cette imprimante, entre autres et surtout de la technologie Photoret {2-3}.

    Notez toutefois que la Mandrake 8.1 devrait intégrer directement ces drivers.

    Pré-requis

    Attention: ce drivers ne marche que pour les imprimantes des séries 6xx,8xx,9xx et supérieures (la série 3xx est supportée).

    Vous aurez besoin de :

    Tout ceci est normalement disponible sur le cd de votre distribution.
    Je vous conseille aussi d'installer ghostscript-png et jpg pour pouvoir imprimer des images sans soft particulier avec les commandes classiques.

    Il vous faut maintenant le support HP de Ghostcript que vous pourrez trouver sur http://hpinkjet.sourceforge.net.

    Téléchargez :

    Vous devez posséder un installeur de spooler, genre printtool, ou printerdrake (éventuellement voir sur http://freshmeat.net), ainsi que les packages suivants (à cause des problèmes de dépendances) :

    Normalement tout ceci est disponible sur le cd de votre distribution (peut-être des problèmes avec la Mandrake 8.x ?)

    Mise au Point

    Installation

    Voila avec tout ça, ça devrait marcher ;)

    Il suffit donc d' installer les packages que vous n' avez pas encore, et d' installer ceux de Hp avec la commande rpm -Uvh xxx.rpm --force. Normalement aucun problèmes .... nan ils viennent après :
    Rpm nous prévient (ou pas) que la base printerdb n'a pas pu être mise à jour.

    Nous allons donc le faire nous-même :
    Localisez votre fichier printerdb, normalement dans :

    /usr/lib/rhs/rhs-printfilters/

    Ensuite il suffit de copier les entrées qui nous intéressent du fichier :

    /usr/doc/hpijs-0.97/printerdb_append

    Copiez dans /usr/lib/rhs/rhs-printfilters/printerdb la ou les entrées de votre ou vos imprimantes.

    EX:

    StartEntry: HPDeskJet9xx
    GSDriver: DJ9xx
    Description: {HP - developed DeskJet 900C series}
    About: { \
    This driver was developed by Hewlett-Packard Co. for deskjet \
    930/932C, 950/952C, 970C, photosmart 1000/1100 printers. \
    Duplex printing is not supported. \
    Different print modes can be specified with the Extra GS option "-dPr
    intMode=n". \
    Where n equals one of the following values: 0=grayscale, 1=normal (de
    fault), or 2=photo. \
    Resolution setting 600x600 is available for photo mode only. \
    }
    Resolution: {300} {300} {}
    Resolution: {600} {600} {}
    EndEntry

    Pour une imprimante de la série 9xx comme ma 930c ;)

    Ensuite il n'y a plus qu'à ajouter un spooler pour celle-ci avec le programme de votre choix, genre printtool (non testé) ou printerdrake (parfait).
    Notez que pour une imprimante usb, le port est /dev/usb/lp0

    Et voilà, comme ça vous allez pouvoir imprimer avec une bonne qualité directement sous Linux avec le spooler lpd, donc pour imprimer comme d'habitude :

    lpr (-P imprimante) monfichier.*

    (ce qui est entre parenthèses étant optionnel.)

    Conclusion

    Malheureusement certaines "qualités" de certaines imprimantes de sont pas encore supportées : "Duplex printing is not supported", pour les séries 9xx, mais en allant régulièrement sur http://hpinkjet.sourceforge.net, vous verrez les dernières améliorations.

    Je rappelle aussi que quelques imprimantes Epson et Canon peuvent elle aussi être optimisées avec les outils xw_tools ; bien qu'ils permettent parfois une impression jusqu'à 1440 dpi rien n'est assuré pour les imprimantes de la gamme HP, c'est pourquoi il vaut mieux utiliser les drivers de HP.
    Remarque : bien que ceux-ci soient sous une license Open-source, il est vrai qu'ils ne sont pas libres, du moins pas sous les termes de la license GPL/LGP.

    Liens xw_tools :

    Note : la compilation des drivers HP ne marche pas sous RootLinux 1.2 chez moi.

    (c) 2001 BRARD Emmanuel, emman@agat.net
    Ce document est sous license GNU FDL .

    Haut


    Connecter un lecteur Flash USB

    par Laurent DUBETTIER-GRENIER, Maston28 et Fred.

    Connecter un lecteur flash USB (palmkey, diskonkey...) ou une clé usb sous Linux, mais aussi certains appareils photos numériques...


    Introduction

    Les lecteurs Flash USB deviennent de plus en plus populaires : facile à utiliser et disposant d'une grande capacité de stockage, il remplaceront avantageusement une pile de disquette... Les lecteurs les plus récents sont conformes à la norme USB 2.0 (jusqu'à 40 fois plus rapide que USB 1.1 pour le taux de transfert) et disposent de capacités de stockage allant jusqu'à 512 Mo, mais les prix sont alors très élevés... Personnellement, j'utilise un Palm Key de 64 Mo en norme USB 1.1, produit par Allwell... Cet article a pour objectif d'expliquer la configuration permettant d'accéder à ce lecteur sous Linux. Je suppose que cela sera aussi utile aux possesseurs de lecteurs Flash USB de marques différentes ainsi qu'aux possesseurs d'appareils photos numériques comme le Sony Cyber-shot DSC P71.

    Cet article n'est que la traduction incomplète de l'excellent article de Matt Butcher, visible à cette adresse. Dans cet article en anglais, il décrit, en plus de la partie traduite ci-dessous, le moyen de créer un système de fichier crypté sur un lecteur Flash USB.

    Pour profiter de cet article, vous devez disposer :

    Procédure simplifiée

    Dernière minute (Mandrake 9.0) :

    Avec la dernière distribution de Mandrakesoft, Linux Mandrake 9.0 (noyau 2.4.19-16mdk), c'est extrêmement simple ! Il suffit de connecter le lecteur Flash USB, et de le monter en tapant :

    $ mount /mnt/removable

    Pour accéder aux fichiers :

    $ cd /mnt/removable

    Avant de le déconnecter, il ne faut pas oublier de le démonter :

    $ umount /mnt/removable

    Nota (voir la procédure détaillée ci-dessous pour plus d'information) :
    Sur cette distribution linux, le fichier /etc/fstab contient la ligne suivante :

    /dev/sda1 /mnt/removable auto user,iocharset=iso8859-15,kudzu,codepage=850,noauto,umask=0,exec 0 0

    Les modules chargés par défaut (visibles en tapant lsmod) sont usbcore et usb-uhci. Il n'y a pas usb-storage, mais cela fonctionne quand même...

    Si vous n'avez pas Mandrake Linux 9.0 :

    (ou plus précisement le dernier noyau...)

    En considérant que le lecteur Flash USB est le premier périphérique de stockage SCSI (je suppose ici que vous n'avez pas d'autres périphériques SCSI ou USB), il suffit de suivre les instructions suivantes :

    $ mkdir /mnt/pk
    $ mount -t msdos /dev/sda1 /mnt/pk
    $ cd /mnt/pk

    Le lecteur Flash USB, livré avec un système de fichier DOS, est alors lisible et inscriptible. Avant de le déconnecter, ne pas oublier de le démonter :

    $ umount /mnt/pk

    Procédure détaillée

    Ce paragraphe décrit la configuration pas à pas d'un lecteur Flash USB. Cela permet, en cas de problème d'accès à votre lecteur Flash USB, de cerner plus précisement d'où vient le problème.

    Préparer USB

    Avant de brancher votre lecteur Flash USB, vous devez vous assurer que votre système possède le module noyau USB. Nous avons besoin de usb-uhci (ou usb-ohci) et du module de stockage usb-storagechargé. Utiliser lsmod pour vérifier qu'ils sont bien présents. Sinon, utiliser modprobe :

    $ modprobe usb-uhci usb-storage

    Nota : le driver usb-uhci est le driver pour un type de pont USB. Si cela ne fonctionne pas, c'est que vous avez un pont OHCI. Dans ce cas, il faut faire "modprobe usb-ohci".

    En tapant de nouveau lsmod, vous devriez alors voir apparaître le noyau usb, les drivers usb-uhci ou usb-ohci, et usb-storage, entre autres.

    Préparer le périphérique

    Dès que les modules sont chargés, vous pouvez connecter le lecteur Flash USB. Attendre quelques secondes et changer de répertoire vers /proc/bus/usb. /proc/bus/usb est le répertoire regroupant les informations sur les périphériques usb. Le répertoire devrait contenir un fichier devices, un fichier drivers, et un répertoire pour le hub USB.

    Le fichier drivers contient une liste des périphériques USB disponibles. Il devrait contenir une entrée vers usb-storage, le module que nous avons inséré auparavant. Le fichier le plus important est le fichier devices : il liste tous les périphériques usb connectés au système.

    Nota : On obtient la même information, dans un format plus lisible, en tapant directement l'instruction "usbview" depuis un serveur X (interface graphique).

    Vous devriez avoir une entrée pour votre Lecteur Flash USB dans une des lignes commençant par "T:". Sur mon système :

    T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=3 Spd=12 MxCh=0

    La plupart des périphériques contiennent des informations en clair (une chaîne de caratère) les décrivant. Elles sont présentes dans les lignes commençant par "S:". Quelques lecteurs Flash USB ne contiennent aucune information (mon palm key est dans ce cas...). L'information relative à la version de vos périphériques est présente après "P:". Pour mon palm key :

    P: Vendor=0c76 ProdID=0003 Rev=1.0

    Dès que vous avez une entrée dans ce fichier pour votre lecteur Flash USB, vous pouvez continuer. Si il n'y a pas d'entrée, contrôler la connexion physique de votre périphérique et assurez-vous que les modules nécessaires sont bien chargés dans le noyau.

    Le driver usb-storage

    Le travail du driver usb-storage est de lier les périphériques de stockage de masse USB à des périphériques SCSI. Ceci autorise les périphériques USB à être traités comme des périphériques de stockage amovibles. Si tout c'est bien passé, le Lecteur Flash USB doit être assigné à un périphérique SCSI. Dans /proc/scsi, vous devez voir un répertoire nommé usb-storage-0 ou similaire. Le numéro à la fin peut être différent, il dépend du nombre de périphériques de stockage USB présents sur votre système. Le fichier /proc/scsi/scsi contient des détails sur les périphériques sont répertoriés comme périphériques SCSI.

    Attached devices :
    Host: scsi0 channel: 00 Id: 00 Lun: 00
    Vendor: USB Flash    Model: Disk
    Type: Direct-Access   ANSI SCSI revision: 02

    Si vous n'avez pas d'autres périphériques SCSI, la seule entrée de ce fichier est votre lecteur Flash USB.

    Note : en l'absence d'identification du vendeur sur le périphérique lui-même (et aussi dans le fichier /proc/bus/usb/devices), le périphérique est juste déclaré comme générique.

    La première ligne host informe sur la localisation du périphérique. Si c'est le premier périphérique SCSI, il sera déclaré comme /dev/sda1.

    Monter le périphérique

    À ce moment, nous avons identifié quel périphérique SCSI est lié au lecteur Flash USB. Il ne reste plus qu'à le monter :

    $ mkdir /mnt/pk
    $ mount  -t msdos /dev/sda1 /mnt/pk

    On peut alors aller sur /mnt/pk et écrire ou lire le lecteur Flash USB. Quand une action d'écriture arrive sur le périphérique, la led rouge doit clignoter. Comme les données sont stockées dans une zone tampon avant d'être écrites, ne paniquez pas si la led ne clignote pas à chaque fois que vous évcrivez sur le lecteur Flash USB.

    Attention : n'oubliez pas de démonter le système de fichiers avant de débrancher le lecteur Flash USB. Vous pouvez ajouter une entrée dans /etc/fstab pour faciliter le montage et le démontage du périphérique :

    /dev/sda1 /mnt/pk msdos user,noauto 0 0

    Avec l'entrée dans /etc/fstab, monter et démonter le périphérique est alors plus simple. L'indicateur "user" autorise une personne autre que root à monter et démonter le lecteur Flash USB.

    $ mount /mnt/pk
    $ umount /mnt/pk

    Remplacer le systeme de fichiers DOS

    Si vous n'êtes pas intéressé par partager vos données avec un système MS-DOS ou Windows, vous pouvez formater votre lecteur Flash USB avec un système de fichiers Linux. ReiserFS est journalisé et doit pouvoir être le système de fichiers de votre lecteur Flash USB. Les lignes suivantes décrivent l'installation d'un système de fichier extended2-fs.

    Attention : avant d'écrire un nouveau système de fichiers sur votre lecteur Flash USB, vous devez démonter le lecteur.

    Attention : les données présentes sur le lecteur Flash USB seront perdues.

    Exemple :

    $ umount /dev/sda1
    $ mke2fs /dev/sda1

    Ensuite, il faut changer la ligne de /etc/fstab pour que le système de fichiers soit ext2 au lieu de msdos.

    Application aux disque-durs externes USB

    par Maston28

    Si vous Possédez un disque dur externe en usb, alors cette partie va vous intéresser ! Vous pouvez en effet utiliser un disque-dur externe sous linux en reprenant ce principe (qui s'applique aussi aux lecteurs ZIP). Sachez tout d'abord que pour un gros disque dur, il vaut mieux avoir compilé son noyau avec l'option USB Mass Storage. Vous devez tout d'abord charger les modules requis :

    insmod usbcore
    insmod uhci-usb
    insmod usb-storage

    Il faut ensuite monter les périphériques USB dans /proc/bus/usb :

    mount -t usbdevfs none /proc/bus/usb

    Nous allons maintenant monter le disque dur:

    mkdir /mnt/externe && mount -t vfat /dev/sda /mnt/externe

    Attention :Je suppose ici que votre disque dur est formaté en FAT32 (par défaut à l'achat...)

    Attention :si le disque dur est partitionné, remplacez sda par sdax

    Chasse aux troubles

    par Fred, d'après les questions du forum.

    Il existe plusieurs types de problèmes. Certains ayant une solution, d'autres pas :( .

    Haut


    Configuration des Senseurs de la carte mêre.

    par Fred

    Votre carte mêre dispose peut-être de senseurs permettant de savoir, à tout moment, la température des différents éléments de celle-ci, ainsi que diverses informations intéressantes pour la bonne marche de votre PC, en particulier si vous comptez l'overclocker.


    Ce qu'il nous faut

    Pour pouvoir connaître l'état des différents senseurs de votre carte mêre, il faut que nous installions deux (au moins) paquetages : i2c-2.6.3.tar.gz et lm_sensors-2.6.3.tar.gz que l'on peut trouver sur le site de l'auteur de ces paquetages.
    Evidemment, lecteur quand tu liras ces lignes, les numéros des paquetages auront peut-être changé : prend la derniêre version !

    Installation

    La documentation de ces deux paquetages préconise trois types d'installation (au moment ou j'écris ces lignes), mais je ne vais m'intéresser qu'à une seule méthode : celle qui consiste à patcher (je ne vois de mot français, y a-t-il un académicien dans la salle ?) le noyau de Linux. L'opération se déroule sans douleur (évidemment, si vous n'avez jamais recompilé votre noyau, allez voir la documentation sur ce site).

    Remarque : chaque commande qui suit est sur une seule ligne, bien sûr !

    La premiêre chose à faire est de décompresser ces deux paquetages :

    [user@localhost user]$ tar xzf i2c-2.6.3.tar.gz
    [user@localhost user]$ tar xzf lm_sensors-2.6.3.tar.gz

    Ensuite, il faut créer les patches. Pour que cela fonctionne, il faut, au préalable, avoir installé les sources du noyau dans /usr/src/linux (c'est l'emplacement par défaut de la plupart des distributions ; les paquetages nécessaires sont disponibles sur le CD de votre distribution).

    Nous créons les patches par :

    [user@localhost user]$ cd /home/user/i2c-2.6.3
    [user@localhost i2c-2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux i2c-patch

    Puis, on patche le noyau :

    [user@localhost user]$ cd /usr/src/linux
    [user@localhost linux]$ su
    Password : ********
    [root@localhost linux]# patch -p1 -E </home/user/i2c-2.6.3/i2c-patch
    ...
    ...

    (Attention: ces commandes sont sur une seule ligne !) Voilà pour le patch i2c. Puis le patch lm_sensors :

    [user@localhost user]$ cd /home/user/lm_sensors-2.6.3
    [user@localhost lm_sensors-2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux > lm-patch

    Enfin, il faut patcher le noyau :

    [root@localhost linux]# patch -p1 -E < /home/user/lm_sensors-2.6.3/lm-patch
    ...
    ...

    Normalement, tout ce passe bien et nos sources du noyau sont bien patchées !

    Compilation des modules et du noyau

    La compilation se déroule de maniêre standard pour les sources du noyau : on lance un make xconfig pour configurer les sources.
    En plus des supports habituels pour votre configuration (voir la documentation du site), il faut que vous activiez (en modules c'est mieux...) tout dans : Character Devices/I2C support/ (en fait, seuls I2C support, I2C bit-banging interfaces, I2C PCF 8584 interfaces et Pseudo ISA adapter nous seront utiles). Il faut aussi que vous activiez tout dans : Character Devices/Hardware sensors support/.

    Puis vous compilez votre noyau comme d'habitude :

    make dep ; make bzImage ; make modules ; make modules_install

    Vous l'installez, vous relancer lilo et vous rebootez !

    Compilation des librairies et des utilitaires

    Cette phase est essentielle : elle permet la détection automatique de vos senseurs etc...
    Pour cela vous devez compilez les librairies libsensors.*. Placez vous dans le répertoire contenant les sources de lm_sensors :

    $ cd /home/usr/lm_sensors-2.6.3

    Et éditez le fichier nommé Makefile (c'est lui qui gére la compilation de lm_sensors), vous devez trouver les lignes noires et les remplacer par les lignes rouges :

    COMPILE_KERNEL := 1
    COMPILE_KERNEL := 0

    I2C_HEADERS=/usr/local/include
    I2C_HEADERS=$(LINUX_HEADERS)

    PREFIX := /usr/local
    PREFIX := /où/vous/voulez
    # attention : les executables seront installés dans $PREFIX/bin etc...

    En fait, il suffit souvant de commenter la ligne noire (en mettant un # devant) et de décommenter la ligne rouge (en enlevant le # devant).

    Maintenant on peut compilez le tout par make. Un certain nombre de fichiers ne sont pas trouvé : ce n'est pas grave. On installe le tout par : make install.

    Un derniêre étape avant la détection : la création des périphériques. Celle-ci se fait três simplement par le script : mkdev.sh. Il faut être root pour pouvoir le lancer :

    $ su
    Password : ********
    # /home/user/lm_sensors-2.6.3/prog/mkdev/mkdev.sh

    Voilà, il ne reste plus qu'à détecter vos senseurs.

    Détection des senseurs

    Là, c'est três simple : il suffit de lancer le script sensors-detect qui se trouve dans /home/user/lm_sensors-2.6.3/prog/detect, lancez-le et validez toutes les questions (les choix par défaut sont tous bons, mais vous pouvez lire ce qu'on vous demande pour affiner votre configuration). A la fin du script vous devez voir apparaître quelque chose comme :

    WARNING! If you have some things built into your kernel, the
    below list will contain too many modules. Skip the appropriate ones!
    To load everything that is needed, add this to some /etc/rc* file:

    #----cut here----
    # I2C adapter drivers
    modprobe i2c-piix4
    modprobe i2c-isa
    # I2C chip drivers
    modprobe eeprom
    modprobe w83781d      # w83781d est le nom du chip !
    #----cut here----

    To make the sensors modules behave correctly, add these lines to either
    /etc/modules.conf or /etc/conf.modules:

    #----cut here----
    # I2C module options
    alias char-major-89 i2c-dev
    #----cut here----

    La premiêre série de lignes en rouge (entre les cut here) doit être insérée dans votre fichier /etc/rc.d/rc.local : ce sont ces lignes qui vont charger au démarrage les modules permettant la lecture des senseurs (Attention : prenez les lignes correspondant à votre configuration, celles qui sont présentées ici sont les miennes !).

    La seconde série doit être insérée dans le fichier /etc/conf.modules : elles servent au chargement automatique des modules qui peuvent être chargé automatiquement.

    Voilà c'est tout.

    Utilisation

    L'installation de lm_sensors-2.5.1 crée un petit script de lecture des senseurs : sensors, lorqu'on le lance on obtient :

    [user@localhost user]# sensors
    w83781d-i2c-1-2d
    Adapter: SMBus PIIX4 adapter at 5000
    Algorithm: Non-I2C SMBus adapter
    VCore 1:   +1.98 V  (min =  +1.80 V, max =  +2.20 V)
    VCore 2:   +2.00 V  (min =  +1.80 V, max =  +2.20 V)
    +3.3V:     +3.36 V  (min =  +2.97 V, max =  +3.63 V)
    +5V:       +5.07 V  (min =  +4.50 V, max =  +5.48 V)
    +12V:     +11.86 V  (min = +10.79 V, max = +13.11 V)
    -12V:     -12.38 V  (min = -10.78 V, max = -13.18 V)
    -5V:       -5.12 V  (min =  -4.50 V, max =  -5.48 V)
    CPU Fan:  4891 RPM  (min = 3000 RPM, div = 2)
    CPU temp: +39.0 C   (limit = +60.0 C, hysteresis = +50.0 C)
    vid:      +2.00 V
    alarms:   Chassis intrusion detection                 ALARM
    beep_enable:
              Sound alarm disabled

    Ou en tout cas quelque chose d'approchant. Certaines information peuvent vous sembler absurdes (par exemple des températures négatives etc...), elles correspondent en général à des senseurs non branchés ou non existants. Il peut être intéressant de désactiver ces senseurs (du moins leur lecture), cela se fait en éditant le fichier /etc/sensors.conf. Mais avant de pouvoir l'identifier il faut connaitre le nom de la puce qui gêre les senseurs : le chip. Pour l'identifier, c'est simple, vous faites :

    [user@gros home]# cat /proc/sys/dev/sensors/chips
    256 w83781d-isa-0290
    257 w83781d-i2c-1-2d
    258 eeprom-i2c-1-50

    Les noms des puces présentes sur ma carte mêre sont en gras, en rouge c'est le protocole utilisé pour lire le contenu de ces puces.

    Dans le fichiers /etc/sensors.conf, vous devez vous placer aprês une ligne commançant par :

    chip "lm78-*" "lm78-j-*" "lm79-*" "w83781d-*" "sis5595-*"

    (Comme vous pouvez le constater, plusieurs puces ont la même configuration : ici lm78, lm79, w83781d, sis5595, mais ce qui doit vous intéresser dans ce fichier c'est votre puce !, le reste vous pouvez l'effacer). Vous avez donc repéré votre puce dans /etc/sensors.conf. Vous devez trouver à la suite de cette ligne (chip  quelque chose) :

    label in0 "VCore 1"
    label in1 "VCore 2"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "-12V"
    label in6 "-5V"

    label fan1 "CPU Fan"
    ignore fan2
    ignore fan3

    ignore temp1
    label temp2 "CPU temp"
    ignore temp3

    Les lignes commençant par label donnent un nom (celui que vous verrez dans la sortie de sensors) à un senseur : mettez ce qui vous plaît. Les lignes commençant par ignore signalent à sensors que ce senseur ne doit pas être lu : les senseurs qui retournent des informations erronées ou qui ne vous intéressent pas peuvent être ignorés avec profit.

    Voilà, maintenant vous pouvez surveiller votre PC dans les moindres recoins !

    Haut


    Installer une WebCam USB

    par Fred et Dimitri

    Un certain nombre de WebCams sont maintenant supportées par Linux, voyons comment en faire fonctionner une.


    Dans ce document, je vais expliquer comment installer une WebCam sous Linux, mais je ne parlerais que de celle ayant un driver en GPL.
    Il existe plusieurs types de WebCam supportées par Linux avec des pilotes GPL :

    Dans la suite, la partie concernant les logiciels est commune à toutes les webcams, mais pour l'installation des drivers, je ne vais parler que des WebCams utilisant ov511 car les deux WebCams que j'ai testées (une Trust Sp@ce cam 300 USB et une Creative Video Blaster Webcam 3 USB) utilisent ce driver.
    Pierre-Yves me signale que la procedure d'installation est presque identique pour les WebCams utilisant le driver CPiA (lui il a une Mustek Vcam-300 USB) : il suffit de changer (presque partout cela suffit) : ov511 par cpia.


    Prérequis : Vous devez avoir installé un noyau supportant l'USB (c'est le cas du noyau des Mandrake 7.2, SuSE 7.0, RedHat 7.0 et sans doute de toutes les dernières versions des grandes distributions) :

    Installation et configuration du noyau

    Si vous utilisez une distribution récente tout est déjà configuré correctement dans votre noyau, vous pouvez passer à la suite. Sinon nous allons devoir recompiler le noyau.

    Pour cela, voyez cet article. Le mieux est d'utiliser un noyau 2.4.2 (dernière version à la date de rédaction de cet article) : il contient forcement les dernières versions des drivers mais vous pouvez toujours télécharger celles-ci sur les sites : OV511 : http://alpha.dyndns.org/ov511 ou CPiA : http://webcam.sourceforge.net. Pour compiler les drivers, vous devez, dans la rubrique USB Support activer en tant que modules les options suivantes (au moins) :

    1. USB support : ça coule de source.
    2. Preliminary USB device filesystem : ça ne coute rien et ça pourra vous servir (à reconnaitre un périphérique, et c.).
    3. L'un des drivers suivant : UHCI (Intel PIIX4, VIA, ...) (module : uhci.o) ou UHCI Alternate Driver (JE) (module : uhci.o) ou OHCI (Compaq, iMac, OPTi, SiS, ALi) (module : ohci.o) : suivant votre carte mère (regardez l'aide), c'est le driver des ports USB de votre ordinateur (si vous devez charger un driver uhci, préférez UHCI Alternate Driver (JE) sauf s'il plante votre ordinateur : il est parait-il plus performant).
    et soit :

    Enfin vous compilez et installez ce nouveau noyau. Un petit reboot et tout ce passera bien.

    Installation et configuration des drivers

    Si l'USB, n'est pas pris en charge par votre distribution il faut maintenant charger le driver USB de votre carte mère, c'est soit : ohci soit : uhci. Tapez :
    modprobe usbcore (sans doute inutile)
    modprobe ohci
    ou modprobe uhci (inutile si votre ditribution supporte l'USB)
    modprobe videodev
    (sans doute inutile)
    modprobe ov511
    ou modprobe cpia

    Pour automatiser ce chargement au démarage de votre machine, il y a deux solutions envisageables :

    A ce stade votre WebCam est prise en charge par le noyau, mais il reste à se procurer de quoi visualiser les videos en provenance de celle-ci.

    Note(1) : Pour les WebCams OV511, vérifiez que votre WebCam est correctement détectée, tapez :

    [root@duron]# tail -n 5 /var/log/messages
    Mar 8 13:55:50 duron kernel: usb.c: registered new driver ov511
    Mar 8 13:55:50 duron kernel: ov511.c: USB OV511+ camera found
    Mar 8 13:55:50 duron kernel: ov511.c: camera: Creative Labs WebCam 3
    Mar 8 13:55:50 duron kernel: ov511.c: Sensor is an OV7620
    Mar 8 13:55:50 duron kernel: ov511.c: ov511 driver version 1.34 registered
    Si vous voyez une ligne du type de celle en gras c'est que votre WebCam est reconnue, sinon c'est que quelque chose manque ou que votre WebCam n'est pas supportée par ce module (essayez l'autre, vérifiez dans les listes de matériels supportés).

    Note(2) : Pour les WebCams OV511, si vous avez plusieurs WebCams OV511, il en faut préciser le nombre sur la ligne de commande, si vous avez 2 WebCams :
    [root@duron]# modprobe ov511 cams=2
    La première WebCam détectée sera /dev/video0 la seconde /dev/video1 et c.

    Note(3) : Il est possible (non testé) de charger en meme temps un driver ov511, cpia et bttv chacun des périphériques détectés sera accessible via un /dev/videoxx

    W3Cam

    W3Cam est un programme qui permet de diffuser à la demande les images sur votre serveur WEB (vous devez avoir installé Apache (par exemple) pour pouvoir l'utiliser). Mais le paquetage W3Cam permet aussi de tester rapidement sa WebCam car il contient le programme (fonctionnant en ligne de commande) : vidcat qui lui ne nécessite pas d'installer Apache.

    Compilation et installation

    Comme toujours on peut récupérer un paquetage précompilé pour sa distribution, mais je préfère compiler moi même ce type de programme : je n'expliquerais pas comment faire, mais vous pouvez le faire en allant sur rpmfind.net par exemple. Nous allons récupérer les sources là : http://www.hdk-berlin.de/~rasca/w3cam/

    Puis on décompresse le tout et on compile :
    tar xzf w3cam-0.6.6.tar.gz
    cd w3cam
    ./configure
    make
    make install

    Maintenant tout est installé dans /usr/local/bin et /usr/local/cgi-bin, n'oubliez pas d'ajouter /usr/local/bin à votre PATH.

    Faisons un petit test :
    vidcat -d /dev/video0 -s 320x240 -f jpeg > ~/essai.jpeg

    Essayer de regarder le fichier ~/essai.jpeg. S'il est un peut sombre, c'est que les réglages automatiques n'ont pas pu se faire à la première prise de vue, essayez d'en faire d'autre : l'image s'éclaircie petit à petit. Ça y est votre WebCaebc fonctionne sous Linux !

    Votre tête sur le Web !

    Vous avez acheté une webcam, ce n'est certainement pas pour prendre des photos... Une première solution : mettez votre tête animée sur le Web. Pour cela vous devez avoir installé Apache sur votre machine. Puis copiez le contenu de /usr/local/cgi-bin vers le répertoire des cgi d'apache (sur la Mandrake 7.2 c'est /var/www/cgi-bin, sur la 7.0 c'est /home/httpd/cgi-bin) :
    cp -R /usr/local/cgi-bin/* /var/www/cgi-bin

    Puis, éditez le fichier : /var/www/cgi-bin/w3cam.cgi.scf. Ci-après vous trouverez le mien :

    # SCFF/sh
    # Ce fichier doit se trouver dans le même répertoire
    # que w3cam.cgi
    # Décommentez et renseignez les
    # lignes suivantes si vous souhaitez
    # modifier les couleurs de fond et
    # celles d'avant plan
    # background=#ffffff
    # foreground=#000000

    # Ce paramètre existe mais je
    # ne sait pas à quoi il sert
    # source_url="http://home.pages.de/~rasca/w3cam/"

    # Si vous souhaitez utiliser une feuille de style
    # décomentez la ligne suivantes
    # stylesheet="/~rasca/w3cam/w3cam.css"

    # mettre protected à 1 permet d'éviter
    # de prendre en compte les champs du formulaire

    protected=0

    # mettez ici votre périphérique video

    device = "/dev/video"

    # taille d'image en provenance de la WebCam (ou la carte TV)

    width=320
    height=240

    # pour avoir de jpeg en couleurs (0 : noir et blanc) color=1
    # temps à attendre entre deux images

    refresh="0.1"

    # norm, 0=PAL, 1=NTSC, 2=SECAM
    # utile uniquement avec une carte TV #norm="0"
    # input, 0=TV, 1=Composite1, 2=Composite2, 3=S-Video

    input="1" # avec une WebCam (évite les bouton unutiles avec une WebCam)

    # format, 1=PPM, 2=JPEG, 3=PNG

    format="2"

    # qualité des jpeg : 1-100

    quality="50"

    # mode, 0=plain, 1=gui (pour avoir un control sur w3cam)

    mode="1"

    # attendre 0,5 secondes avant de commencer la capture
    # (ie : 500000 microsecondes)
    # usleep="500000"
    # fréquence du tunner en 1/16 MHz
    # uniquement pour les carte TV
    # freq="9076"
    # liste des fréquences
    # freqlist="878;9076;9844;9460"
    # Pour mettre l'heures sur les images de votre WebCam
    # les mots clefs ne sont utilisables que dans ce fichier
    # vous devez renseigner les champ "font" et "timestamp"
    #
    # font = /usr/local/X11/lib/ttfonts/arial.ttf
    # font_size = 12
    #
    # Pour la chaine de format de l'heure voir la manpage : strftime(3)
    # timestamp = "Berlin, %H:%M %d.%m.%Y"
    # timestamp_border = 2
    #
    # blend value: 1 .. 100
    # timestamp_blend = 60
    # alignment: 0 = upper left corner, 1 = upper right corner,
    # 2 = lower left corner, 3 = lower right corner
    # timestamp_align = 1


    Puis lancez votre navigateur web préféré (je crois que cela ne fonctionne pas avec MS IE mais je n'ai pas pu essayer...) et tapez l'url suivante : http://localhost/cgi-bin/w3cam.cgi : ça y est ça bouge !

    Pour acceder à votre webcam depuis le net il suffit, dans l'adresse ci-dessus, de remplacer localhost par votre ip (que l'on peut obtenir en faisant ifconfig ppp0 si l'on est connecté via pppd) et c'est tout. Note : Si l'image que vous voyez semble provenir de Canal+ sans décodeur, c'est souvant que vous demandez une capture dans une résolution qui n'est pas supportée soit par le driver soit par la WebCam.

    Motion

    partie écrite par : Dimitri CLATOT <dclatot@free.fr>.

    Vous suspectez des fantômes de venir hanter votre maison en votre absence sans jamais les avoir vus et bien voici ce qu'il vous faut. Motion permet de détecter les mouvements faits devant votre webcam et de les enregistrer. Plus d'infos http://motion.technolust.cx/tech/

    Compilation et installation

    L'auteur propose le rpm compilé ou les sources que l'on peut trouver ici: http://motion.technolust.cx/download/. Voici comment installer les sources :
    $ tar zxvf motion-2.X.X.tar.gz
    $ cd motion-2.X.X
    $ ./configure (ajoutez ici : --prefix=/usr si vous voulez l'installer dans /usr et pas /usr/local comme c'est le cas par défaut)
    $ make
    $ su
    Password: xxxxxxx
    # make install 

    Big Brother is watching You

    motion s'installe par défaut dans /usr/local/bin

    Pour tester le fonctionnement avec votre webcam, lancer:
    [dimitri@micro quickcam]$/usr/local/bin/motion
    Motion crée à partir du répertoire où vous avez lancé l'exécutable (ici quickcam), une arborescence avec l'année, le mois, le jour, l'heure et la minute de l'enregistrement. A l'intérieur du dernier sous-répertoire on trouve les images jpeg datées avec en encadré les changements détectés. Exemples sur le site de Motion.
    [dimitri@micro quickcam]$ ls -a 2001/05/26/09/57/
    ./ ../ 36-00.jpg 36-01.jpg 36-02.jpg
    Maintenant que vous avez vu que tout fonctionne, vous allez pouvoir le paramétrer plus finement. Pour cela, vous avez 2 possibilités, par la ligne de commande (man motion) ou par un fichier de configuration 'motion.conf' à placer dans le même répertoire à partir duquel vous exécutez motion.

    Exemple: Exécute motion sous forme de démon avec des images en ppm
    [dimitri@micro quickcam]$ motion -D -p
    Vous trouverez un exemple de fichier de configuration dans le répertoire /usr/local/examples/motion-2.X.X .

    Motion offre beaucoup de possibilités de configuration, comme stocker les évènements dans une base MySQL, vous envoyer des mails ou SMS pour vous prévenir, ou faire une vidéo des images capturées.

    D'autres programmes

    Ici, je vais mettre une liste de programmes qui peuvent utiliser votre WebCam.

    Haut


    Appareils photo numériques sur Linux

    Teotihuacan

    Ceci est un bref tutoriel pour vous aider à configurer votre appareil photo numérique.

    En premier lieu, branchez simplement votre appareil. Si vous voyez apparaître un icône sur le bureau, cliquez dessus, et c'est déjà fini ! Sinon, essayez juste de lancer gtkam ou digikam et essayez d'accéder à l'appareil photo. Si cela ne fonctionne pas tout seul, ou pour savoir comment ça marche, vous aurez besoin de lire l'article qui suit !

    Les appareils photos numériques sur Linux

    Les appareils photo numériques communiquent avec différents protocoles avec votre ordinateur :

    Identifier le protocole à utiliser

    Avant de continuer, il faut identifier le mode d'accès qu'il faudra utiliser pour votre appareil. Pour cela, reportez vous à cette Liste des appareils photos . Vous allez alors pouvoir identifier les solutions possibles pour votre appareil. Il peut y avoir en effet plusieurs protocoles possibles pour un appareil photo. De plus, cette liste présente aussi des remarques pour certains appareils. Ces remarques concernent des appareils qui peuvent avoir une spécificité. Cette liste peut bien évidemment vous guider dans l'achat d'un appareil photo si vous voulez en faire l'acquisition.

    USB Mass Storage

    C'est le protocole qui est utilisé par les disques en USB. Vous pouvez alors utiliser votre appareil photo comme une clé USB. Je vous renvoie donc à ce tutoriel : Léa-Linux : Configurer une clé USB. Pour résumer, pour que tout utilisateur puisse monter la partition de l'appareil photo où sont stockées les images, il suffit de créer un répertoire pour le montage avec par exemple mkdir /mnt/removable et d'ajouter la ligne suivante à votre fichier /etc/fstab :

    /dev/sda1 /mnt/removable vfat defaults,rw,user,auto 0 0

    Vous pouvez très bien utiliser ce protocole de manière "classique", c'est à dire comme vous procédez en général avec vos disques en USB. Mais vous pouvez utiliser une interface pour communiquer avec ce type d'appareil. Parmi ces interfaces, on compte par exemple digikam

    PTP

    PTP est une méthode standardisée pour accéder à un appareil photo numérique. Cela permet bien sûr les fonctionnalités de récupération d'image, mais aussi d'accéder aux fonctions plus avancées de l'appareil, telles que le contrôle de la batterie. Pour utiliser PTP sur Linux, vous pouvez vous procurer les librairies PTP (libptp) à l'adresse suivante : libPTP. Pour plus de détail sur ce protocole et son utilisation, le manuel d'utilisation des librairies PTP est ici : README libPTP, Installer ces librairies est un bon moyen de vérifier le fonctionnnement de l'appareil sur Linux, mais pour utiliser PTP, vous pouvez aussi passer par gPhoto2, ce qui est plus simple pour un débutant.

    gPhoto2

    Présentation

    gPhoto2 est un logiciel contenant divers protocoles d'accès aux appareils photos numériques (entre autre PTP). Pour une large majorité d'appareils il suffit d'utiliser gPhoto2. Vous pouvez d'ailleurs vous référer à la liste des appareils supportés par gPhoto2.
    Pour utiliser gPhoto2, vous devez vous procurer les programmes gphoto2 et libgphoto2 sur le Site de gphoto, ou simplement les installer avec les outils de votre distribution.

    Interfaces graphiques

    Gphoto2 est un ensemble de librairies et programme en ligne de commande.

    Une fois installé, vous pouvez lui ajouter une interface graphique. Il y a par exemple :

    Configuration

    Cette section a pour but de vous aider à configurer votre système si vous utilisez gPhoto2.

    La plupart des appareils photos fonctionnent maintenant avec de l'USB, mais il existe aussi des appareils qui fonctionnent avec le port série. Cette partie s'adresse à la configuration des appareils en USB.

    Si vous avez décidé de faire fonctionner votre appareil via l'USB Mass Storage, il n'y a pas réellement de particularité concernant les droits. Tout dépendra de la façon dont votre distribution gère les droits (voir notamment le fichier /etc/fstab. Si vous utilisez en revanche un autre protocole (comme PTP), vous aurez accès à votre appareil uniquement en root par défaut. Il est évidement possible de donner le droit d'utiliser le périphérique aux utilisateurs normaux. Pour cela, il faut configurer Hotplug.

    Note : selon votre distribution, cette configuration peut être déjà réalisée.

    Hotplug gère les périphériques (par exemple USB) quand ils sont branchés à chaud. Cela va permettre de configurer les droits sur votre appareil une fois qu'il sera branché et il va aussi vous permettre d'exécuter une action une fois le périphérique connecté, par exemple lancer le programme de récupération des images.

    Pour configuer Hotplug, il faut bien naturellement commencer par s'assurer que Hotplug est activé au démarrage. Il faut ensuite, que l'USB soit correctement configuré, c'est à dire avoir les modules chargés et que usbfs soit monté sur /proc/bus/usb. Utilisez la commande mount pour vérifier que votre distribution a effectué le montage. Sinon, vous pouvez ajouter la ligne suivante à votre fichier /etc/fstab :

    usb /proc/bus/usb usbdevfs defaults,user 0 0


    Ensuite, il faut demander à Hotplug de suveiller les connexions de votre appareil. Pour que Hotplug réagisse au branchement de votre appareil photo, il faut créer le fichier /etc/hotplug/usb/usbcam.usermap qui représente la liste des périphériques qu'il devra surveiller. Pour créer ce fichier, il suffit pour cela d'exécuter la commande :

    # /usr/lib/libgphoto2/print-usb-usermap > /etc/hotplug/usb/usbcam.usermap


    Quand vous connectez votre appareil, vous pouvez demander à Hotplug d'effectuer une action. Il faut maintenant choisir cette action. Pour cela, il faut créer un script /etc/hotplug/usb/usbcam.

    Vous pouvez créer votre propre script, mais le projet gPhoto2 vous en propose quelques un. Il suffit de récupérer les sources de libgPhoto2 ; les exemples de script se situent dans le dossier packaging/linux-hotplug des sources. Voici les différents scripts qui sont proposés :

    usbcam.group
    : Le droit d'utiliser le périphérique est restreint à un groupe. Il faut éditer le fichier pour changer ce groupe. Vous pouvez par exemple créer un groupe pour cela.
    usbcam.console
    : Le droit d'utiliser l'appareil est réservé à l'utilisateur qui possède la console, selon le paramètre pam_console. C'est une méthode qui est spécifique aux utilisateurs s'étant loggé avec gdm sur Red Hat.
    usbcam.user
    : L'accès au périphérique est restreint à un unique utilisateur. Vous devez éditer le script pour spécifier cet utilisateur
    usbcam.x11-app
    : Vous pouvez utiliser ce script si vous voulez restreindre l'accès à un seul utilisateur et que vous voulez lancer une interface de gPhoto2 automatiquement quand vous branchez l'appareil photo. Pour spécifier l'utilisateur et l'application, vous devez éditer le script.

    Le projet digikam propose également un script qui lance automatiquement digikam quand un utilisateur branche son appareil photo. Il suffit pour cela de télécharger cette archive et de copier son contenu dans /etc/hotplug/usb/.

    Une fois que vous avez choisi le script et que vous l'avez copié dans /etc/hotplug/usb/ sous le nom /etc/hotplug/usb/usbcam, vous devez le rendre exécutable grâce à la commande :

    # chmod +x /etc/hotplug/usb/usbcam

    Voilà, après avoir suivi ces instructions, vous devriez pouvoir utiliser votre appareil photo numérique. Vous n'avez désormais plus qu'à connecter votre appareil et vous pourrez l'utiliser, avec les contraintes du script que vous avez choisi.

    Sources

    Digital Camera Support for UNIX, Linux and BSD
    README de libPTP
    Manuel de gPhoto
    Manuel de digikam

    Haut


    Installation d'une carte Olitec PCI 128 RNIS

    par Didier NOACK, MàJ par Serge (mise en page)

    Installation pour une mandrake 7.1 (à vous d'adaptez suivant votre distibution).


    Pré-requis

    Vérifier que la carte RNIS est bien installée :

    Lancer la console et tapez cat /proc/pci

    Vous devez trouver une entrée correspondant à

    Network controller : PLX Unknown device?
    Vendor id=10b5. Device id=1187
    ....../......

    Vérifier ou installer les packages RNIS et le nécessaire pour compiler le noyau :
    Avec votre utilitaire de gestion de packages RPM, installez :

    Ayant personnellement été confronté à certaines surprises (désagréables) lors de mon installation, je vous joins les fichiers de la Mandrake 7.0 car ceux de la version 7.1 posent apparemment un problème. (isdn4k-utils et isdn4net )

    Bien entendu, si vous travaillez déjà avec la Mandrake 7.1, ces fichiers existent. Par conséquent installez les miens par dessus et n'oubliez pas de cocher la case « remplace les fichiers » dans Drakconf. Rien de plus pénible, après recompilation (eh oui, il va falloir y passer) de s'apercevoir qu'à cause de ce genre de « détail » cela ne fonctionne pas et qu'il faut recommencer.

    Configurer le noyau et compiler le tout

    La configuration qui suit revient à indiquer au système les drivers qui devront être installé lors de la compilation du noyau.

    Avant de rentrer dans la configuration du noyau au sens propre, allons modifier le fichier gazel.c qui se trouve dans le répertoire /usr/src/linux/drivers/isdn/hisax :

    Au début du fichier, vous allez trouver la ligne:
    #DEFINE GAZEL_R753 0x1152

    Remplacez 1152 par 1187, sauvegardez et c'est tout.

    Dans la console tapez make xconfig (dans /usr/src/linux)
    Il faut maintenant parcourir les options concernant ISDN et renseigner les points suivants :

    ISDN Support : m
    Support synchronous PPP : y
    Use VJ-compression with synchronous PPP : y
    Support generic MP (RFC 1717) : y
    Hisax Siemens chipset driver support : m
    Hisax support for EURO/DSS1 : y
    Hisax support for Gazel cards : y

    Quittez en sauvegardant les modifications.

    Compiler maintenant le noyau avec les modules , dans la console tapez :

    make clean
    make dep
    make bzImage
    make modules
    mv /lib/modules/2.2.15-4mdk /lib/modules/2.2.15-4mdk-old
    (à remplacer avec votre version)
    make modules_install
    cd /boot
    cp module-info-2.2.15-4mdk module-info-2.2.15-4mdk-old (mettre votre version la aussi, si vous obtenez un message du genre le fichier est introuvable,c'est pas grave)
    mv System.map-2.2.15-4mdk System.map-2.2.15-4mdk-old
    cp /usr/src/linux/System.map ./System.map-2.2.15-4mdk
    mv vmlinuz-2.2.15-4mdk vmlinuz-2.2.15-4mdk-old
    cp /usr/src/linux/arch/i386/boot/bzImage ./vmlinuz-2.2.15-4mdk

    Modifier le fichier de démarrage, pour cela editez avec un éditeur graphique ou dans une console le fichier lilo.conf qui se trouve dans le répertoire /etc/.Rajoutez une entrée correspondant à l'ancien noyau (au cas où):

    image=/boot/vmlinuz-2.2.15-4mdk-old
    label=linux-old
    root=/dev/hdax (où x est la partition où se trouve linux)
    read-only

    Pour installer ces modifications, tapez lilo dans une console. Vous ne devez pas avoir de message d'erreur sinon, veuillez rééditer le fichier lilo.conf avant de redémarrer.

    Vous pouvez et devez maintenant redémarrer votre machine. Bientôt la fin :

    Copiez maintenant le fichier olitec.init.o dans le répertoire /lib/modules/2.2.15-4mdk/misc/
    Copiez ensuite le fichier isdn4linux dans le répertoire /etc/rc.d/init.d/ , et enfin copiez le fichier Olitec dans /etc/isdn/profile/card/

    Juste un petit truc : modifiez le fichier isdn dans le répertoire /etc/sysconfig/

    A la ligne I4L_CARD= »mycard » remplacez mycard par Olitec

    Paramétrer le démarrage

    Dans une console tapez :

    cd /etc

    chkconfig --del isdn4linux
    chkconfig --add isdn4linux
    chkconfig --list isdn4linux

    Vérifiez la présence du fichier ifcfg-ippp0 dans /etc/sysconfig/network-scripts/

    Editez le fichier network dans /etc/sysconfig/ en supprimant les entrées GATEWAY et GATEWAYDEV (si elles existent)
    Rajoutez à la fin GATEWAYDEV=ippp0

    Editez le fichier isdn.conf dans /etc/isdn/ en mettant COUNTRYCODE=33 AREACODE=2 (pour la normandie) (3 pour l'est, etc?)

    Editez le fichier ippp.default dans /etc/isdn/profile/ en remplaçant selon vos coordonnées (numéro de telephone?)

    Editez le fichier ippp.map dans /etc/isdn/profile/
    Mettre le nom de votre fournisseur d'accès internet sur la ligne Ippp0= ''libertysurf '', vous devrez alors créer le fichier libertysurf dans le répertoire /etc/isdn/profile/link/ en recopiant le fichier myisp sur le fichier libertysurf.

    Editez maintenant ce fichier :

    I4LPROFILENAME=''libertysurf''
    I4L_USERNAME=''identifiant_internet''(le nom donné par votre FAI)
    I4L_SYSNAME=''libertysurf''
    I4L_LOCALMSN=''0388112233'' (votre numéro)
    I4L_REMOTE_OUT=''0860445566'' (le numéro du FAI)

    Editez les fichiers pap-secrets chap-secrets dans le répertoire /etc/ppp/. Il faut mettre la même chose dans l'un et l'autre, insérez votre ligne :
    Sous client mettre l'identifiant du FAI (le même que I4L_USERNAME ci dessus)
    Sous server la même chose que I4L_SYSNAME ci-dessus
    Sous secret mettre le mot de passe du FAI

    Tapez maintenant dans une console :
    cd /etc
    route

    (Ici vous ne devez pas avoir d'entrée comme 0.0.0.0 ou default. Si vous en avez une, tapez alors route del default

    Lancez l'interface ISDN en tapant toujours sous la console :
    /etc/rc.d/init.d/isdn4linux start
    Par la suite elle sera lancée automatiquement.

    A partir de maintenant, pour se connecter, 2 possiblités :

    1. La plus simple et la plus rationnelle :
      Vous utilisez le programme « kisdn » que dans un accès de générosité je vous joins (ma bonté me perdra).
      ATTENTION : Ce programme est une version téléchargée et NON ENREGISTREE, Je suggère vivement à chacun qui l'utilisera de s'enregistrer sur le site www.millenium.de. Cet excellent programme gagne à être connu et permet bien d'autres choses que la simple connexion à internet.Par l'activation de la fonction « dial on demand » de kisdn, la connexion se fera automatiquement lors du lancement de votre browser ou de votre mail client.

    2. La méthode des puristes et des accrocs de la console et ligne de commande :
      Pour activer ippp0 :dans la console tapez :
      cd /etc
      ifup ippp0

      Pour vérifier que l'interface est bien lancée, tapez: ifconfig
      Ifup ippp0 est à retaper chaque fois après relance du système.
      Pour la numérotation, utilisez dans une console dans le répertoire /etc :
      isdnctrl dial ippp0
      Et pour raccrocher :
      isdnctrl hangup ippp0

    Haut


    Alcatel Speedtouch ADSL USB: installation façonlibre :)

    Par Serge Tchesmeli, mis à jour par Jice

    Installation sous Linux du modem ADSL Alcatel Speedtouch USB


    Introduction

    Cet article décrit l'installation des drivers Opensource du modem ADSL Alcatel Speedtouch USB.

    Dans un autre article ainsi qu'un témoignage présents sur Léa, on décrit comment installer et configurer ce même modem, mais la méthode est assez compliquée (il faut patcher le kernel, le recompiler, compiler plusieurs applications externes sont nécessaires, et configurer le tout est complexe) ; de plus le résultat est médiocre (plantage systématique lors d'un reboot), et surtout cette méthode est basée sur les drivers propriétaires livrés par Alcatel qui ne sont pas libres du tout, pas stables et peu souvent mis à jour.

    Mais Benoît Papillault a eu la bonne d'idée d'écrire des drivers LIBRES, et qui sont de plus stables et très faciles à installer. Un grand merci à lui !

    Si vous utilisez une Mandrake (à partir de la 8.1), cet article ne vous concerne pas à priori. Cette distribution fournit en effet les drivers de B. Papillault et vous propose de les configurer soit lors de son installation soit après celle-ci. Dans ce dernier cas il vous suffit d'utiliser le Mandrake Control Center (DrakConf), d'aller à Réseau et Internet / Connexion, de clicker sur le bouton Configurer (en bas à droite) puis de suivre les instructions à l'écran !

    La seule autre chose que vous ayez à faire est de copier ensuite le fichier mgmt.o dans le répertoire /usr/share/speedtouch

    (si vous ne savez pas comment récupérer ce fichier, consultez alors cet article).
    Cependant un bug affecte la MDK 8.2 : l'installation des drivers ne fonctionne pas lors de l'installation de la distribution. Il faut juste s'assurer que les fichiers de config sont bons (voir ci-dessous), et si tel est le cas, tout baigne, même si le message lors du boot dit [FAILED] lors de l'établissement de la connexion.

    Voici une méthode alternative pour une installation rapide sur une Mandrake (à partir de la 8).

    Pré-requis et détection du modem

    Support USB

    Si vous utilisez d'autres périphériques USB ou si vous avez une distribution gérant déjà l'USB, vous pouvez passer ce paragraphe. Vérifiez juste que le modem est détecté.

    Dans un premier temps, nous allons configurer notre système pour accepter le modem USB et le faire détecter.

    On suppose que vous avez un noyau récent (en fait à partir du 2.2.18), compilé avec le support USB correspondant au chipset de votre carte mère, gérant l'USB soit en natif, soit en module.

    Si vous ne savez pas quel chipset vous avez, assurez vous juste que votre noyau est compilé avec ces options :

    Support for USB (CONFIG_USB) [M]
    Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y]
    UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M]
    UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M]
    OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI) [M]

    La plupart du temps, si votre carte mère est récente, c'est le module usb-uhci qu'il faut charger (chipset Intel ou via, les plus répandus).
    Dans le cas d'une carte USB additionnelle, ou sur un Apple (iMac, iBook...), il se peut que ça soit le module usb-ohci. Vérifiez de toute façon sur la notice de votre carte mère ou de votre carte additionnelle le type de port USB que vous avez ; dans le doute prenez tous les modules UHCI et OHCI.

    Si le module correspondant à votre type de port USB n'est pas chargé (cela se vérifie avec la commande lsmod), chargez-le.

    Vérifiez que votre modem est bien détecté. Pour cela faites un :

    # mount -t usbdevfs none /proc/bus/usb

    Si ça vous dit que le système de fichier est déjà monté, ça n'est pas grave.
    Tapez alors :

    # cat /proc/bus/usb/devices

    Et vous devriez voir apparaître alors des messages du style :

    ...
    S: Manufacturer=ALCATEL
    S: Product=Speed Touch USB
    S: SerialNumber=0090D013AAB8
    C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbdevfs
    E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl= 50ms
    I: If#= 1 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbdevfs
    I: If#= 1 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbdevfs
    E: Ad=06(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
    E: Ad=07(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
    E: Ad=87(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
    ...

    Ok notre modem est bien détecté.

    En cas de problèmes, débranchez le modem (au niveau USB), puis rebranchez-le. Déjà, si les deux LEDs vertes s'allument, c'est qu'il est normalement détecté.
    Par contre s'il ne s'allume pas du tout (aucune LED) ou s'il y a juste la LED rouge c'est qu'il y a un problème, vérifiez que le module USB est bien chargé, et que vous avez bien chargé celui correspondant à votre matériel (OHCI ou UHCI).

    Support PPP

    Le support ppp est intégré au noyau de toutes les distributions récentes : debian, Mandrake, RedHat, Slackware. En général, vous pouvez passer à la suite.

    Il va vous falloir aussi le support PPP dans votre kernel. La plupart du temps la aussi, dans les distributions récentes, ce support est déjà présent. Sachez que si vous utilisez auparavant une connexion par modem RTC (modem traditionnel sur la ligne téléphonique) c'est que vous avez déjà le support PPP. Dans ce cas, vous pouvez passer ce paragraphe.

    Pour vérifier quand même au cas où, tapez dans une console :

    # pppd

    Si vous voyez des caractères bizarres s'afficher (du style %:/lm....) c'est bon : vous avez le support ppp. Appuyer sur CTRL-C pour stopper pppd.

    Par contre si vous avez un message du type :

    pppd: This system lacks kernel support for PPP. This could be because the PPP kernel module could not be loaded, or because PPP was not included in the kernel configuration.

    c'est que vous n'avez pas le support PPP dans votre kernel. Dans ce cas, compilez votre kernel avec ces options :

    PPP (point-to-point protocol) support (CONFIG_PPP) [M]
    PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY) [M]

    Dernière vérification à faire, vérifiez que votre kernel possède bien le support HDLC (là aussi c'est normalement le cas pour les distributions récentes) en essayant de charger le module :

    # modprobe n_hdlc

    Si le support n'est pas présent, recompilez votre kernel avec les options suivantes :

    Character devices --->
    [*] Non-standard serial port support
    HDLC line discipline support
    [*] Unix98 PTY support

    Enfin, automatisons le chargement des modules, et définissons les alias des modules en ajoutant dans le fichier /etc/modules.conf :

    alias char-major-108 ppp_generic
    alias tty-ldisc-3 ppp_async
    alias tty-ldisc-13 n_hdlc
    alias tty-ldisc-14 ppp_synctty

    Et tant qu'on y est, ajoutons aussi les lignes suivantes dans ce fichier (ce sont les protocoles de compression) :

    alias ppp-compress-21 bsd_comp
    alias ppp-compress-24 ppp_deflate
    alias ppp-compress-26 ppp_deflate

    Voilà, passons maintenant à l'installation des drivers.

    Installation des drivers

    Drivers

    Il va falloir récupérer les drivers, pour cela allez sur : http://benoit.papillault.free.fr/speedtouch/user.php3

    Récupérez la dernière version ! Puis détarrez / dézippez-la (tar zxvf speedtouch-VERSION.tar.gz), placez-vous dans le répertoire ainsi obtenu et compilez le tout :

    $ ./configure
    $ make
    $ su
    Password:
    # make install
    # exit

    (En étant root pour pouvoir installer bien sûr).

    Firmware

    Il va nous falloir aussi un des fichiers des drivers officiels d'Alcatel (il s'agit en fait du FIRMWARE qui est le programme chargé dans le microprocesseur du modem lui-même), seule partie des drivers que Benoît n'a pas pu écrire, car ils sont le secret d'Alcaltel, et réécrire un firmware ne sert à rien.
    Pour cela, allez sur cette page.

    Et copiez le ce firmware.bin dans /usr/local/share/speedtouch/ (ce répertoire a été créé par l'installation des drivers) puis renommez le mgmt.o.

    Remarque : si vous utilisez Windows, vous pouvez aussi copier le fichier alcaudsl.sys que l'on trouve dans c:\windows ou un sous-répertoire, vers /usr/local/share/speedtouch/mgmt.o

    Bon maintenant configurons la connexion elle-même.

    Configuration de la connexion

    Pour cette partie, vous allez avoir besoin des paramètres de configuration de votre connexion que votre fournisseur d'accès vous a fournis. Allez dans le répertoire /etc/ppp/peers (créez-le s'il n'existe pas), et créez un fichier /etc/ppp/peers/adsl comprenant :

    noauth
    noipdefault
    pty "/usr/local/bin/pppoa3 -c -m 1 -vpi VPI -vci VCI"
    sync
    noaccomp
    nopcomp
    noccp
    novj
    holdoff 4
    maxfail 25
    persist
    usepeerdns
    user "votre login"
    defaultroute
    debug
    kdebug 1

    Avec comme valeurs :
    - VPI : 8
    - VCI : 35

    ATTENTION : Ces valeur VPI / VCI sont valables pour la France, ils se sont sûrement pas bons si vous habitez un pays francophone ou étranger, DOM, TOM, etc... Pour trouver votre VPI / VCI, sous Windows, vous devez avoir une petite icone verte représentant votre modem USB à gauche de l'horloge, double cliquez dessus, puis cliquez sur la flèche verte intitulé MORE (ou plus d'info...), les paramètres de connexions apparaissent alors. sur l'onglet "Connexion", notez les valeurs VPI et VCI. Mettez alors ces mêmes valeurs dans le fichiers /etc/ppp/peers/adsl décrit ci dessus.

    Si vous n'utilisez pas Windows, les valeurs suivantes pourront peut-être vous aider :

    Hollande : 8.48
    France : 8.35 (ou 8.67)
    Belgique : 8.35
    Italie : 8.35
    Grande Bretagne : 0.38

    Pour la valeur de "votre login" mettez le user COMPLET sans oublier le @FAI souvent obligatoire.
    Par exemple dans mon cas, une connexion Wanadoo (fti = France Telecom Interactive), mon login est de la forme :

    user "fti/gf3yud@fti"

    Note : pour éviter de commettre des erreurs, vous pouvez utiliser de préférence comme base le fichier adsl.ppp-peersample fournit avec le driver.

    Créez maintenant un fichier /etc/ppp/chap-secrets (ou ajoutez dans celui existant) avec dedans :

    # Secrets for authentication using CHAP
    # client       server  secret          IP addresses
    "votre_login"  "*"     "mot_de_passe"  "*"

    ainsi qu'un fichier /etc/ppp/pap-secrets :

    # Secrets for authentication using PAP
    # client       server  secret          IP addresses
    "votre_login"  "*"     "mot_de_passe"  "*"

    Là aussi le login doit être complet.

    Voilà tout est prêt pour tester !

    Remarques :

    Le fichier /etc/ppp/options n'est pas ici mentionné, pourtant celui de certaines distributions (Woody par exemple) est inadéquat. Dans ce cas il faut le remplacer par le fichier suivant :


    # /etc/ppp/options
    usepeerdns
    noauth
    lock
    noipdefault

    Testez le tout !

    Pour cette partie, allez chercher votre gri-gri favori, votre trèfle à 4 feuilles et, très important, déposez 3 gousses d'ail sur le moniteur de votre PC (si y'en a un qui le fait qu'il m'envoie une photo SVP ;).

    Lancez alors les commandes suivantes :

    # /usr/local/bin/modem_run -f /usr/local/share/speedtouch/mgmt.o -m

    Attendez un petit moment, que la LED verte de droite ne clignote plus. S'il vous avez un message d'insulte et que la LED de droite passe a l'orange, retapez la commande (il arrive que le modem ne s'initialise pas bien la première fois). Si la LED de droite est verte et ne clignote plus, lancez alors cette commande :

    # pppd call adsl

    Si vous avez un message avec des adresses IPs, c'est bon : ça marche !!! (Note de Jice : chez moi il n'y a aucun message : pppd call adsl rend la main tout de suite, il établit la connexion en arrière plan, et cela fonctionne.) ;)
    Essayez alors de surfer sur la vague du web !

    Pour automatiser la connexion dès le démarrage, vous pouvez placer ces 2 commandes dans un script de démarrage, ou voyez ce que vous pouvez faire avec le script /usr/local/share/speedtouch/adsl.sh

    Remarque : si vous avez des problèmes de résolution DNS, renommer le fichier /etc/resolv.conf en resolv.conf.backup par exemple, et tapez la commande:

    # ln -s /etc/ppp/resolv.conf /etc/resolv.conf

    Essayez de nouveau (mais normalement les DNS sont récupérés automatiquement à la connexion, c'est l'option usepeerdns vue plus haut).

    Et voilà ! Bon surf à haut débit avec votre manchot favori !

    Le driver du kernel

    Depuis peu (kernel 2.5.x, 2.6.x et backport vers le 2.4.22+), il existe un autre driver pour les SpeedTouch : le driver du kernel. Je ne sais pas lequel est préférable. Celui de Benoît Papillaut semble plus facile à installer, mais d'après les développeurs du driver du kernel ce driver est plus performant (ils affirment qu'il a de meilleures performances et une latence plus faible). Pour l'instant le driver du kernel utilise la partie "modem_run" du driver de Benoît pour charger le firmware (qui est le même). Si vous voulez tester ce dernier pour vous faire une idée, voici la marche à suivre pour ce qui est du la connexion utilisant "ppp over atm" (il en existe une autre : ppp over ethernet, mais je ne l'ai pas essayé).

    Ce qu'il nous faut

    1. Le firmware, par exemple celui-ci.
    2. La partie "utilisateur" du driver : speedbundle.
    3. Les sources du kernel 2.4.22 (ou plus !).

    Configuration du kernel

    Il faut configurer le kernel (au moins pour les 2.22 et plus) de la maniére suivante :

    Pour le reste, configurez correctement votre kernel.

    Puis, compilez et installez, les modules et le kernel comme d'habitude :

    make dep
    make clean
    make bzImage
    make install
    make modules
    make modules_install

    Compilation des utilitaires

    Tout d'abord on décompresse : speedbundle :

    [user ~] $ tar xzf speedbundle-1.0.tar.gz
    [user ~] $ cd speedbundle-1.0
    [user speedbundle-1.0] $ _

    Ensuite, comme on a une bonne version du kernel, il faut désactiver la compilation des modules du kernel (ils sont déjà compilés) :

    [user speedbundle-1.0] $ grep -v "kernel_module" Makefile > Makefile.new
    [user speedbundle-1.0] $ grep -v "kernel_module" configure > configure.new
    [user speedbundle-1.0] $ mv Makefile Makefile.old
    [user speedbundle-1.0] $ mv configure configure.old
    [user speedbundle-1.0] $ mv Makefile.new Makefile
    [user speedbundle-1.0] $ mv configure.new configure

    Il faut encore copier les firmware au bon endroit :

    [user speedbundle-1.0] $ cp /ou/vous/avez/mis/firmware.bin firmware/firmware.bin

    Si votre firmware est mgmt.o ou alcaudsl.sys, vous devez quand-même le copier dans firmware/firmware.bin

    Normalement, à partir d'ici, on pourrait taper make && make install, mais cela ne va pas fonctionner complètement. Pour ne pas s'énerver, on va finir la configuration.

    Pour cela, il faut se rendre dans le répertoire : ppp_scripts

    [user speedbundle-1.0] $ cd ppp_scripts
    [user ppp_scripts] $ _

    Puis on va copier speedtch-pppoatm sur speedtch :

    [user ppp_scripts] $ cp speedtch-pppoatm speedtch

    Puis, vous éditez ce fichier speedtch, et vous remplacez "username" par "fti/xxxxxxx@fti" (ie: votre 'login') ainsi que 0.0 par le VCI.VPI dont on a parlé plus haut (pour wanadoo : 8.35).

    Enfin, vous éditez (toujours dans ce répertoire ppp_scripts) : chap-secrets et pap-secret pour remplacer dedans : username par "votrelogin" et password par "votremotdepasse". Notez la présence de "" pour évitez les problèmes de login ou de mot de passe contenant des espaces.

    Voilà, il ne reste plus qu'à compiler :

    [user ppp_scripts] $ cd ..
    [user speedbundle-1.0] $ ./configure
    [user speedbundle-1.0] $ make && make install

    Ça y est, tout est prêt ou presque, rebootez avec votre nouveau kernel.

    Vérifions

    Après le reboot, vérifions que tout va bien :

    [user ~] $ su -
    [root user] # modprobe speedtch
    [root user] # modem_run -k -f /usr/lib/speedtouch/firmware.bin &
    [root user] # pppd call speedtch
    Plugin pppoatm.so loaded.
    PPPoATM plugin_init
    PPPoATM setdevname - remove unwanted options
    PPPoATM setdevname_pppoatm - SUCCESS:8.35
    Using interface ppp0
    Connect: ppp0 <--> 8.35
    CHAP authentication succeeded: CHAP authentication success, unit 789
    local IP address 81.48.215.163
    remote IP address 81.48.215.1
    primary DNS address 193.252.19.3
    secondary DNS address 193.252.19.4

    Toutes les dernières lignes peuvent être différentes chez vous.

    Vérifiez que vous êtes connectés à internet (par un petit ping, ou la consultation d'une page web). Si ce n'est pas le cas, essayez de taper une nouvelle fois la ligne pppd call speedtch

    Hotplug

    Il est possible d'utiliser le Hotplug pour que la connexion s'établisse quand vous branchez votre modem (ou quand vous allumez votre PC), il suffit pour cela de créer le script /etc/hotplug/usb/speedtch :

    #!/bin/bash
    case $ACTION in
    add)
      if /usr/sbin/modem_run -k -f /usr/lib/speedtouch/firmware.bin ; then
        sleep 5
        for i in 1 2 3 4 5 ; do
          /usr/sbin/pppd call speedtch
          cnx=$(/sbin/ifconfig | /bin/grep ppp)
          if [ -n "$cnx" ] ; then
            exit 0
          fi
          sleep $[i*10]
        done
      fi
      ;;
    esac

    Le script que je propose ici diffère de celui qu'on trouve sur le site www.linux-usb.org car, chez moi la première tentative échoue presque toujours (problème de synchronisation ?). J'ai donc fait une boucle pour qu'il y ait 5 tentatives.

    Voilà, vous pouvez maintenant tester ce driver et surfer sur le net.

    Haut


    Installation d'un modem Sagem F@st 800

    Par Alexis ROBERT

    L'installation d'un modem Sagem F@st 800 est longue et fastidieuse si on utilise les drivers officiels qui sont, de plus, horriblement difficiles à installer et qui de plus, posent de graves ennuis (déconnexions intempestives, mauvais débit).

    On va donc utiliser une modification des drivers officiels. On doit sa création à Christian Casteyde, qui a d'ailleurs retransmis son développement à une autre équipe.

    Vous devrez avoir installé les sources du kernel sinon rien ne compilera ni ne marchera.

    Téléchargement du driver (noyau 2.4.x)

    Comme vous aurez l'habitude avec Linux, le driver modifié du Sagem F@st 800 est gratuit et sous license GPL.
    Il vous suffira d'aller sur http://fast800.tuxfamily.org/pub/article.php3?id_article=19.
    En attendant le retour de Tuxfamily, voici le nouveau site.

    Téléchargement du driver (noyau 2.6.x)

    Si vous avez le noyau 2.6 (tapez uname -r pour le savoir), il vous faut télécharger la version CVS.

    Installation du driver

    1. Allumez votre bécane (pour ceux qui l'auraient oublié ;-)
    2. Placez-vous dans un terminal ou en console (vous savez le truc à fond noir et avec du texte blanc)
    3. Mettez-vous en root (l'administrateur), si vous ne l'êtes pas déjà, tapez su suivi de la touche Entrée
    4. Branchez votre modem ADSL (si vous l'avez pas fait avant, aucune importance)
    5. Tapez cette commande : lsmod suivie de Entrée vous devrez voir (avec beaucoup d'autres choses) usb-uhci .... et usbcore .... sinon veuillez vous reporter au chapitre 4 de ce document.
    6. Copiez le fichier récupéré dans le répertoire /usr/local/src (allez directement à l'étape de compilation si vous avez le noyau 2.6)
      cp eagle1.0.4.tar.gz /usr/local/src
    7. Allez dans ce répertoire pour le décompresser et désarchiver :
      cd /usr/local/src
      tar xfz eagle1.0.4.tar.gz
      cd eagle1.0.4
    8. Nous allons ensuite compiler et installer le driver :
      make clean
      make
      et :
      • make install pour le noyau 2.4.x ou
      • ./autogen.sh && ./configure --lang=fr --with-kernel-src=/usr/src/linux && make clean && make && make install && eagleconfig pour le noyau 2.6.x
    9. Après avoir tapé make install (commandes précédentes) ou pendant l'installation (pour le 2.6.x), il vous demandera d'entrer votre nom d'utilisateur et votre mot de passe ADSL.
    10. Quand c'est fini, rédémarrez votre ordinateur et laissez branché votre modem ADSL, ce qui suit n'affecte que les utilisateurs non dégroupés
    11. Reconnectez-vous en root dans un terminal ou une console puis tapez : startadsl ; sleep 10 ; ifconfig et vous devrez voir normalement :

      eth1 Lien encap:Ethernet HWaddr 00:60:4C:0D:1D:FB
      inet adr:192.168.60.30 Bcast:192.168.60.255 Masque:255.255.255.0
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:1558 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1398 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:100
      RX bytes:412574 (402.9 Kb) TX bytes:229703 (224.3 Kb)

      ppp0 Lien encap:Protocole Point-à-Point
      inet adr:81.66.235.67 P-t-P:192.168.254.254 Masque:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
      RX packets:1398 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1221 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:3
      RX bytes:380117 (371.2 Kb) TX bytes:196758 (192.1 Kb)

      Note : ifconfig est la commande qui donne des informations sur les interfaces réseau installées (carte ethernet, modems, etc.)
    12. Frappez maintenant ping free.fr -c 5 et normalement vous devrez avoir ça :

      PING www.free.fr (213.228.0.42) from x.x.x.x : 56(84) bytes of data.
      64 bytes from www1.free.fr (213.228.0.42): icmp_seq=1 ttl=253 time=59.1ms
      64 bytes from www1.free.fr (213.228.0.42): icmp_seq=2 ttl=253 time=59.1ms
      64 bytes from www1.free.fr (213.228.0.42): icmp_seq=3 ttl=253 time=59.1ms
      64 bytes from www1.free.fr (213.228.0.42): icmp_seq=4 ttl=253 time=59.1ms
      64 bytes from www1.free.fr (213.228.0.42): icmp_seq=5 ttl=253 time=59.1ms

      La connexion marche !!!

    En cas de non ping

    Si ça ne pingue pas, exécutez les commandes suivantes :

    [root@localhost root]# stopadsl;sleep 1;startmire;sleep 5;stopadsl;startadsl;sleep 5;route
    Table de routage IP du noyau

    Si la ligne ci-dessus se bloque plusieurs secondes, faites [Ctrl]+C

    [root@localhost root]# stopadsl;sleep 1;startmire;sleep 5;stopadsl;startadsl;sleep 5;route
    Table de routage IP du noyau
    [Ctrl]+C
    [root@localhost root]# stopadsl;sleep 1;startmire;sleep 5;stopadsl;startadsl;sleep 5;route
    Table de routage IP du noyau
    Destination Passerelle Genmask Indic Metric Ref Use Iface
    192.168.254.254 * 255.255.255.0 UH 0 0 0 ppp0
    192.168.60.0 * 255.255.255.0 U 0 0 0 eth1
    default 192.168.254.254 0.0.0.0 UG 0 0 0 ppp0

    Si le texte ci-dessus est apparu sans délai, la connexion fonctionne probablement!

    [root@localhost root]# ping www.free.fr -c 5
    PING www.free.fr (213.228.0.42) from x.x.x.x : 56(84) bytes of data.
    64 bytes from www1.free.fr (213.228.0.42): icmp_seq=1 ttl=253 time=59.1ms
    64 bytes from www1.free.fr (213.228.0.42): icmp_seq=2 ttl=253 time=59.1ms
    64 bytes from www1.free.fr (213.228.0.42): icmp_seq=3 ttl=253 time=59.1ms
    64 bytes from www1.free.fr (213.228.0.42): icmp_seq=4 ttl=253 time=59.1ms
    64 bytes from www1.free.fr (213.228.0.42): icmp_seq=5 ttl=253 time=59.1ms

    Le ping indique que ça fonctionne !

    Il se peut que vous ayez à réaliser cette procédure plusieurs fois pour que la connexion fonctionne.

    lsmod n'affiche pas ce qu'il faut

    Si lsmod n'affiche pas

    usb-uhci 21676 0 (unused)
    usbcore 58304 1 [usb-uhci]

    parmi d'autres messages, réaliser ces opérations :

    1. Modifier /etc/modules pour y mettre :

      # module USB1
      usb-ohci
      # module USB2
      ehci-hcd

    2. Complétez le fichier /etc/fstab en ajoutant la ligne ci-dessous :

      usbdevfs /proc/bus/usb usbdevfs defaults 0 0

    Dégroupage Free

    Si vous êtes chez Free et que vous allez être dégroupés, vous devrez reconfigurer votre Sagem.
    Seulement, comme vous vous en doutez, sur la page de configuration Sagem Dégroupé, ils ne parlent pas de Linux.
    La solution était sur le forum d'Eagle-Usb. Je vous la met ici :

    1. Modifiez le fichier /etc/analog/adiusbadsl.conf (sautez cette étape si vous avez le noyeau 2.6.x) :

      Remplacez VCI=00000023 par VCI=00000024
      Remplacez Encapsulation=00000006 par Encapsulation=00000004

    2. Lancer un client DHCP sur l'interface ethernet virtuelle (celle du modem).

      La commande peut-être :
      dhclient $(adictrl -i)
      ou bien alors :
      dhcpcd $(adictrl -i)

    Pour la mandrake 9 faites ceci en root (dans une console) pour installer dhcpcd :

    urpmi dhcpd


    Vous n'aurez plus besoin de startadsl et stopadsl. Votre commande de connexion sera donc soit pump $(adictrl -i) , dhcpcd $(adictrl -i) . Cela dépend de votre distribution.

    Mandrake 9.1 et plus

    Si vous avez une Mandrake 9.1+, l'installation peut-être faite par un assistant. Faites-le si vous êtes débutants (les drivers que nous vous proposons d'installer sont normalement plus récents) ou si vous n'êtes pas chez Free Dégroupé (à cause du dégroupage, seulement pour la 9.1).
    Allez simplement dans le Panneau de Configuration Mandrake, choisissez Réseaux & Internet, puis l'outil de configuration réseau. Cliquez sur Suivant, dans la liste ne laissez coché que Connexion via ADSL. Suivez ensuite l'assistant.

    Remerciements

    Je voudrais surtout remercier Olivier Borowski qui a fait un article pour l'installation du Sagem sur une Mandrake (je me suis grandement appuyé dessus d'ailleurs), le site Eagle-Usb et surtout Christian Casteyde qui a eu le courage de modifier les drivers (je ne suis pas programmeur C mais je pense que ça ne doit pas être à la portée de tout le monde). Je voudrais aussi remercier Nemo, Sleeper et Louis CARNAPETTE qui ont participé au sujet du Dégroupage Free sur le forum de Eagle-Usb.

    Haut


    Le modem BEWAN ADSL PCIst

    par neosadik

    Cette page est consacrée uniquement à la configuration de ce modem sous Debian. Si vous possédez une autre distribution je vous conseille de vous rendre à cette adresse ou celle-ci dont je remercie d'ailleurs le webmaster puisque c'est grâce à ses indications que j'ai pu faire cette doc et installer mon modem :)


    Une version plus récente de cette article.

    Avertissement

    Ce document est en cours de conception. Toutes vos remarques sont les bienvenues.

    Copyright

    Ce document est distribué sous les contraintes de la FDL (Free Document Licence).

    Introduction

    Chers utilisateurs de Debian, tout d'abord bravo pour l'acquisition de ce modem, il est très stable et très performant. Or il faut savoir que le ppp de debian ne supporte pas le pppoatm et c'est malheuresement ce qu'utilise notre modem...Heureusement, notre distribution supporte les plugins et c'est grâce à celui-ci que l'on va faire marcher ce modem. Nous installerons le kernel à la main et non par package.

    Notre installation va donc se dérouler en 3 étapes: la compilation du noyau, la compilation des modules de la carte et l'installation du plugin.

    Le kernel

    Afin que votre modem soit reconnu par votre machine vous devez ajouter quelques modules dans votre kernel.

    Vous allez donc vous logger en tant que root (par la commande "su")

    Ensuite taper la commande "cd /usr/src/linux" (qui est le répertoire des sources de votre noyau, commande à modifier si la configuration de votre noyau se trouve autre part). Puis tapez "make menuconfig". Vous êtes maintenant dans la configuration de votre kernel...
    Entrez d'abord dans le menu "Code maturity level options" puis activez "Prompt for development and/or incomplete code/drivers" grâce à la touche espace.

    Entrez ensuite dans le menu "Networking Options" puis cherchez la ligne "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" et activez la (espace). Retournez ensuite au menu principal et choisissez le menu "Network device support" et activez les modules suivants :

    PPP (point-to-point protocol) support
    PPP support for async serial ports
    PPP support for sync tty ports
    PPP Deflate compression
    PPP BSD-Compress compression
    PPP over ATM (EXPERIMENTAL)

    Ensuite revenez au menu principal, faites Exit et sauvegardez la configuration du kernel. Après vous devez recompiler votre kernel, ce qui se fait en 6 commandes successives :

    make dep
    make clean
    make bzImage
    make modules
    make modules_install
    make install

    Si tout s'est correctement déroulé (aucun erreur), redémarrez l'ordinateur par la commande "reboot"

    Bravo, vous avez franchi la première étape !

    Driver périphérique ATM

    Un certain nombre de drivers de périphériques ATM commencent à être intégrés aux noyaux linux. Dans le cas de la carte BeWAN ADSL PCI ST, trop récente, le driver est fourni par le constructeur sous forme de fichiers sources.

    Vous allez donc dans un premier temps téléchargez ce fichier source : unicorn-0.2.0.tar.gz

    Ensuite il va falloir le dézipper par la commande :
    tar xzvf unicorn-0.2.0.tar.gz

    Cela va vous créer 2 répertoires "unicorn_atm" et "unicorn_bus". Allez dans chacun des dossiers et tapez "make install"

    Le plugin pppd

    Voilà votre modem "fonctionne" or il faut maintenant le configurer afin qu'il se connecte à votre provider l'ADSL.
    Tout d'abord vous allez télécharger une version de pppd modifié, avec le plugin ATM : ppp_2.4.0-3_i386.deb (bouton droit et enregister sous...)

    Ensuite installez le par la commande :
    dpkg -i ppp_2.4.0-3_i386.deb (commande root)

    Voilà votre plugin est installé il ne vous manque plus qu'à le configurer.Pour cela il ne vous reste plus qu'à configurer PPPD en adaptant les fichiers

    [ /etc/ppp/pap-secrets ]

    # Secrets for authentication using PAP
    # client server secret IP addresses
    "fti/gya8c84@fti" * "e3ga4az"

    [ /etc/ppp/chap-secrets ]

    # Secrets for authentication using CHAP
    # client server secret IP addresses
    fti/gya8c84@fti" * "e3ga4az"

    [ /etc/ppp/options ]

    lock
    ipparam ppp0
    noipdefault
    noauth
    default-asyncmap
    defaultroute
    hide-password
    noaccomp
    noccp
    nobsdcomp
    nodeflate
    nopcomp
    novj novjccomp
    lcp-echo-interval 20
    lcp-echo-failure 3
    sync
    maxfail 0
    persist
    plugin /usr/lib/pppd/plugins/pppoatm.so 8.35

    à vos besoins (n'hésitez pas à supprimer les autres informations car elles sont complètement inutiles). Dans ce dernier fichier, vous devrez adapter le paramètre [8.35 == VPI.VCI] qui en France, prend la valeur 8.35 pour les offres à base de Netissimo. L'identifiant de connexion "fti/gya8c84@fti" et son mot de passe, présent dans ces fichiers exemples sont fantaisistes et devront être remplacés.

    Ensuite redemmarrez une dernière fois l'ordinateur. Voila tout est configuré il ne vous reste plus qu'à vous connecter par la commande suivante :
    pppd user fti/gya8c84@fti

    Remarques

    Pour couper la connexion il suffit de tuer PPPD par la commande "killall pppd". Le fonctionnement est donc d'une simplicité étonnante.

    La reconnexion est automatique apres les 24h.

    Faites un tour dans dselect afin de holder ce ppp sinon il sera effacé au prochain upgrade :( Je suis sous le noyau 2.4.18 et je ne certifie en aucun cas qu'il marche sous les noyaux 2.2.x présents sur les cds Debian. Verifier si de nouvelles version du pppd debian existent sur ce lien

    Haut


    Modem ECI-ADSL USB

    (c) 2002 Boris Lesner (talanthyr chez tuxfamily org)

    Le modem ECI-ADSL USB fonctionne aussi sous Linux !


    Le driver dont nous allons parler ici supporte en fait les modems basés sur le chipset Globespan (voir la liste des modems supportés).

    Vous trouverez sur Léa un script pour faciler la configuration de ce modem, mais la lecture de cet article reste la seule solution de régler tous les problèmes que vous risquez de rencontrez.

    Le Kernel

    Cette partie peut être sauté si vous utilisez une distribution récente car dans ce cas, tous les modules nécessaires sont déjà compilé et installé, passez directement .

    Il est nécessaire de compiler un certain nombre de modules.

    Par commodité je ne m'étendrais pas sur la compilation du kernel et des modules car il existe de tres bons guides la dessus et chacun a une technique plus ou moins particulière et différente selons les distributions. Personnellement le compile "à la main" sous Debian et je n'ai aucune idée de la technique a utiliser sous Mandrake par exemple ...

    Le support de PPP

    Dans la section Network device support activez les modules :

    Le support de l'USB

    Dans la section USB support activez les modules :

    Nota bene : un seul sera utile mais dans un souci de compatibilité avec les différentes matériels existant je préfère activer tous les modules.

    Cochez aussi : Preliminary USB device filesystem (non disponible en module).

    Le support du port

    Dans le section Character devices cochez :

    Compilez ensuite votre kernel et les modules comme vous en avez l'habitude, rebootez et voila :)

    Le driver

    Téléchargez le driver

    Téléchargez le driver sur http://eciadsl.flashtux.org/, page téléchargement.

    Décompressez les sources

    Décompressez les sources du driver et compilez le :

    tar xvzf eciadsl-usermode_XXX.tgz
    cd eciadsl-usermode_XXX
    ./configure
    make
    make install

    Ajoutez vos login et pass

    Ajoutez vos login et pass de votre fournisseur d'accès :

    echo "* user * pass" >> /etc/ppp/chap-secrets
    echo "* user * pass" >> /etc/ppp/pap-secrets

    Remplacez user et pass par les identifiants de connexion fournis par votre FAI (par exemple : fti/t3zabdwcy@fti * aemp3sti pour wanadoo)

    Ici aussi dans un souci de compatibilité avec les différents FAI j'indique les identifiants de connexion pour les méthodes pap et chap (si vous ne savez pas quelle methode utilise votre FAI mettez les deux pour plus de tranquilité)

    Nota Bene : Pour cette opération il est aussi possible d'utiliser l'utilitaire eciconf.sh fourni avec le driver.

    Lancer sa connexion

    En tant que root lancez la commande :

    startmodem

    Normalement vous devriez voir "Connect Modem OK"

    Si ça n'est pas le cas lisez ce qui suit

    Ca ne fonctionne pas

    (Pas de panique tout n'est pas perdu :)

    La connexion se bloque au bloc 259

    C'est un cas fréquent dans certaines régions : la manoeuvre est simple, il faut remplacer eci_wan3.bin par un autre .bin (par exemple eci_wan3.dmt.bin) :

    cd /etc/eciadsl
    mv eci_wan3.dmt.bin eci_wan3.bin
    startmodem

    Normalement tout devrait rentrer dans l'ordre.
    Plus d'infos sur ce problème dans ce truc et astuce.

    Innapropriate IOCTL for device

    Startmodem se déroule correctement mais j'ai des messages d'erreur : "Innapropriate IOCTL for device"

    En général ca n'arrive pas la première fois : la solution est simple :

    cd /???/eciadsl-usermode_XXX/
    make install

    Repétez l'étape 4.1 si nécessaire.

    Unable to identificate ourselves to peer

    Startmodem se déroule correctement mais il me dit : "Unable to identificate ourselves to peer"

    La non plus pas de panique il arrive parfois que le FAI ne suive pas
    Tapez tout simplement:

    pppd call adsl updetach

    Astuces

    Reconnexion automatique :

    En root tapez :

    echo "persist" >> /etc/ppp/peers/adsl

    Relancez la connexion en stoppant pppd et en le relancant en suivant la méthode 4.3.

    Licence

    Ce guide est totalement libre et redistribuable selon les terme de la FDL consulter www.gnu.org pour tous les détails

    Pour toutes questions, idées, astuces, conseils et même critiques mailez moi.

    Haut


    Comment installer un modem cable en USB

    par Mathieu

    Afin d'éviter de chercher des heures vainement sur internet...


    Intro

    Pourquoi ?

    Cette petite doc a pour but de vous aiguiller dans la mise en place d'un modem USB pour le câble, et dans le meilleur des cas de vous permettre de le faire vraiment fonctionner !

    Pour qui ?

    Cette doc s'adresse notamment aux personnes abonnées chez Noos qui ont le modem Motorola SB4100. En effet, celui-ci fonctionne ou en Ethernet, ce qui n'est pas difficile à mettre en place, ou en USB, ce qui est un peu moins évident.

    Prérequis

    Je supposerai que vous avez un noyau suffisamment récent, et le paquet contenant dhcp installé sur votre machine, quelle que soit votre distribution.
    D'autre part, je pars du principe que vous avez un minimum de patience et d'habitude de mettre les mains dans le cambouis, même si la manipulation n'est pas forcément très compliquée.

    Le module CDCEther.o

    Ce module est la clé de l'installation du modem en USB. Assurez vous que vous l'avez, le cas échéant recompilez les modules du noyau en cochant 'm' dans la case correspondante à ce module.

    Vous la trouverez dans le menu de configuration du noyau :
    USB Support -> USB Communication Class Ethernet device support(en bas de la liste)

    Oui, je sais, il s'agit d'un module expérimental, mais il fonctionne déjà très bien pour le Motorola tout du moins, et je n'ai jamais eu aucune coupure de connexion ou quoi que ce soit d'autre de désagréable à déplorer.

    Vous devez donc charger ce module au moyen de la commande suivante (en root) :
    modprobe CDCEther

    Connecter au réseau

    Avant toute chose, il est nécessaire de stopper le service réseau. Pour ce faire, taper la commande suivante :
    /etc/init.d/networking stop

    Configurer l'interface

    Maintenant il faut configurer les interfaces réseau. Il faut savoir que le module CDCEther crée une interface supplémentaire. Si vous aviez déjà une carte réseau en eth0, CDCEther créera eth1, si vous n'en aviez pas eth0, etc. Cette interface fonctionne par la suite exactement comme s'il s'agissait d'une carte réseau classique ISA ou PCI.

    Selon votre configuration choisissez le chiffre derrière eth qui correspond.

    Pour configurer votre interface, vous devez éditer (en root) le fichier /etc/network/interfaces
    Vous devez y trouver au moins l'interface lo (loopback) définie, et eth0 si vous avez déjà une carte réseau.

    Ajoutez en fin de fichier les lignes suivantes :
    auto ethX
    iface ethX inet dhcp

    (Où 'X' est le chiffre correspondant à l'interface ajoutée par CDCEther).

    Si vous utilisiez auparavant votre carte réseau avec le modem, la recherche d'IP par DHCP sur cette interface sera à coup sûr infructueuse puisque la carte ne sera plus reliée ! Pour éviter d'attendre pour rien, remplacez 'dhcp' par 'static' et configurez éventuellement votre interface pour un réseau local en écrivant ceci :

    iface eth0 inet static
    address 192.168.0.36
    network 192.168.0.0
    netmask 255.255.255.0

    Redémarrer le service

    Il ne reste plus qu'à tester. Reliez donc votre modem sur une prise USB (et éventuellement débranchez le de la carte réseau par superstition :). Pour le Motorola et pour le réseau Noos, il est INDISPENSABLE de débrancher l'alimentation du modem et de la rebrancher. Me demandez pas pourquoi, la seule chose que je sais c'est que le modem possède 1 adresse MAC pour l'USB. Lorsque le modem est relié à la carte réseau, il utilise l'adresse MAC de la carte réseau, mais quand il est branché par la prise USB il utilise la sienne (et pas la sienne dans les 2 cas). Ce débranchement est aussi valable si vous changez de carte réseau.

    Relancez le service réseau en tapant la commande suivante (en root) :
    /etc/init.d/networking start

    Normalement si tout va bien vous devez obtenir quelque chose du genre :

    Setting up IP spoofing protection: rp_filter.
    Configuring network interfaces... Internet Software Consortium DHCP Client 2.0pl5
    Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
    All rights reserved.

    Please contribute if you find this software useful.
    For info, please visit http://www.isc.org/dhcp-contrib.html

    Listening on LPF/ethX/xx:xx:xx:xx:xx:xx
    Sending on LPF/ethX/xx:xx:xx:xx:xx:xx
    Sending on Socket/fallback/fallback-net
    DHCPREQUEST on ethX to 255.255.255.255 port 67
    DHCPACK from xxx.xxx.xxx.xxx
    bound to xxx.xxx.xxx.xxx -- renewal in 6381 seconds.
    done.

    Il ne reste plus qu'à lancer un navigateur et à tester !

    Automatiser le chargement du module

    Si par chance vous avez réussi à faire fonctionner le modem en USB, afin que le module se charge tout seul au démarrage il suffit d'éditer le fichier suivant (en root) : /etc/modules.conf.
    Ajoutez la ligne suivante : alias ethX CDCEther (Où 'X' est le chiffre correspondant à l'interface ajoutée par CDCEther)

    Au secours, j'ai des problèmes

    Je n'ai installé ce modem que sur une Debian, et je ne connais pas par coeur les différences avec les autres distributions. Il est plus que probable que certains fichiers, ne soient pas exactement à l'endroit que j'ai spécifié dans la doc, ou que la commande pour relancer le réseau ne soit pas exactement la même, etc.

    Je n'ai par exemple pas utilisé linuxconf pour configurer le modem alors que ca devrait être techniquement possible.

    Cette doc n'a pas pour prétention d'être générique, et peut être modifiée avec les remarques que vous pourrez me faire. Donc n'hésitez pas, mailez moi

    Remarques

    J'ai reçu quelques mails d'utilisateurs d'autres distributions notamment Red Hat. Il semblerait pour cette distribution que lorsque le package dhcp est installé, il suffirait d'un : dhcpcd ethX
    La méthode d'automatisation du chargement du module reste la même.

    Haut


    Carte radio sous linux

    BRARD Emmanuel

    Installer une carte radio


    Introduction

    Les cartes radio sont maintenant chose courante, il est donc normal que linux les supporte ;)
    Ne possédant qu'une carte radio Guillemot FM, je ne pourrai donner les options du module que pour celle-ci.
    L'installation devrait marcher pour toutes les distributions, mais surtout pour tous les kernels depuis le 2.0.36.

    Pré-requis

    Il vous faudra le module "radio-gemtek", qui se trouve dans le répertoire /lib/module/x.x.x/misc pour un kernel 2.2.x et dans /lib/modules/2.4.5-5mdk/kernel/drivers/media/radio/ pour un 2.4.
    Celui-ci est compressé en gzip, il ne faut surtout pas le décompresser.

    Mise au Point

    Ces cartes radio sont basées sur un tuner simple et un convertisseur Gemtek.
    D'où le nom du module :)
    Son adresse (sur bus ISA) est pour toutes les cartes la même (gemtek seulement) : io=0x34C, à moins d'avoir des jumpers qui peuvent la changer (pas sur les Guillemot FM xx et 2000).

    Installation

    Connectez vous en root (su), puis tout simplement, tapez :
    modprobe radio-gemtek io=0x34C
    Remarques :
    - modprobe ou insmod
    - remplacez radio-gemtek par le nom du module de votre carte :

    Créer un lien /dev/radio vers /dev/radio0 :
    # ln -s /dev/radio0 /dev/radio
    Voila, votre carte est installée.

    Vous pouvez placer cette commande dans /etc/rc.d/rc.local, ou plus simplement ajouter le nom du module et son option dans /etc/modules.conf

    Toujours pas de son ? Normal, il nous faut une application capable de commander la carte.

    Allez faire un tour sur Frehmeat.net, et cherchez radiotrack-2.0, et/ou gtuner.
    Le premier est en console, le second graphique (GTK+) .

    On va créer le fichier /etc/radio.conf pour le premier : (créez ce fichier en y mettant des stations personnalisées bien sûr)

    station Funradio 93.40
    station NRJ 100.4
    stattion forum 89.70

    # et toutes les stations que vous voulez

    port 0x34c # mettez l'option du module sous cette forme

    Voilà, maintenant avec cette commande "radio" vous pouvez sélectionner la fréquence à écouter :
    [emman@localhost emman]$ radio on
    [emman@localhost emman]$ radio Funradio
    [emman@localhost emman]$ radio 93.4

    Gtuner est en Gtk+ et super facile à utiliser, toutefois il vous faudra Gnome et les headers du panel.

    (c) 2001 BRARD Emmanuel, emman chez agat.net
    Ce document est sous license GNU FDL.

    Haut


    Tablette Wacom Graphire USB

    par Raymond Ostertag, le 17 décembre 2001

    Pour devenir le roi du dessin sous Gimp ;)


    Préambule

    Ce document décrit l'installation d'une tablette WACOM Graphire USB sur une distribution Linux Mandrake 8.10.

    Pour faire fonctionner cette tablette, il faut mettre en place un module pour le noyau et un module pour le serveur graphique XFree.

    La différence avec les documents déjà existants se situe au niveau des compilations des modules du noyau et de XFree qui ne sont volontairement pas décrites ici dans le souci de simplifier cette installation.

    Vous allez avoir besoin de télécharger et récupérer des informations sur le web. Allez sur le site de Frédéric Lepied et téléchargez le module wacom_drv.o.gz compilé pour XFree 4.1 qui, à ce jour, est en version alpha 25. Travaillez en tant que root sauf pour la partie configuration de Gimp que vous ferez comme utilisateur lambda.

    USB

    En principe Linux Mandrake a détecté et configuré votre USB. Vous devriez pouvoir le vérifier avec le petit programme usbview (fourni avec les cédéroms). Si ça ne fonctionne pas, vérifiez que l'USB est bien activé dans le BIOS.

    Modules du noyau

    Commencez par lister les modules installés, dans une console tapez lsmod. Comparez la liste obtenue avec celle-ci :

    et pour chaque module manquant tapez modprobe nom_du_module. Vérifiez votre travail avec lsmod.

    Configuration de XFree

    D'abord décompressez le module téléchargé par gzip -d wacom_drv.o.gz puis copiez le résultat dans /usr/X11R6/lib/modules/input/. Pour configurer efficacement XFree il faut mieux commencer par repérer son fichier de log. Allez dans /var/log et éditez un fichier du style XFree86.log. Si vous en avez plusieurs, éditez le plus récent celui qui correspond à votre session en cours. Dans ce fichier vous trouverez le nom du fichier de conguration courant, en principe Using config file: "/etc/X11/XF86Config-4". Notez aussi toute erreur (EE) pour ne pas mélanger par la suite les problèmes liés à la tablette aux autres problèmes. Faites une copie de sauvegarde du fichier de configuration puis éditez l'original.

    Ajoutez les sections suivantes à votre fichier de configuration :


    --------------------------------------------
    ...
    Section "Module"
       ...
       Load "wacom"
       ...
    EndSection
    ...
    --------------------------------------------
    ...
    #
    # Input devices
    #

    # Tablette Graphire USB

    Section "InputDevice"
       Identifier "stylus"
       Driver "wacom"
       Option "Device" "/dev/input/event0"
       Option "Mode" "Absolute"
       Option "Type" "stylus"
       Option "USB" "on"
       Option "AlwaysCore" "on"
    EndSection

    Section "InputDevice"
       Identifier "eraser"
       Driver "wacom"
       Option "Device" "/dev/input/event0"
       Option "Mode" "Absolute"
       Option "Type" "eraser"
       Option "USB" "on"
       Option "AlwaysCore" "on"
    EndSection

    Section "InputDevice"
       Identifier "cursor"
       Driver "wacom"
       Option "Device" "/dev/input/event0"
       Option "Mode" "Absolute"
       Option "Type" "cursor"
       Option "USB" "on"
       Option "AlwaysCore" "on"
    EndSection
    ...
    --------------------------------------------
    ...
    Section "ServerLayout"
    ...
    # ajouté pour la tablette graphire USB

       InputDevice "stylus" ""
       InputDevice "eraser" ""
       InputDevice "cursor" "Alwayscore"

    EndSection
    --------------------------------------------

    Redémarrez le serveur graphique (déloggez vous et faites Menu>Redémarrer le serveur X ALT-X) puis éditez le fichier de log. S'il y a des erreurs c'est le moment de faire fonctionner votre cervelle et de trouver pourquoi ;-)

    Nota :
    Le module wacom_drv.o contient trois pilotes : stylus (stylo), eraser (gomme) et cursor (souris). Avec cette configuration vous pouvez utiliser les trois. L'option alwayscore dans la section ServerLayout est importante car : avec alwayscore vous pouvez utiliser votre outil en permanence et avec un champ vide "" vous ne pourrez l'utiliser qu'avec des applications comme Gimp. C'est votre choix de mettre alwayscore ou non. La configuration de XFree peut être affinée par la suite. Reportez-vous à l'excellent Wacom Tablet HOWTO (en anglais) pour en connaître plus sur les différentes options.

    Configuration de Gimp

    Maintenant que votre tablette est fonctionnelle, lancez Gimp et appellez le dialogue Périphériques d'entrée... dans Fichier>Dialogues. Vous devriez voir un menu déroulant avec les champs cursor, stylus et eraser et un autre menu déroulant avec désactiver, fenêtre et écran. Le mode écran correspond à un outil géré par XFree et utilisable sur tout l'écran. Le mode fenêtre correspond à un outil géré par Gimp et utilisable seulement dans les fenêtres Gimp. Malheureusement le mode fenêtre plante lamentablement Gimp chez moi donc utilisez le mode écran. Une autre fenêtre Etat des périphériques... vous permet de contrôler ce que vous faites outil par outil.

    Nota :
    j'ai eu un bug après être passé de désactiver à écran et ma souris ne pouvait plus être active dans Gimp. Après reboot le comportement est redevenu normal.

    Références

    Wacom XInput driver for XFree86 par Frédéric Lepied
    http://people.mandrakesoft.com/~flepied/projects/wacom/
    Les derniers modules et un forum pour poser toutes les questions que vous souhaitez.

    Wacom Tablet HOWTO par Stefan Runkel
    http://www.linuxdoc.org/HOWTO/Wacom-Tablet-HOWTO.html
    En anglais : tout sur la configuration des tablettes en général.

    Wacom Graphire USB Mini-HOWTO par Arnaud Claden
    http://www.linuxdoc.org/HOWTO/mini/Wacom-USB-mini-HOWTO.html
    En anglais : complément du précédent pour les tablettes USB.

    Configurer sa tablette graphire de Wacom en version USB sous XFree 4.0.x par Vincent Le Prince
    http://www.linuxgraphic.org/configurer/articles/graphireusb/index.html
    La même chose que ce document mais avec les étapes de compilation en plus. Notez les différences de nommage des modules et pilotes entre la version compilée et les sources.

    Configuring Wacom USB tablets under Linux par Laurent Hofer alias Ayoros
    http://gug.sunsite.dk/tutorials/ayoros1/
    En anglais : la même chose que ce document mais avec les étapes de compilation en plus.

    Haut


    Tablette graphique Acecat Flair

    par Serge Carrère, le 3 Octobre 2002

    Comment utiliser sa tablette Acecad sous Linux


    Tout d'abord

    Je précise que les indications données fonctionnent sur des distributions Mandrake 9.0 et précédentes depuis la version 7.0 et je pense qu'elles doivent donner des résultats identiques sur les autres distributions.

    Cette tablette graphique se branche à votre ordinateur sur une prise série (/dev/ttySx ou COM sous DOS/Windows) ET sur la prise PS/2 de la souris (il faut ensuite installer la souris sur la tablette).
    nb : même non déclarée dans Linux, la tablette n'empêche pas l'utilisation de la souris.

    Une fois branchée, déclarons-la à l'ordinateur, pour cela il faut modifier le fichier : /etc/X11/XF86Config ou /etc/X11/XF86Config -4

    Les distributions récentes de XFree86 ont incorporé le driver "acecad" dans leur modules.
    On trouvera dans : /usr/X11R6/lib/modules le module "xf86AceCad.so "
    ainsi que le driver "acecad_drv.o" dans : /usr/X11R6/lib/modules/input/

    Configuration du serveur X

    Pour un serveur XFree 3.x

    Dans le fichier "/etc/X11/XF86Config", il faut ajouter dans la section :

    # ******************
    # Pointer section
    # ******************
    Section "Module"
       xxxxxxx
       Load "xf86AceCad.so"
       xxxxxxxxxxxx
    EndSection

    pour que le module "acecad" soit chargé.

    Ensuite en toute fin du fichier aprés la section "Screen Section" il faut créer une section "XInput" comme ceci :

    # ******************
    # XInput Section
    # ******************
    Section "XInput"
      Subsection "AceCad"
        Port "/dev/ttyS1" # (ici mettre le bon n° du port série utilisé par la tablette)
        DeviceName "acecad"
        Mode Absolute
        Cursor Stylus
        Alwayscore
      EndSubSection
    EndSection

    Pour un serveur XFree 4.x

    La section "XInput" devient obsolète... dans le fichier "/etc/X11/XF86Config-4", il rajouter dans la section "Input devices" les lignes suivantes :

    # ******************
    # Input devices
    # ******************
    # Tablette Acecat Flair
    Section "InputDevice"
      Identifier "stylus"
      Driver "acecad"
      Option "Device" "/dev/ttyS1" #(ici mettre le bon port série utilisé par votre tablette Acecad)
      Option "Mode" "Absolute"
      Option "Type" "stylus"
      Option "Type" "cursor"
      Option "Alwayscore" "on"
    EndSection

    Dans la -Section "Module" de "Pointer Section" rajouter les lignes suivantes :

    # This load the tablet module (ici vous mettez ce que vous voulez)
      Load "acecad"

    Et pour utiliser la tablette tout le temps, comme une souris, rajouter en fin de fichier dans la section "ServerLayout"

    Section "ServerLayout"
      Identifier "layout1"
      Screen "screen1"
      InputDevice "Mouse1" "CorePointer"
      InputDevice "stylus" "Alwayscore"
      InputDevice "Keyboard1" "CoreKeyboard"
    EndSection

    Voilà, je me suis inspiré pour la fin du fichier XF86Config-4 de l'article de Raymond Ostertag sur la tablette Wacom Graphire.

    Une fois le serveur X redémarré, la tablette fonctionnera, sans la "subtilité" des pressions du stylet, mais le bouton sur le manche du stylet fonctionne bien comme le "clic-droit" de la souris.

    Dans Gimp, la tablette sera reconnue dans la section :
    Fichier -> Dialogues -> Périphériques d'entrée.
    Dans la fenêtre "Périphérique" elle apparaitra sous le nom donné dans le fichier "XF86Config" (dans mes exemples, soit "acecad" soit "stylus").
    Les modes "écran" et fenêtre" marchent tous les deux. La seule "différence" est que dans le mode "fenêtre" le pointeur est décalé par rapport à la pointe du stylet. Dans le mode "écran", le pointeur est réellement à la pointe du stylet.

    Bon amusement, Serge Carrère.

    Haut


    Souris Logitech Cordless MouseMan Optical et Cordless Keyboard

    Pierrick Berger

    Comment configurer une souris à quatre boutons et une roulette : la Logitech Cordless MouseMan Optical ainsi que le clavier sans fil, et sans leds !


    Ayant eu pour Noël un pack Logitech clavier et souris optique sans fil (vous savez l'ensemble noir...), j'ai voulu utiliser le quatrième bouton de la souris, le bouton qui se situe vers le pouce. Mais il ne marchait pas !

    Je vous propose donc une solution pour faire fonctionner ce quatrième bouton !!

    Pour le clavier, il n'y a rien de particulier à configurer. Il est reconnu dès l'installation.
    Malheureusement, chez Logitech on a pensé que les leds étaient superflues !!! Lourde erreur !
    Je vous donnerai de quoi voir si CAPS-LOCK est activé ou pas, pareil pour NUM-LOCK et ARRET-DEFIL.
     

    Pré-Requis

    Ce dont vous avez besoin :

    Configuration de la Souris

    Voilà, ayant une Mandrake 8.1, et ayant opté pour XFree 4.1.0 pour ma Geforce2 MX, je n'ai pu tester qu'avec XFree 4.1.0.
    Ce qui veut dire que la partie Configuration pour XFree 3.x est une extrapolation de mes connaissances. Elle demande donc à être testée.

    Configuration pour XFree 4.x

    Pour XFree 4.x (méthode testée et fonctionnelle), voilà ce qu'il faut faire :
    Editer le /etc/X11/XF86Config-4 zt modifier la section "InputDevice" pour avoir quelque chose du style :
     
    Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "mouse"
        Option "Protocol"    "MouseManPlusPS/2"
        Option "Device"      "/dev/mouse"
        Option "Buttons" "6"
        Option  "ZAxisMapping" "5 6"
    # ChordMiddle is an option for some 3-button Logitech mice
    #    Option "ChordMiddle"
    EndSection

    Malheureusement, cette manipulation crée une inversion de boutons ; alors pour retrouver nos 4 boutons et notre roulette au bon endroit, on va créer le fichier suivant :
    /etc/X11/xinit.d/mouse-correct ayant pour contenu ceci :
     

    #!/bin/sh

    # Logitech MouseMan+ has 4 buttons and a wheel.  The following example makes
    # the wheel movement available as the button 5 and 6.
    #
    #       Section "InputDevice"
    #          Identifier     "MouseMan+"
    #          Driver         "mouse"
    #          Option         "Protocol"     "MouseManPlusPS/2"
    #          Option         "Device"       "/dev/psaux"
    #          Option         "Buttons" "6"
    #          Option         "ZAxisMapping" "5 6"
    #       EndSection
    #
    # You can change button number assignment using the xmodmap command AFTER you
    # start the X server with the above configuration.  You may not like to use
    # the wheel as the button 2 and rather want the side button (button 4) act like
    # the button 2.  You may also want to map the wheel movement to the button 4 and
    # This can be done by the following command:
    #
    #      xmodmap -e "pointer = 1 6 3 2 4 5"
    #
    # Donc en gros, la souris Cordless MouseMan+ Optical à 4 boutons et une roulette
    # que l'on aura configurée comme indiqué dans la Section "InputDevice".
    # Mais le problème est que les boutons n'agissent pas comme on le pensait !!
    # La roulette joue le rôle du bouton 2, le bouton du coté gauche (bouton 4) joue
    # le rôle du bouton 2 ! Ben, comme on ne veut pas çà, on fait :

    xmodmap -e "pointer = 1 6 3 2 4 5"

    Vous remarquerez le passage en anglais ! Ce texte est directement tiré de la doc de XFree 4.
    Il faut aussi donner les droits d'exécution à ce fichier, sinon, il ne va rien se passer !!!
    Pour celà, faire :
    chmod +x /etc/X11/xinit.d/mouse-correct
    Et voilà, c'est fini pour la souris !! Il ne reste plus qu'a redémarrer le serveur X, et à s'amuser avec son nouveau bouton.
    Ce bouton prendra l'ancienne fonction du "coller" qu'avait le bouton de la roulette.

    Questions :

    Configuration pour XFree 3.x

    Pour XFree 3.x, je ne peux rien affirmer, mais je pense que l'on peut faire les mêmes modif., en changant juste la syntaxe des modifs pour XF86Config.
    Fichier à éditer : /etc/X11/XF86Config
     
    Section "Pointer"
        Protocol    "MouseManPlusPS/2"
        Device      "/dev/psaux"
        ZAxisMapping 5 6
        Buttons   6
    # ChordMiddle is an option for some 3-button Logitech mice
    #    ChordMiddle
    EndSection

    Il faudra aussi créer le fichier /etc/X11/xinit.d/mouse-correct (voir ci-dessus).
    Voilà, reste plus qu'a redémarrer le serveur X...

    Merci de me faire parvenir vos remarques sur cette partie !
     

    Configuration du clavier

    Ben, pour la configuration du clavier, rien à faire si ce n'est de le brancher !
    En fait il est reconnu dès l'installation, comme tout clavier.
    Seul hic, comme il n'y a pas de led sur le clavier, on ne sait pas si CAPS-LOCK est activé, ce qui est très embêtant pour les mots de passe par exemple !
    Alors, grâce à Antoine Jacoutot qui m'a envoyé un rpm du nom de "keyboard-led_applet-0.9-1.i386.rpm", j'ai pu avoir des icônes quasiment identiques à ceux sous windows avec les pilotes de Logitech, mais sous Gnome, car c'est une applet du panel de Gnome !

    Récupération du packetage :
    ftp://rpmfind.net/linux/contrib/lib c6/i386/keyboard-led_applet-0.9-1.i386.rpm

    Installation :
    en étant root : rpm -ivh keyboard-led_applet-0.9-1.i386.rpm

    Manal m'a aussi donné quelques autres liens :

    Sinon, pour la roulette du clavier, elle me fait monter ou descendre le curseur d'une ligne. Par contre j'ai beau chercher, je ne trouve pas où la configurer !
    Enfin, comme toujours, les touches multimédias du clavier sont inutilisables avec Linux. Dommage.
     

    Je reste ouvert à toutes corrections et suggestions de votre part !

    Cet article a été réalisé sur la base d'une distribution Mandrake 8.1 (XFree 4.1.0, kernel-2-4.28mdk, Gnome 1.4)

    Document réalisé par Pierrick Berger, le 11 Janvier 2002

    Haut


    Olympus Camedia C220

    Rédaction anglaise : Peter Jodda Traduction française : Daniel Cartron

    Comment appliquer une rustine à votre module USB-storage pour pouvoir utiliser un Camedia C220 Olympus avec Linux


    Utilisation du Camedia C220 avec Linux

    Le dernier appareil numérique que j'ai acheté est l'Olympus Camedia C220. Il pose quelqques problèmes lors de l'utilisation sous Linux. Je décris ici une solution possible.

    Thomas M. de Berlin a écrit : Bei meiner Olympus D-100 (manchmal auch "C-1" oder "c-you" gennant) funktionierte es auch wie beschrieben. Pour les non-germanophones : Cette rustine devrait marcher également pour l' Olympus D-100 appelé aussi C-1.

    J'ai aussi entendu dire que le C220 semble vendu dans d'autres pays sous le nom de D520.

    L'appareil possède une connexion USB et devrait donc fonctionner comme un periphérique de stockage USB. Donc vous branchez le cable USB d'un côté sur l'ordinateur et de l'autre sur l'appareil et.... BOOM . Au bout de 5 secondes la machine plante. Vous n'avez plus qu'à appuyer sur le bouton reset. Des types futés ont analysé le problème et constaté que l'appareil n'envoie pas de chaîne d'identification USBS, mais une chaîne USBU. Ce USBU perturbe le module USB-storage du noyau, et l'ordinateur plante.

    Si l'appareil est votre seul périphérique USB-storage, alors il y a un moyen facile de le faire fonctionner : faire en sorte que le module réagisse à la chaîne USBU au lieu de USBS. Alors vous aures accès à votre  appareil mais à aucun autre périphérique USB-storage.

    Voici comment faire : une solution propre consiste à changer la chaîne dans les sources du module, et le recompiler. Mais vous avez besoin des sources, et des fichiers d'en-tête. Vous devez savoir quel fichier modifier. Et vous devez savoir compiler et installer les sources du noyau. Si vous n'êtes pas expérimentés vous risquez de passer un week-end là-dessus.

    Il y a mieux à faire pendant un week-end. Voici donc une méthode plus pragmatique (et brutale) : appliquer une rustine au module existant. Ok, il faut aussi compiler, mais il y a juste 30 lignes.

    ATTENTION
    Faites ce qui suit à vos risques. ça a marché sur ma machine, mais ça pourrait ne pas marcher sur la vôtre. Faites une sauvegarde de vos données avant tout!

    étape 1 - Téléchargement de la rustine

    Téléchargez ce petit programme

    #include "stdio.h"

    // buffer, must be large enough
    #define BUFFER_SIZE 0x100000
    char buffer[BUFFER_SIZE];


    int main(int argc , char *argv[])
    {
    int i;
    int i_Read ;
    int i_Written ;
    FILE *in,*out;

    in = fopen("usb-storage.o","rb");
    i_Read = fread(buffer,1,BUFFER_SIZE,in);
    fclose(in);

    fprintf(stderr,"Read %d Bytes\n",i_Read);

    for(i=0; i< (i_Read -3); i++)
    {
    if(
    buffer[i ] == 'U'
    && buffer[i+1] == 'S'
    && buffer[i+2] == 'B'
    && buffer[i+3] == 'S'
    )
    {
    fprintf(stderr,"found at %d\n",i);
    buffer[i+3] = 'U';
    }
    }

    out = fopen("usb-storagex.o","wb");
    i_Written = fwrite(buffer,1,i_Read,out);
    fclose(out);

    fprintf(stderr,"Wrote %d Bytes\n",i_Written);

    }

    Compilez-le en tapant

    étape 2 - Détermination de la localisation des modules

    Tapez :

    insmod usb-storage


    et l'ancien module est chargé, ce qui a pour effet secondaire d'afficher la localisation des modules. Sur ma machine cela donne :

    /lib/modules/2.4.18-64GB-SMP/kernel/drivers/usb/storage/usb-storage.o


    donc la localisation est :

    /lib/modules/2.4.18-64GB-SMP/kernel/drivers/usb/storage/

    Copiez le programme  usbp dans ce répertoire et allez-y :

    cp usbp /lib/modules/2.4.18-64GB-SMP/kernel/drivers/usb/storage/
    cd /lib/modules/2.4.18-64GB-SMP/kernel/drivers/usb/storage/

    étape 3 - Appliquer la rustine au module

    Lancez le programme en tapant :

    usbp

    Le programme crée une copie modifiée de l'original. Un affichage typique donne :

    Read 61670 Bytes
    found at 7775
    found at 26381
    Wrote 61670 Bytes

    à cet instant précis le système utilise encore l'ancien module. Renommez l'ancien module et le module modifié de façon à ce que le système utilise celui qui vous intéresse. Tapez :

    rmmod usb-storage
    mv usb-storage.o usb-storage-original.o
    mv sub-storagex.o usb-storage.o

    Vous avez sauvegardé le module original et activé le nouveau. Si Windows est installé sur votre machine vous devez redémarrer celle-ci.

    étape 4 - Utilisation de l'appareil

    Maintenant connectez l'appareil à votre ordinateur avec votre cable  USB. Dans la console vous verrez apparaître un message comme celui-ci :

    Jul 14 12:31:03 hawaii kernel: usb.c: USB device 2 (vend/prod 0x7b4/0x102) is not claimed by any active driver.
    Jul 14 12:31:04 hawaii kernel: usb-uhci.c: interrupt, status 3, frame# 107
    Jul 14 12:31:04 hawaii kernel: Vendor: OLYMPUS Model: C2Z,D520Z,C220Z Rev: 1054
    Jul 14 12:31:04 hawaii kernel: Type: Direct-Access ANSI SCSI revision: 02
    Jul 14 12:31:04 hawaii kernel: Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
    Jul 14 12:31:04 hawaii kernel: SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
    Jul 14 12:31:04 hawaii kernel: sda: Write Protect is off

    Vous devez ensuite monter le périphérique pour avoir accès aux photos. J'ai créé un répertoire /olympus :

    mkdir /olympus


    puis j'ai monté l'appareil avec :

    mount /dev/sda1 /olympus

    Allez ensuite dans le répertoire :

    cd /olympus


    puis entrez le chemin spécifique de l'Olympus :

    cd dcim/100olymp


    et vous êtes dans le répertoire contenant les images. Vous pouvez les regarder, les copier, faire tout ce que vous voulez avec.

    Quand vous avez fini quittez le répertoire et démontez l'appareil :

    cd ; umount /olympus

    Si ça ne marche pas

    Ce que j'ai écrit est la façon dont je l'ai fait et comment ça a marché sur ma machine. Comme vous devez effectuer tout ceci en tant que root il est possible que vous ayez endomagé votre système. Sur d'autres  systèmes ces étapes pourraient ne pas fonctionner. Si ça ne fonctionne pas je ne peux pas vous aider, parce que je ne connais pas votre système, ou ce qui pourait être différent dessus. Donc tout ce que vous faites est à vos propres risques!

    J'ai constaté autre chose: le module USB-storage et la connexion ADSL avec pppoe ne fonctionnent pas simultanément sur mon système. Je peux soit aller sur internet, soit accéder à mon appareil, mais pas les deux en même temps.

    Haut


    Faire fonctionner son Sony Clié sous Linux avec jpilot

    par cesar

    Acceder a la memory stick et installer des logiciels sur son Clié sous Linux en utilisant jpilot


    Introduction

    Cet article s'adresse à tous ceux qui ont un Clié et qui n'arrive pas à le faire fonctionner sous leur système préféré : Linux.

    Utilisant tout d'abord vmware pour synchroniser mon PDA, j'en ai eu marre de lancer la machine virtuelle et voir Windows à chaque fois que je voulais mettre a jour mes adresses ou installer un logiciel.
    J'ai donc décidé d'installer ce qu'il faut sur mon système, je vous expose ici la marche a suivre pour faire fonctionner votre synchronisation.

    Ce dont vous avez besoin

    Matériel testé

    Cet article a été ecrit après des tests avec un Sony Clié SJ-33, Memory Stick 128 Mo, Compaq Presario PIII 800/256, RedHat 7.3 avec kernel 2.4.21, jpilot 0.99.5 et pilot-link 0.11.7.

    La recompilation du noyau (si besoin)

    Les details de cette étape ne seront pas donnés ici tant il y a de pages à ce sujet. Je vais juste vous donner quelques modules à ne pas oublier:

    En fait, si vous avez un noyau d'une distribution récente, (RedHat 9, Mandrake 9...) vous ne devriez pas avoir à recompiler le noyau.

    Installation et configuration des programmes

    pilot-link

    Installez pilot-link grâce à un package de votre distribution ou compilez-le. Moi je l'ai compilé.

    Une fois installé lancez un: pilot-xfer --version dans une console et vous devriez obtenir un output du style:

    .--------------------------------------------.
    | (c) Copyright 1996-2003, pilot-link team |
    | Join the pilot-link lists to help out. |
    `--------------------------------------------'
    This is pilot-xfer, from pilot-link version 0.11.7

    Build target..: i686-pc-linux-gnu
    Build date....: Jun 17 2003 22:34:07

    pilot-link 0.11.7 is covered under the GPL/LGPL
    See the file COPYING under docs for more info.

    Please use -h for more detailed options.

    A partir d'ici vous pouvez déjà installer des programmes sur votre Clié

    C'est en ligne de commande et ça se fait par la commande shell :

    pilot-xfer -i fichier.prc

    Par default pilot-link va "écouter" sur le port /dev/pilot si celui-ci est mal/pas configuré cela ne fonctionnera pas.
    L'option -p (pout port) de pilot-link permet de spécifier sur quel port est branché le Clié.
    Nous verrons cela dans les préférences de j-pilot puisque notre but est d'avoir une interface graphique.
    Pour plus d'infos: man pilot-link ou man pilot-xfer

    J-pilot

    De même que pour pilot-link, installez à base de package ou compilez le programme.

    Il faut savoir que J-pilot n'est qu'un "frontend" de pilot-link, donc pilot-link DOIT être installé et fonctionner correctement pour que J-Pilot fonctionne correctement.

    Une fois installé, ce qui ne devrait pas poser trop de problèmes, il faut le configurer.

    Lancez jpilot, pour cela : pressez [Ctrl]-E pour lancer le panel de préférences, et allez sur le 2ème onglet (Settings) dans la zone Serial port vous pouvez choisir le port sur lequel les échanges avec le Clié devront s'effectuer (option -p de pilot-xfer).

    Pour moi il s'agit de /dev/usb/ttyUSB0, il faut faire des essais. Cependant on peut se faire une idée en faisant un: modprobe visor, brancher le Clié et visualiser la sortie de /var/log/messages (tail -f /var/log/messages) lorsque on test un HotSync sur le Clié.

    Moi j'obtiens:

    Jul 10 14:06:31 cesar kernel: usbserial.c: Handspring Visor / Treo / Palm 4.0 / Clié 4.x converter now attached to ttyUSB0 (or usb/tts/0 for devfs)

    J'ai donc choisi le port ttyUSB0 dans la zone de port.

    Pour installer des logiciels sur votre Clié préféré, c'est facile :

    Lancez jpilot, pressez [Ctrl]-I et choisissez les fichiers prc ou pdb à installer. Ensuite il suffit de cliquer sur le bouton [Sync], la petite console en bas de la fenêtre principale (en fait c'est la sortie - output - de pilot-link) va vous demander de presser le bouton HotSync sur le Clié et le transfert va s'effectuer

    Il est à noter que Jpilot propose de nombreuses autres options, notamment la gestion de plugins. Lisez la documentation et apprenez à l'utiliser!

    Accéder à la Memory Stick

    Normalement, ce ne devrait être qu'une formalité, puisque l'on a configuré le noyau dans la premiere partie.
    Si tout s'est bien passé jusqu'à présent, il ne devrait pas y avoir de problème.

    Començons par passer 'root' et créer le répertoire adéquate.

    su
    password:*******
    mkdir /mnt/clie

    Sur le Clié, lancez l'utilitaire MS Import
    Attendez que le Clié annonce: "Connected to PC" ou "Connecté au PC" pour les systemes français, puis faire:

    mount -t vfat /dev/sda1 /mnt/clie

    Note: Normalement ce devrait être /dev/sda1 si vous n'avez pas de périphérique SCSI sinon, essayez sdb1, sdc1...

    Votre Memory Stick est désormais accessible dans le répertoire /mnt/clie, vous pouvez naviguer dedans, écrire dessus (en root), lire..., comme un disque dur classique.

    Conclusion

    Voilà, j'espère que cet article vous aura été utile, en effet il est toujours frustrant de devoir lancer vmware pour synchroniser son Clié ou Palm (ce qui marche très bien, soit dit en passant).
    Il est vraiment navrant qu'une compagnie comme Sony (de même pour Palm) ne pense pas à la communauté Linux.

    Si vous avez des questions ou des difficultés, écrivez-moi.

    Haut


    Configurer une clé USB

    par Julien Delange


    A propos de ce document ...

    Licence de ce document

    Ce document est sous licence FDL, et a été écrit spécialement pour le site web lea-linux.org. Vous pouvez néanmoins le reprendre, en mentionnant l'auteur initial

    Pourquoi cet article ?

    Tout simplement parce que j'ai acheté une clé USB, et que j'ai du faire une recherche sur google pour trouver comment la faire fonctionner. Je pense que lea-linux est un très bon site pour regrouper de la documentation, j'en ai donc écrit une, qui, je l'espère sera utile à certaines personnes :-)

    Le Matériel

    Matériel Utilisé

    Pour écrire cet article, j'ai utilisé une clé USB que j'ai acheté dans la Rue-Montgallet (à Paris). C'est une clé USB générique (donc, sans marque), conforme au standard USB 2.0. En général, toutes les clés USB onctionnent, mais il se peut que vous tombiez sur la perle rare qui ne fonctionnera pas.

    Matériel supporté

    La technique décrite dans cet article fonctionne normalement avec les clés USB, mais aussi avec les mémoires d'appareils photos type Sandisk. N'ayant pas ce matériel à ma disposition, je n'ai pu tester, mais le module usb-storage supporte ce type de matériel.

    Configuration de votre noyau

    Quel Noyau ?

    Les Clés USB fonctionnent sur tous les noyaux de la série 2.4 et 2.6. Cet article se base sur un noyau 2.6.0, mais le nom des modules, ainsi que le fonctionnement sont équivalent sur un noyau de la série 2.4.

    Dois-je recompiler mon noyau ?

    Si vous utilisez un noyau générique, non. En effet, les distributions comme Mandrake fournissent un noyau qui intègre déjà les modules nécessaires au fonctionnement d'une clé USB.

    En revanche, si, comme moi, vous recompilez votre noyau, alors, il faudra surement le recompiler avec les bons modules.

    Modules nécessaires

    Liste des Modules nécessaires
    Modules dans le kernel

    Vous devrez donc activer les options suivantes dans la configuration de votre kernel :

  • CONFIG_SCSI=m
  • CONFIG_CHR_DEV_SG=m
  • CONFIG_BLK_DEV_SD=m
  • CONFIG_USB=y
  • CONFIG_USB_EHCI_HCD=m OU CONFIG_USB_OHCI_HCD=m OU CONFIG_USB_UHCI_HCD=m
  • CONFIG_USB_STORAGE=m
  • (puis les périphériques que vous souhaitez voir supportés par ce module)

    Utilisation de la clé

    Device du périphérique

    Le périphérique est reconnu comme un disque SCSI. Par conséquent, il sera accessible sur /dev/sda{a,b,c,d,...}.

    Chargement des modules

    En ligne de commande

    Pour charger les modules, tapez les commandes suivantes (en root) :

    Charger les modules automatiquement

    Sous Debian ou Mandrake, ajouter les modules à charger dans le fichier /etc/modules.

    Formater la clé

    Pour formater la clé, vous avez besoin du programme mkfs.vfat, disponible dans le paquet dosfstools pour Debian, et inclu en standard dans Mandrake. Ensuite, vous tapez simplement :

    mkfs -t vfat /dev/sda1

    Où /dev/sda1 représente votre périphérique. mkfs -tvfat fera appel à mkfs.vfat, c'est pour cette raison qu'il est nécessaire de posséder ce programme.

    Monter la clé

    Manuellement

    Créez un point de montage, par exemple /mnt/cle, en tapant :

    mkdir /mnt/cle

    Puis il faut monter votre périphérique, pour cela taper :

    mount -t vfat /dev/sda1 /mnt/cle

    Remplacer /dev/sda1 par le device correspondant à votre clé. Dans mon cas, ça correspond à /dev/sda tout court.

    Automatiquement

    Créez un point de montage, par exemple /mnt/cle, en tapant :

    mkdir /mnt/cle

    Il faudra ensuite rajouter une ligne au fichier /etc/fstab (ce fichier contient la liste des partitions associées à leur point de montage). Cette ligne ressemblera à ça :

    /dev/sda        /mnt/cle        vfat    defaults,rw,user,noauto 0       0

    Avec les propriétés suivantes :

    Vous pouvez alors monter votre clé en tapant simplement

    mount /mnt/cle

    Où /mnt/cle est le point de montage défini dans le fichier /etc/fstab.

    Haut


    Installation des drivers ATI

    par Fred

    installer un RPM sur une distribution n'utilisant pas RPM


    Introduction

    Installation des drivers ATI pour une gentoo (cette procédure doit fonctionner, moyennant quelques petites adaptations pour n'importe quelle distribution).

    Le problème de ces drivers vient (pour partie) de ce que le format choisi est RPM et uniquement RPM (quel choix étrange ...). Mais j'ai rencontré d'autres problèmes. Je vais tenter d'expliquer comment je m'y suis pris pour trouver une solution.

    Tout d'abord, il faut installer rpm. Sur une gentoo c'est assez simple : un ebuild (package) existe, un simple "emerge rpm" installe rpm sans aucun problème. Pour toute autre distribution, debian ou slackware par exemple, une procédure similaire permet aussi d'installer rpm.

    Ensuite, on va installer un petit utilitaire qui va nous convertir le rpm en tar.gz : rpm2targz. Pour gentoo : "emerge rpm2targz" l'installe. Une procédure similaire doit exister pour debian ou slackware.

    Installation

    Ces pré-requis étant énoncés, passons aux choses sérieuses et transformons notre rpm en tar.gz :

    root@gandalf ATI # rpm2targz ../fglrx-glc22-4.3.0-3.7.0.i386.rpm
    root@gandalf ATI # ls
    fglrx-glc22-4.3.0-3.7.0.i386.tar.gz

    Regardons, un peu cette archive :

    root@gandalf ATI # tar tzf fglrx-glc22-4.3.0-3.7.0.i386.tar.gz
    ./
    ./lib/
    ./lib/modules/
    ./lib/modules/fglrx/
    ./lib/modules/fglrx/fglrx_info.txt
    ./lib/modules/fglrx/make_install.sh
    ./lib/modules/fglrx/build_mod/
    ./lib/modules/fglrx/build_mod/2.6.x/
    ./lib/modules/fglrx/build_mod/2.6.x/Makefile
    ./lib/modules/fglrx/build_mod/agpgart_be.c
    [...]

    Pas très sympathique ce tar.gz ;-) Bon visiblement, il faut le décompacter dans / :

    root@gandalf ATI # tar xzf fglrx-glc22-4.3.0-3.7.0.i386.tar.gz -C /

    Configuration

    Après lecture de la documentation disponible là : http://www2.ati.com/drivers/linux/readme0370.txt. Je constate qu'il faut modifier un peu mon /etc/X11/XF86Config, la section "Module" doit contenir :

    Load "dri"
    Load "glx"

    Il faut, aussi, y créer une section "DRI" :

    Section "DRI"
    Group "video"
    Mode 0660
    EndSection

    ou

    Section "DRI"
    Mode 0666
    EndSection

    Enfin, une section "Device" doit être modifiée ou créée pour prendre en compte le nouveau driver :

    Section "Device"
    Identifier "ATIRadeon"
    VendorName "Hercules"
    BoardName "3D Prophet 8500 LE"
    #Driver "radeon"
    Driver "fglrx"
    Option "DPMS" "on"
    BusID "PCI:1:0:0"
    EndSection

    Note: le BusId est obtenu par :

    root@gandalf fglrx_gamma # lspci | grep -i radeon
    01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R200 QL [Radeon 8500 LE]

    01.00.0 donne un busID de PCI:1:0:0"

    Le module pour le kernel

    Reste encore à compiler les modules pour le kernel. A ce stade, il nous faut l'arborescence du kernel correctement configurée. On se place dans /lib/modules/fglrx/

    root@gandalf ATI # cd /lib/modules/fglrx/build_mod
    root@gandalf build_mod # make
    ATI module generator V 2.0
    ==========================
    initializing...
    cleaning...
    patching 'highmem.h'...
    skipping patch for 'drmP.h', not needed
    patching 'drm_os_linux.h'...
    probing for VMA API version...
    doing script based build for kernel 2.4.x and similar
    ./make.sh: line 1009: [: -ge: unary operator expected
    compiling './agpgart_be.c'...
    compiling './agp3.c'...
    compiling './i7505-agp.c'...
    compiling './nvidia-agp.c'...
    compiling './firegl_public.c'...
    linking of fglrx kernel module...
    duplicating results into driver repository...
    done.
    ==============================
    You must change your working directory to /lib/modules/fglrx
    and then call ./make_install.sh in order to install the built module.
    ==============================

    root@randalf build_mod # cd ..
    root@randalf fglrx # ./make_install.sh
    - creating symlink
    - recreating module dependency list
    - trying a sample load of the kernel module
    [...]
    done.

    Puis, on charge le module, des fois que ce ne soit pas automatique ...

    root@gandalf fglrx # modprobe fglrx
    [...]

    Le kernel nous prévient que cela va corrompre (taint) notre kernel : normal, maintenant le kernel utilise un module non GPL. Mais en attendant un module efficace libre ...

    Il ne nous reste plus qu'à redémarrer X. Puis à lancer glxinfo pour voir si effectivement OpenGL utilise maintenant l'accélération 3D :

    fred@gandalf ~ # glxinfo | head -n 3
    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes

    Yes ! Vous pouvez tester plus avant, crack-attack, les économiseurs d'écran de kde ou tuxracer (qui chez moi ne fonctionne pas : je n'ai que des saletés à l'écran). Personnellement, j'ai un gros progrès : l'accélération fonctionne en dual-head (mais pas encore en Xinerama, mais d'après ce que j'ai compris, c'est Xinerama le responsable).

    Bonus: fireglcontrol

    Et maintenant, la compilation de "fireglcontrol" le panneau de contrôle d'ATI (pas très complet). Je mets le détail complet de la procédure car cette méthode peut resservir pour d'autres programmes qui râlent à la compilation. Cela montre comment, même sans connaissance précise en programmation, compiler un programme récalcitrant.

    Les sources du panneau de contrôle d'ATI sont là : /usr/src/ATI/fglrx_panel_sources.tgz, on les décompresse :

    fred@gandalf ~ # mkdir ATI && cd ATI
    fred@gandalf ATI # tar xzf /usr/src/ATI/fglrx_panel_sources.tgz
    fred@gandalf ATI # make
    gcc -c -g -O2 -fno-strength-reduce -funsigned-char -Dlinux -DFGLRX_USE_XEXTENSIONS -DFGLRX_OGL_INFO -DQT_NO_STL -I/usr/X11R6/include -I. -I./include_dummy ATITVOExtensions.c
    ATITVOExtensions.c:36:36: Radeon_extension_tvout.h: Aucun fichier ou répertoire de ce type
    ATITVOExtensions.c:40: « ATITVOUT_EXTENSION_NAME » non déclaré ici (n'est pas dans une fonction)
    ATITVOExtensions.c: Dans la fonction « find_display_atitvo »:
    ATITVOExtensions.c:73: « ATITVOUT_NUMBER_EVENTS » non déclaré (première utilisation dans cette fonction)
    [...]

    Ça commence bien ! Radeon_extension_tvout.h est introuvable et « ATITVOUT_EXTENSION_NAME » non déclaré ici ! Et bien cherchons le :

    fred@gandalf ATI # grep ATITVOUT_EXTENSION_NAME *
    ATITVOExtensions.c:static char *atitvo_extension_name = ATITVOUT_EXTENSION_NAME;
    TVOExt.h:#define ATITVOUT_EXTENSION_NAME "ATITVOUT"
    TVOExt.h:static char *atitvo_extension_name = ATITVOUT_EXTENSION_NAME;

    Visiblement le #define est dans TVOExt.h, ils ont dû oublier de renommer ce fichier ou quelque chose du genre, je vais tenter de faire un lien du fichier trouvé vers le fichier manquant :

    fred@gandalf ATI # ln -s TVOExt.h Radeon_extension_tvout.h
    fred@gandalf ATI # make
    gcc -c -g -O2 -fno-strength-reduce -funsigned-char -Dlinux -DFGLRX_USE_XEXTENSIONS -DFGLRX_OGL_INFO -DQT_NO_STL -I/usr/X11R6/include -I. -I./include_dummy ATITVOExtensions.c
    ATITVOExtensions.c:39: redéfinition de « atitvo_info »
    Radeon_extension_tvout.h:18: `atitvo_info' previously defined here
    ATITVOExtensions.c:40: redéfinition de « atitvo_extension_name »
    Radeon_extension_tvout.h:19: `atitvo_extension_name' previously defined here
    ATITVOExtensions.c:50: redéfinition de « close_display_atitvo »
    Radeon_extension_tvout.h:259: `close_display_atitvo' previously defined here
    ATITVOExtensions.c:53: redéfinition de « atitvo_extension_hooks »
    Radeon_extension_tvout.h:262: `atitvo_extension_hooks' previously defined here
    ATITVOExtensions.c:73: redéfinition de « find_display_atitvo »
    Radeon_extension_tvout.h:282: `find_display_atitvo' previously defined here
    ATITVOExtensions.c:79: redéfinition de « answerisyes »
    Radeon_extension_tvout.h:288: `answerisyes' previously defined here
    ATITVOExtensions.c:88: redéfinition de « getstring »
    Radeon_extension_tvout.h:297: `getstring' previously defined here
    make: *** [ATITVOExtensions.o] Erreur 1

    C'est pas vraiment mieux, mais on voit que ce n'est plus le message d'erreur, cette fois, ce sont des déclarations en double ... je vais les supprimer, mais avant je vais regarder ces définitions :

    fred@gandalf ATI # grep atitvo_info *
    ATITVOExtensions.c:static XExtensionInfo _atitvo_info_data;
    ATITVOExtensions.c:static XExtensionInfo *atitvo_info = &_atitvo_info_data;
    ATITVOExtensions.c: atitvo_info)
    ATITVOExtensions.c: atitvo_info,
    Radeon_extension_tvout.h:static XExtensionInfo _atitvo_info_data;
    Radeon_extension_tvout.h:static XExtensionInfo *atitvo_info = &_atitvo_info_data;
    Radeon_extension_tvout.h: atitvo_info)
    Radeon_extension_tvout.h: atitvo_info,
    TVOExt.h:static XExtensionInfo _atitvo_info_data;
    TVOExt.h:static XExtensionInfo *atitvo_info = &_atitvo_info_data;
    TVOExt.h: atitvo_info)
    TVOExt.h: atitvo_info,

    Note: à cause de notre lien de tout à l'heure il semble que Radeon_extension_tvout.h et TVOExt.h dupliquent les lignes aussi, mais ça c'est normal, on ne peut pas l'éviter...

    Manifestement ce sont les mêmes partout, il est donc bien légitime de vouloir en supprimer certaines. A priori ces déclaration n'ont pas lieu d'être dans un .h mais comme elles y sont je préfère les y laisser des fois que d'autres fichiers .c y fassent référence. Je vais donc commenter ces déclarations dans ATITVOExtensions.c, l'erreur de make m'a signalé les lignes : 39, 40, 50, 53, 73 et 88 comme fautives. Je prends bien soin de commenter toute la déclaration et pas seulement la première ligne.

    fred@gandalf ATI # vi ATITVOExtensions.c

    Ici je commente les lignes fautives avec des // en début de ligne, je quitte avec :wq!

    fred@gandalf ATI # make

    Ça marche !

    fred@gandalf ATI # su -c "make install"

    Il y a un message d'erreur à la fin sur "fireglcontrol.desktop" mais je m'en fiche ;-)

    fred@gandalf ATI # fireglcontrol

    Rulez !

    Malheureusement, ce n'est pas toujours aussi simple !

    Haut


    Haut


    Connexion à Free ADSL dégroupé avec un modem Alcatel Speedtouch USB

    par Jérôme Trullen

    Ceci est un complément à la solution livrée par Didier Caillaud ici


    Introduction

    Dans le cadre de son offre de connectivité ADSL en zone dégroupée, Free propose un modem Sagem autrefois Fast800, aujourd'hui Fast908 en prêt. Pour assurer cette offre, la société Freetélécom a intérêt à mon avis à livrer des modems d'un coût le plus faible possible puisque, sauf accord spécial, il semble qu'elle doive acheter ces modems avant de les rentabiliser grâce aux abonnements. Autrement dit, les Sagem en question sont des appareils d'entrée de gamme.

    L'expérience montre effectivement que la solidité et la fiabilité n'est pas toujours au rendez-vous avec ce matériel.

    Par ailleurs, nombreux sont les internautes ADSL de la première heure qui ont souscrit dans le temps un abonnement Wanadoo Xtense conditionné à l'achat d'un modem Alcatel Speedtouch USB en forme de raie manta verte.

    Mis à part le coté affectif que peut présenter un appareil payé presque 1000 francs à l'époque et l'aspect sympathique de la petite bête, force est de constater que ce modem est de bonne qualité: solide et fiable. Il est conçu au départ pour faciliter des connexions ADSL en point à point par dessus ATM (PPPoA). Ceci ne pose pas de problème sous Linux: merci monsieur Papillault. Cependant nombreuses sont les personnes qui peuvent vouloir en profiter également dans le cadre d'un abonnement à l'offre Free ADSL dégroupé (guerre des prix et surenchère sur les débits obligent). Ceci est possible sous Linux (uniquement) grâce à l'astuce trouvée par Didier Caillaud et décrite à l'adresse http://mon.adsl.chez.free.fr/modemdegroupe/spedtoucheusb/config.html

    Pré-requis

    Support du modem et firmware

    a l'exception du support PPP, tous ce qui est requis pour un fonctionnement normal en PPPoA tel que décrit ici est également requis dans notre cas, à savoir:

    ATM pour Linux

    A tout ceci il faudra a jouter l'installation des utilitaires ATM pour Linux à l'adresse http://linux-atm.sourceforge.net afin de disposer:

    Coté noyau pour ceux qui le compilent maison, le support ATM Asynchronous Transfer Mode (expérimental) doit être activé. De plus, un "HOWTO" pour l'ATM sous Linux existe à l'adresse http://www.tldp.org/HOWTO/ATM-Linux-HOWTO.

    La distribution Mandrake 9.2 de manière certaine et probablement le plupart des autres distributions sont livrées avec un noyau Linux 2.4 incluant le support ATM. Dans le cas de la Mandrake, il est fourni sous forme de module et les utilitaires sont installés par les paquets liblinux-atm1 et linux-atm.

    Pilote du noyau

    Pour ceux dont la version du noyau est inférieure à 2.4.22 ou dont le noyau n'inclue pas le support Speedtouch (la Mandrake par exemple), il sera nécessaire de compiler ce support sous forme de module en téléchargeant les sources sur http://www.linux-usb.org/SpeedTouch/download/index.html. L'archive doit se nommer speedtouch-<version>.tar.gz. Pour installer le module, s'identifier root, vérifier la présence des sources du noyau concerné et:

    cd <répertoire des sources>
    tar xvzf <répertoire de téléchargement>/speedtouch-<version>.tar.gz
    cd speedtouch-<version>
    ./configure
    make
    install -c speedtch.o /lib/modules/`uname -r`/kernel/drivers/usb
    depmod -a

    Etablissement de la connexion

    Dans le cadre d'une connexion par le FAI Freetélécom, l'adresse IP sur l'interface correspondant au modem est affecté par un serveur DHCP. Il semble que la découverte des serveurs DHCP par le Speedtouch USB pose un problème mais dans le cas qui nous occupe, à savoir en mode dégroupé, nous avons la chance de disposer chez Free d'une adresse IP fixe et disponible lorsqu'on consulte son compte http://adsl.free.fr/suivi/suivi_tech.html.

    Une fois cette adresse relevée, elle devra être reportée dans le script suivant comme valeur de la variable adresse :

    #!/bin/sh

    adresse=<adresse IP Free fixe genre 82.224.xxx.xx>
    passerelle=`echo $adresse | /bin/sed -e "s/[0-9]*$/254/g"`

    case "$1" in
    start)
      /sbin/modprobe usb-uhci 2>/dev/null
      if test "`/sbin/lsmod | /bin/grep atm`" = ""
      then
        /sbin/modprobe atm 2>/dev/null
        nouveau=1
      else
        nouveau=0
      fi
      /sbin/insmod speedtch 2>/dev/null
      sleep 10
      /usr/sbin/modem_run -k -v 1 -m -f /usr/share/speedtouch/mgmt.o
      /usr/sbin/atmarpd -b -l syslog
      if test $nouveau -eq 1
      then
        /usr/sbin/atmarp -c atm0
      fi
      /sbin/ifconfig atm0 ${adresse} netmask 255.255.255.0 mtu 1500 up
      /usr/sbin/atmarp -s ${passerelle} 8.36 null
      /sbin/route add default gw ${passerelle}
      ;;
    stop)
      /sbin/route del default 2>/dev/null
      /sbin/ifconfig atm0 down 2>/dev/null
      /usr/sbin/atmarp -d ${passerelle}
      /usr/bin/killall atmarpd modem_run 2>/dev/null
      /sbin/rmmod speedtch 2>/dev/null
      /sbin/rmmod usb-uhci 2>/dev/null
      ;;
    esac

    Ce script se comporte comme un shell d'initialisation et peut être lancé au démarrage, par exemple de la façon suivante pour une Mandrake ou une Redhat:

    ln -s <chemin vers le script> /etc/rc.d/rc5.d/S31adsl

    Ici, la connexion s'établira juste après que l'interface graphique fût lancée par S30dm.

    NDM: pour plus de détails sur le lancement des services au démarrage, voir cet article.

    Il est possible de vérifier que la connexion est active en "pinguant" la passerelle. Cette dernière à pour adresse celle de l'interface avec le dernier octet substitué par 254: pour un compte Free d'adresse IP 82.224.xxx.xx, la passerelle vers internet aura pour adresse 82.224.xxx.254:

    [jerome@mabrele jerome] ping -c 1 -w 10 <adresse de la passerelle>
    PING <adresse de la passerelle> (<adresse de la passerelle>) 56(84) bytes of data.
    64 bytes from <adresse de la passerelle>: icmp_seq=1 ttl=64 time=79.2 ms

    --- <adresse de la passerelle> ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 79.216/79.216/79.216/0.000 ms

    Reprise en cas de coupure

    L'expérience montre que la communication se coupe parfois sans que le modem le détecte. La méthode employée pour tester la réussite de la connexion nous servira également à vérifier qu'elle est toujours établie à intervalles réguliers (par l'intermédiaire de la cron par exemple).

    Voici le script à exécuter régulièrement:

    #!/bin/sh

    DEV=atm0
    CNX="/usr/local/bin/speedtouchFree start"
    DCNX="/usr/local/bin/speedtouchFree stop"

    adresse=`/sbin/ifconfig $DEV | grep "inet ad" | cut -d':' -f2 | cut -d' ' -f1`
    if test "`/bin/netstat -rn | grep $DEV`" = "" -o `tail -50 /var/log/messages | grep "usb_control/bulk_msg: timeout" | wc -l` -gt 10 -o "$adresse" = ""
    then
      echo "`/bin/date` Hoho! Pas de connexion adéèsselle. Reconnexion"
      $DCNX
      $CNX
    else
      passerelle=`echo $adresse | sed -e "s/[0-9]*$/254/g"`
      /bin/ping -c 1 -w 10 ${passerelle}
      if test $? -ne 0
      then
        echo "`/bin/date` Hoho! La connexion est tombée. Reconnexion"
        $DCNX
        $CNX
      fi
    fi

    Dans cet exemple, le script de connexion s'appelle /usr/local/bin/speedtouchFree. Chez moi ce script est exécuté toutes les minutes par la cron.

    NDM: pour plus de détails sur crond et la programmation des travaux en général, voir cet article.

    Haut


    Installer un Modem Bewan USB ST

    par Cyaj

    Cette page est consacrée à la configuration du Modem Bewan USB ST à partir d'une mandrake 9.2.
    Pour l'instant seul le kernel 2.4.22 sera traité.


    Avertissement

    La rédaction de ce document a été commencé le 02 avril 2004 et par conséquent ne constitue pas une version définitive. A cause de l'évolution des mises à jour des drivers de la part de Bewan ainsi que des évolution du kernel.
    Nous ne traiterons ici que la partie relative au kernel 2.4.22.
    Si quelqu'un veut bien traiter le kernel 2.6, libre à lui ;-).

    Petit rappel : avant novembre 2003 Télé2 distribuait un modem bleu (genre grenouille ou vaisseau spatial) et à partir de novembre 2003 Télé2 a distribué un modem gris et plat (identifiant 07fa:1012, faites un lsusb pour lister vos périphériques usb) qui n'était pas supporté par le drivers 0.7.6.
    A partir de la version 0.8.1 il a été supporté mais cela ne marchait pas top, beaucoup de problèmes lors du chargement du module et avec les abonnements à 128k, tout ceci est rentré dans l'ordre avec la sortie de la version 0.8.7 ;-).

    Préalable à l'installation

    Noyau

    Tout d'abord vérifiez que vous avez les sources de votre Kernel installées, pour ceci faites un : ls /usr/src. Vous devriez voir un répertoire du type linux-2.4.22-28mdk/ (suivant la version de votre noyau). Si ce n'est pas le cas, il faut que vous installiez les sources de votre noyau.

    Les sources du noyau de la mandrake 9.2 ne sont pas présentes sur les CD, vous devrez donc les récupérer depuis internet. Vous pouvez utiliser http://rpm.pbone.net/ avec dans le champ de recherche "kernel-source" ou regarder sur le site ftp club-internet : ftp://ftp.club-internet.fr/pub/unix/linux/distributions/Mandrake/9.2/i586/Mandrake/RPMS". Pour connaître le numéro de version de votre noyau tapez uname -r dans une console.

    Packages

    Ensuite il vous faut avoir les packages suivants installés :

    Ces versions sont données au 02/04/2004.

    Et enfin téléchargez le driver Bewan version 0.8.7 (au 02/04/2004) à l'adresse suivante : http://www.bewan.com/bewan/users/downloads/index.php, à la rubrique "Drivers for the BeWAN ADSL PCI & USB ST" cliquez sur le numéro de la version anglaise et téléchargez le fichier "bapst-0.8.7.tgz". C'est le site international de bewan et vous n'avez pas besoin de vous identifier. Si vous téléchargez depuis le site français vous aurez droit à une page d'identification et le fichier que vous recupérerez aura ce titre A1012-A1006-A904-A888-0.8.7.tgz mais ce sont les mêmes versions.

    Installation

    Le fichier bapst-0.8.7.tgz ou A1012-A1006-A904-A888-0.8.7.tgz que vous venez de récupérer contient en fait tous les fichiers sources pour les modems PCI et USB de la gamme ST de Bewan. Bewan, pour des raisons pratiques a tout regroupé dans une seule archive. De ce fait, quand vous téléchargez du site officiel les drivers pour la carte pci, vous obtenez aussi ceux pour le modem usb et inversement.

    Détarer les fichiers sources

    Pour détarer le driver unicorn vous allez déjà créer un répertoire où vous placerez l'archive à décompresser : par exemple dans /home/bewan.

    [cyaj@localhost cyaj]$ mkdir bewan
    [cyaj@localhost cyaj]$ mv /chemin/du/telechargement/bapst-0.8.7.tgz /home/bewan/

    Décompression de l'archive

    [cyaj@localhost cyaj]$ cd /home/bewan/
    [cyaj@localhost bewan]$ tar xvzf bapst-0.8.7.tgz

    Vous pouvez vérifier avec la commande ls la création du répertoire unicorn.

    Les différents répertoires

    Dans le répertoire unicorn, figurent plusieurs sous répertoires. Voici ceux qui nous interressent :

    Les autres répertoires ne nous concernent pas directement, unicorn_atm et unicorn_eth" contiennent des fichiers sources pour la gestion de l'interface présentée au noyau, à savoir atm ou ethernet. Ces fichiers sont directements liés par des commandes des Makefiles des différents répertoires (pci et usb).

    "Ordre" de compilation

    Il y a plusieurs manières de réaliser la compilation :

    1. Soit vous utilisez le Makefile présent au niveau du répertoire unicorn, auquel cas vous vous retrouvez avec tous les drivers PCI et USB installés puis il faut faire le tri.
    2. Soit vous ne compilez que ce qui vous interresse, à savoir pour nous la gestion de l'usb par l'interface atm.
    Méthode 1 : Compilation Globale

    Ces drivers sont installés dans le répertoire /lib/modules/"version_de_votre_noyau"/extra/ il vous suffira de supprimer les deux versions PCI et celle de l'usb ethernet.

    Je vous conseille d'indiquer le chemin des sources de votre noyau dans le Makefile (cf § Méthode 2 / unicorn_usb).

    Méthode 2 : Le Choix

    Nous allons utiliser la méthode 2.

    Cela permet d'appréhender un peu plus ce qui se passe. Les deux répertoires "utiles" afin de faire fonctionner le modem sont libm et unicorn_usb, les autres, cités au § Les différents répertoires ne contiennent que des utilitaires en ligne de commande ou graphique.

    Tout d'abord plaçons nous en root avec la commande su - :

    [cyaj@localhost unicorn]$ su -
    Password:

    Ici c'est normal que rien ne s'affiche lorsque vous tapez !

    [root@localhost unicorn]#

    Votre prompt s'est normalement changé en "#"

    libm

    Nous allons d'abord compiler la libm. Placez vous dans le répertoire libm par :

    [root@localhost unicorn]# cd libm

    Et compilez par un simple :

    [root@localhost libm]# make

    Cela génère juste le fichier libm.a dans ce répertoire. Il sera utilisé plus tard par les Makefiles des répertoires unicorn_usb et unicorn_pci.

    unicorn_usb/

    Ensuite compilez le driver à proprement parler, pour cela allez dans le répertoire unicorn_usb avec la commande :

    [root@localhost libm]# cd ../unicorn_usb

    Vous pouvez utiliser la complétion automatique grâce à la touche de tabulation [tab] c'est plus rapide ;-).

    Nous allons tout d'abord éditer le Makefile afin de renseigner correctement où se situent les sources du kernel (cf § Préalable à l'installation / Noyau). Pour ce faire utilisez vi (ou l'éditeur que vous maîtrisez).

    [root@localhost unicorn_usb]# vi Makefile

    Une fois dans vi tapez sur la touche [i] afin de pouvoir effectuer des modifications et sur [echap] pour revenir au mode commande.

    NDM: Pour plus d'infos sur les commandes de l'éditeur vi, voir aussi cet article.

    Il faut rechercher la ligne KERNEL_SOURCES=/usr/src/linux (elle se trouve au début). Normalement /usr/src/linux est un lien symbolique qui pointe vers le répertoire contenant les sources de votre noyau, mais pour plus de précaution, nous allons modifier correctement cette ligne afin d'éviter tout problème.

    Placez vous sur la ligne en question et en mode commande (appuyez sur [echap]) et tapez :

    [yy] cela copie la ligne du curseur.

    Ensuite tapez :

    [p] cela colle la ligne en dessous du curseur

    Passez en mode "insertion" [i] commentez une des deux ligne en plaçant un # devant, puis mettez le chemin correct des sources de votre noyau. Pour moi cela donne ceci :

    #
    ## Makefile for UNICORN USB ADSL Modem
    #

    src ?= .
    obj ?= .
    ifndef KERNEL_SOURCES
    #KERNEL_SOURCES=/usr/src/linux         <------ ligne originale
    KERNEL_SOURCES=/usr/src/linux-2.4.22-28mdk/     <------ les sources pour mon noyau
    endif
    ifndef HPATH
    HPATH=$(KERNEL_SOURCES)/include
    endif
    ...

    Ensuite passez en mode commande ([echap]) et tapez [:wq]. : indique le début d'une commande ; w signifie écrire et q permet de quitter l'éditeur vi.

    Si vous avez regardé le Makefile en entier vous apercevez vers la fin du fichier les règles de construction du driver. Celles qui nous interressent sont unicorn_usb_atm.o" et install_atm.

    Toute la partie médiane du Makefile constitue des tests et des options à passer pour le compilateur en fonction de la version de votre noyau. Cette partie a été améliorée grâce à un internaute qui avait des problèmes de compilation avec un noyau 2.6 et qui a transmis ses modifications au développeur... Vive la communauté ;-)

    Donc pour compiler uniquement la partie usb avec interface atm pour le driver il faut faire :

    [root@localhost unicorn_usb]# make unicorn_usb_atm.o
    [root@localhost unicorn_usb]# make install_atm

    Vous devez avoir le module unicorn_usb_atm.o qui a été copié dans le répertoire /lib/modules/n°_version_de_votre_kernel/extra/.

    On peut exécuter la commande depmod -ae afin de recharger tous les modules (gestion des dependances entre les modules du noyau) et vérifier que le module unicorn_usb_atm est chargé avec la commande lsmod.

    [cyaj@localhost cyaj]$ /sbin/lsmod
    Module                Size   Used by   Tainted: P
    pppoatm               4296   1  
    parport_pc           25544   1   (autoclean)
    [...]
    ppp_async             9312   0   (unused)
    ppp_generic          24292   3   [pppoatm ppp_async]
    slhc                  6564   0   [ppp_generic]
    [...]
    unicorn_usb_atm     789728   1
    atm                  36800   0   [pppoatm unicorn_usb_atm]
    ehci-hcd             19212   0   (unused)
    usb-uhci             25136   0   (unused)
    usbcore              74988   1   [usbmouse hid usb-storage scanner unicorn_usb_atm printer ehci-hcd usb-uhci]

    Si toutefois le module n'est pas chargé vous pouvez utiliser la commande :modprobe /lib/modules/n°_version_de_votre_kernel/extra/unicorn_usb_atm, et vous devriez avoir ce genre de messages:

    [root@localhost unicorn_usb]# modprobe /lib/modules/`uname -r`/extra/unicorn_usb_atm.o DebugLevel=1
    Warning: loading /lib/modules/2.4.22-28mdk/extra/unicorn_usb_atm.o will taint the kernel: non-GPL license - Proprietary
    See http://www.tux.org/lkml/#export-tainted for information about tainted modules
    Module unicorn_usb_atm loaded, with warnings

    Ne prenez pas peur, ce message est normal car dans le source du driver le développeur a indiqué que ce module est de type propriétaire, et le kernel vous le signale...

    Nous n'avons plus qu'à modifier les fichiers de configuration.

    RAPPEL : La compilation des utilitaires présent dans les répertoires tools/, unicorntest/ et adsl_status/ est optionnelle

    tools/

    Allez ensuite dans le répertoire tools/ pour compiler les outils permettant d'avoir des infos en ligne de commande. Vous n'êtes pas obligé de compiler ces utilitaires. Déplaçons nous dans le répertoire tools/ (nous sommes dans le répertoire unicorn_usb/) :

    [root@localhost unicorn_usb]# cd ../tools

    et comme précedemment nous faisons make puis make install

    [root@localhost tools]# make
    [root@localhost tools]# make install

    Cela nous a installé, dans /usr/local/bin, deux exécutables :

    [cyaj@localhost cyaj]$ unicorn_status
    Modem State               : SHOWTIME_L0
    Remote Report             : Showtime
    Last Failure              :
    Time Connected            : 08:16:20
    Modulation                : G.dmt
    Rate Us/Ds (Kbps)         : 96 160
    Cap. Occupation Us/Ds (%) : 18 4
    Noise Margin Us/Ds (dB)   : 9 43
    Attenuation Us/Ds (dB)    : 11 17
    Output Power Us/Ds (dBm)  : 12 19
    FEC Errors Us/Ds          : 1 0
    CRC Errors Us/Ds          : 1 0
    HEC Errors Us/Ds          : 0 0
    Driver Version            : 0.0.0
    Firmware Version          : USB-AMW-1-1.8-0.1.0.5

    [cyaj@localhost cyaj]$ oam_ping
    usage: oam_ping <vpi> <vci>

    unicorntest/

    Ce répertoire contient un utilitaire en ligne de commande permettant de dialoguer avec le modem et de le tester en utilisant les commandes ci-dessous :

    [cyril@localhost libm]$ unicorntest
    unicorntest, v 0.0.0, 15:14:14 Mar 22 2004

    HELP -> Help
    ----------------------------------------------------------
    ANSI            : Initialize and Start in Operation Mode: ANSI
    MULTI           : Initialize and Start in Operation Mode: MULTI
    GLITE           : Initialize and Start in Operation Mode: GLITE
    GDMT            : Initialize and Start in Operation Mode: GDMT
    UP              : Activate the Line
    DOWN            : Deactivate the Line
    CONFIG          : Get Near End Modem Configuration
    VENDOR          : Get Vendor and Version Info
    OPER            : Get Line Operational Data
    FAULT           : Get Fault Counters
    PERF            : Get Performance Counters
    RATE            : Get Actual Bitrate
    MODE            : Get Modem State
    TEQ             : Get TEQ values
    VER             : Get Software Version
    GASP            : Send DyingGasp Command
    UNLOAD          : Unload Operation Mode
    CONSTELLATION # : Show Constellation Data for # carrier
    PING <VPI.VCI>  : Send OAM Loopback Cell
    OAM             : Get OAM Statistics
    DEBUG           : Set Debug Level
    MSW             : Set Msw Debug Level
    ----------------------------------------------------------
    X     : Exit Console Application
    ----------------------------------------------------------


    > Current Modem State (9): SHOWTIME_L0

    Pour la compilation, un simple make puis make install suffisent.

    adsl_status

    La compilation de l'utilitaire présent dans ce répertoire permet d'avoir la même interface graphique de dialogue que sous Windows.

    Pour ce faire il faut aller dans le répertoire adsl_status/ et taper la commande suivante :

    [root@localhost adsl_status]# ./configure

    Cette commande va vérifier que certains programmes et librairies sont présents sur votre système, puis elle va configurer le Makefile. Si vous obtenez des erreurs, regardez les lignes présentes sur votre console et installez les packages ou programmes adéquats (utilisez la fonction recherche de rpmdrake ... pour ceux qui utilisent une Mandrake). La commande configure ayant terminé correctement son travail, il ne vous reste plus qu'à faire make et make install en root.

    [root@localhost adsl_status]# make
    [root@localhost adsl_status]# make install

    L'exécutable bewan_adsl_status devrait se trouver dans le répertoire /usr/local/bin/

    Pour le lancer, tapez simplement dans une console bewan_adsl_status, vous obtiendrez une boite de dialogue avec 7 onglets :

    Mise à jour des fichiers de configuration

    Pour PPPD

    Nous allons configurer les fichiers pap-secrets, chap-secrets et options présents dans le répertoire /etc/ppp/.

    les fichiers pap-secrets et chap-secrets contiennent vos identifiants de connection. La différence entre les deux est que chap-secrets supporte l'authentification sécurisée (cryptée ou non) de votre fournisseur d'accès.

    /etc/ppp/pap-secrets
    # Secrets for authentication using PAP
    # client server secret IP addresses

    'euXXXXXX@tele2.fr' * 'xxxxxxxx' *

    Pour /etc/ppp/chap-secrets c'est la même chose

    Le fichier /etc/ppp/options contient des informations pour établir votre connection

    /etc/ppp/options
    lock
    ipparam ppp0
    noipdefault
    noauth
    default-asyncmap
    defaultroute
    hide-password
    noaccomp
    noccp
    nobsdcomp
    nodeflate
    nopcomp
    novj
    novjccomp
    lcp-echo-interval 20
    lcp-echo-failure 3
    mtu 1500
    mru 1500
    sync
    persist
    plugin pppoatm.so
    user euXXXXXX@tele2.fr     <---mettre votre identifiant de connection
    usepeerdns

    Pour resolv.conf

    Vous pouvez rentrer les DNS (Domain Name Server) de votre fournisseur d'accès. Normalement l'option usepeerdns du fichier /etc/ppp/options prend de façon dynamique les DNS de votre FAI lors de l'établissement de votre connection. Mais on peut toutefois les rentrer par défaut dans le fichier /etc/resolv.conf (en root).

    /etc/resolv.conf
    search tele2.fr
    nameserver 130.244.127.161
    nameserver 130.244.127.169

    Pour Modules

    Vous pouvez, si vous le souhaitez, charger directement le module unicorn_usb_atm lors du démarrage du système. Il faut modifier les fichiers /etc/modules et /etc/modules.conf.

    Il suffit de rajouter la ligne suivante dans /etc/modules :

    unicorn_usb_atm ActivationMode=4 DebugLevel=1

    Et celle-ci dans /etc/modules.conf :

    options unicorn_usb_atm ActivationMode=4 DebugLevel=1

    ActivationMode=4 permet de sélectionner le mode de fonctionnement G.dmt

    DebugLevel=1 permet d'envoyer les messages et les erreurs de fonctionnement du modem dans les logs système (fichier /var/log/messages).

    Vous n'êtes pas obligé de mettre DebugLevel mais cela sert à voir où le driver plante grâce aux fichiers de logs, et par la suite d'envoyer un rapport d'erreur au développeur.

    Scripts de connection

    Par défaut, bewan donne des scripts de connection dans le répertoire scripts/. Il y en a trois :

    Nous allons utiliser le script unicorn-pppoatm. Il faut déjà le copier dans /usr/bin/ avec la commande :

    [root@localhost scripts]# cp unicorn-pppoatm /usr/bin/

    Il ne nous reste plus qu'à modifier le script avec les options qui nous arrangent. Pour ce faire, on édite le script avec son éditeur préféré (comme tout à l'heure) :

    [root@localhost bin]# vi unicorn-pppoatm

    Et on peut alors voir :

    #!/bin/sh

    # Source function library.
    . /etc/rc.d/init.d/functions

    # set to correct product (USB or PCI)
    #UNICORN="unicorn_pci_atm"       <---commenter la ligne PCI car nous avons un modem USB
    UNICORN="unicorn_usb_atm"

    # default VPI, VCI and encapsulation
    VPI=8
    VCI=35       <------Vérifier que ce sont les valeurs de votre FAI normalement 8,35 pour la France

    # ANSI=1,G.lite=2,MULTI=3,G.dmt=4,
    MODULATION=4       <------G.dmt pour Télé2 Internet France

    # pppd version 2.4.0b2 patched       <------ Commenter la version de pppd que vous n'avez pas intallé
    #PPPD="/usr/src/ppp-2.4.0b2/pppd/pppd"
    #PLUGIN="/usr/lib/pppd/plugins/pppoatm.so"

    # pppd version 2.4.1
    PPPD="/usr/sbin/pppd"
    PLUGIN="/usr/lib/pppd/2.4.1/pppoatm.so"
    ....

    La Connection

    Il suffit de lancer la commande suivante en root :

    [root@localhost cyaj]# unicorn-pppoatm start

    Pour arrêter la connection :

    [root@localhost cyaj]# unicorn-pppoatm stop

    Il faut obligatoirement être en root, car le script qui lance pppd nécessite les droits de root. Vous pouvez utiliser la commande sudo en modifiant le fichier /etc/sudoers. Pour cela je vous renvoie à la page écrite par Fred sur Léa.

    Si vous vous êtes débrouillé correctement vous n'aurez qu'à taper la commande :

    sudo unicorn-pppoatm start pour lancer la connection et stop pour l'arrêter.

    Vérification de la connection

    Il suffit de taper la commande /usr/sbin/ifconfig, vous devriez obtenir quelque chose de ce genre :

    lo Lien encap:Boucle locale
    inet adr:127.0.0.1 Masque:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:368 errors:0 dropped:0 overruns:0 frame:0
    TX packets:368 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 lg file transmission:0
    RX bytes:23736 (23.1 Kb) TX bytes:23736 (23.1 Kb)

    ppp0 Lien encap:Protocole Point-à-Point
    inet adr:80.170.29.78 P-t-P:80.170.29.1 Masque:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
    RX packets:11683 errors:0 dropped:0 overruns:0 frame:0
    TX packets:10641 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 lg file transmission:3
    RX bytes:4741764 (4.5 Mb) TX bytes:955002 (932.6 Kb)

    Si vous obtenez l'interface ppp0 vous êtes connecté à internet ; si ce n'est pas le cas, relancez le script de connection avec un restart (ou stop puis start).

    Remarque : attendez que votre modem se soit correctement synchronisé avant de lancer la commande ifconfig (deux à trois secondes après le dernier clignotement de la led "LINK").

    Si vous êtes connecté et que malgrès tout, votre navigateur n'affiche pas la page demandée, je vous conseille de fermer votre navigateur et de relancer votre connection.

    Une fois votre driver installé, il se peut que vous obteniez des erreurs lors du démarrage de votre machine, voir un blocage pur et simple de cette dernière si le modem est raccordé à votre PC.
    Pour éviter ce genre de désagrément, je vous conseille de déconnecter le cable usb de votre modem pendant le boot de votre machine, et une fois logué, vous pouvez rebrancher.
    Je n'explique pas le phénomène mais il est tout de même présent. J'ai signalé cette "erreur" au developpeur mais pas de réponse (il doit avoir pas mal de travail pour la compatibilité avec le noyau 2.6).

    Remerciements

    Christophe Mailhebuau rédacteur du tuto paru dans Linux Pratique N°21 de Janvier-Février 2004 son site :
    http://www.justlinux.org/
    Patrice Mandin qui est à l'origine de 2 journaux sur linuxfr.org pages:
    http://linuxfr.org/~pmandin/9082.html
    http://linuxfr.org/~pmandin/7750.html
    Les pages d'aide suivantes :
    http://home.tele2.fr/slo/
    http://www.da-silva.nom.fr/linux/adsl/pppoatm/
    http://arsunik.free.fr/bewan/
    Google l'ami de tous les internautes et Usenet
    Et surtout ma femme pour sa relecture et ses modifications ;-).

    Haut


    Haut


    Configuration Wifi

    par ST

    ou votre pingouin sans fil à la patte


    Présentation

    Introduction

    Tout d'abord, que veut dire Wifi ? Wifi est la contraction de Wireless Fidelity soit " Fidélité Sans Fil " en français (mais, cela ne veut franchement rien dire). En fait, Wifi est le nom commercial de la norme Ethernet sans fil 802.11. Airport est un synonyme de Wifi pour les Mac.

    Wifi permet donc de créer un réseau local Ethernet sans fil.

    Les équipements Wifi les plus répandus à l'heure actuelle sont répartis en deux familles :

    Tous les mécanismes que vous auriez pu lire sur le réseau local filaire restent valables :

    Les principaux équipements Wifi sont :

    Tout comme le réseau filaire, il existe des équipements " tout intégré " qui remplissent les fonctions de modem ADSL, routeur et point d'accès Wifi.

    Certains de ces équipements " tout intégré " fonctionnent d'ailleurs sous Gnu/Linux. En revanche, vérifiez que le constructeur ne viole pas la licence GPL en ne fournissant pas les sources des différents logiciels sous cette licence. Je ne donnerai aucune liste de constructeurs étant donné que diverses pressions vers ceux-ci peuvent changer leur comportement. Par exemple, vous pouvez (ou devez) refuser l'achat de leurs produits quels qu"ils soient. Un truc pour connaître ces bandits, un tour sur www.google.fr et cherchez-y "router GPL violation'.

    En revanche, je peux fournir une liste de constructeur respectueux de la licence :

    Cette liste pourra être mise à jour, je ne connais pas toutes les marques.

    Fonctionnement

    Les signaux utilisés pour les connexions Wifi sont des signaux radioélectriques basés sur une technologie mise au point par les militaires (troll detected :-)). Ces signaux sont situés dans une bande de fréquence autour de 2.4 GHz. A titre de comparaison, les téléphones mobiles GSM utilisent les fréquences 0,9 GHz et 1,8 GHz, les futurs téléphones mobiles UMTS utiliseront des fréquences autour de 2 Ghz.

    Les signaux Wifi sont classés en 14 canaux numérotés de 1 à 14. A chacun des canaux est associé une fréquence unique et différente des autres. En France, seul certains canaux sont autorisés, les autres canaux sont toujours utilisés par les militaires. Pour connaître la liste des fréquences légales, consultez le site de l'Autorité de Régulation des Télécommunications (http://www.art-telecom.fr/).

    Plusieurs points d'accès connectés au même réseau peuvent être utilisés pour couvrir une surface importante découpée en cellules comportant chacune au moins un point d'accès. Ainsi, les utilisateurs pourront se déplacer de cellule en cellule et garder la connexion avec le réseau sans déconnexion (système de roaming) : similaire au principe des cellules des téléphones GSM.

    Les cartes Wifi supportent deux modes de connexion :

    Les cartes Wifi peuvent être configurés dans divers modes :

    Pour se connecter à un réseau Wifi, les cartes Wifi doivent connaître en plus du canal choisi, le nom du réseau ou SSID (pour Service Set Identifier). Le SSID est une chaîne de alphanumérique de 32 caractères maximum dépendante de la casse.

    Il y a deux méthodes pour récupérer le SSID d'un réseau Wifi :

    Plusieurs niveaux de sécurité, plus ou moins efficaces (voir Sécurité sous Wifi), sont disponible en Wifi :

    Le chiffrement par clé WEP n'est malheureusement pas très sécurisé. En effet, un simple "script kiddy" peut casser la clé WEP en 10 minutes.

    Pour renforcer la sécurité du Wifi, un remplaçant au WEP a été trouvé : WPA (Wifi Protected Access). Malheureusement, comme le WPA est une extension de la norme Wifi, celui-ci n'est pas (ou pas encore) intégré dans tous les équipements et/ou drivers.

    Le WPA se décline en deux modes :

    Installation d'une carte Wifi

    Les cartes Wifi compatibles avec Linux dépendent du chipset intégré à celles-ci. Les projets suivants permettent d'obtenir les drivers associés :

    Pour les cartes non supportées par les projets précédents, il existe 2 méthodes pour utiliser les drivers de Windows.

    Dommage, Stallman a inventé la GPL lorsqu"il s"est aperçu que le driver de son imprimante fraîchement achetée était propriétaire et à décider d'écrire un driver libre pour cette dernière sous GPL. A vous de choisir en consommateur averti, privilégiez dans la mesure du possible des cartes ayant des drivers libres.

    Installation d'une carte à base de chipset Prism GT/Duette/Indigo

    Installation du module

    Le module prism54 a été intégré dans le code officiel du noyau à partir du noyau 2.6.5 (version 1.1 des drivers). En revanche, les distributions récentes n'utilisant pas encore cette version de kernel (comme la Mandrake 10.0) intègrent ce module avec les patchs associés.

    Si le module est présent dans votre distribution, il doit se situer sous :

    /lib/modules/<version>/kernel/3rdparty/prism54 /lib/modules/<version>/kernel/net/wireless/prism54

    Si vous n'avez pas trouver ce module ou que vous voulez mettre à jour vos drivers, suivez la procédure présentée dans le fichier README du tarball du site http://www.prism54.org, sinon passez directement à l'installation du firmware.

    Installation du firmware

    Ce module nécessite un firmware (i.e. un binaire directement chargé par le système dans la carte). Sous Gnu/Linux, ce chargement est effectué par le logiciel hotplug.

    Le constructeur du chipset Prism GT est GlobespanVirata (racheté par Conexant http://www.conexant.com/). Ce firmware est propriétaire et n'est distribué que dans les drivers Windows : utilisez le fichier *.arm inclus. En effet, l'équipe de http://www.prism54.org/ n'a pas reçu l'autorisation de Conexant de redistribuer ce firmware même pour un usage non commercial.

    Récupérez donc le firmware dans les drivers Windows et copiez ce firmware dans le répertoire /usr/lib/hotplug/firmware. Ensuite, renommez ou mieux créez un lien symbolique vers ce fichier.

    Pour connaître le nom exact du fichier, tapez dmesg et repérer les lignes suivantes :

    NET: Registered protocol family 17
    ethX: islpci_open()
    ethX: resetting device...
    ethX: uploading firmware...
    prism54: request_firmware() failed for "isl3890"
    ethX: could not upload firmware ("isl3890")

    Pour créer un lien symbolique, entrez les commandes suivantes :

    cd /usr/lib/hotplug/firmware
    ln -s <fichier arm> isl3890

    Installation d'une carte à base de chipset Atheros

    Ajout de Dimitri CLATOT

    Installation des modules

    Les modules madwifi est encore en version beta mais fonctionnent sans problème. Si les modules sont présents dans votre distribution, ils doivent se situer sous :

    /lib/modules/<version>/net/ath_pci.ko
    /lib/modules/<version>/net/ath_hal.ko
    /lib/modules/<version>/net/wlan.ko

    Sinon, il existe sous forme de package (ici et ici pour Fedora) mais l'on peut utiliser la dernière version CVS. Pour cela, entrez les commandes suivantes :

    cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
    cd madwifi
    make
    make install

    Puis il faut rendre executable les modules ainsi créés:

    chmod +x /lib/modules/<version>/net/ath_pci.ko
    chmod +x /lib/modules/<version>/net/ath_hal.ko
    chmod +x /lib/modules/<version>/net/wlan.ko

    Pour une Fedora, si vous utilisez un noyau non compilé par vos soins, il faut au préalable un fichier .config, voici comment j'ai procédé :

    ln -s /usr/src/linux-2.X/configs/kernel-<version>.config /lib/modules/<version>/build/.config

    ainsi qu'installer le package sharutils :

    yum install sharutils

    On peut l'activer en utilisant la commande suivante :

    modprobe ath_pci

    Les fichiers de configuration détaillés par la suite sont indentiques à l'exception de remplacer ethX par athX

    Configuration d'une carte Wifi

    D'abord, installez les paquetages suivants :

    Configuration " simple "

    Cette configuration est déconseillée pour un usage privé (voir le paragraphe Sécurité sous Wifi), mais est très souvent la configuration par défaut des points d'accès.

    En revanche, cette configuration est la plus simple et conviendra parfaitement à des manifestation publique comme des Install-Parties. Elle pourra aussi avantageusement être utilisée pour tester et se familiariser avec la configuration de vos matériels.

    d'abord, configurez votre point d'accès avec les paramètres suivants (consultez la notice de votre équipement) :

    Ensuite, tapez la commande iwconfig pour connaître le nom de votre interface Wifi :

    lo no wireless extensions.

    ethX NOT READY! ESSID:off/any
    Mode:Managed Channel:6 Access Point: 00:00:00:00:00:00
    Tx-Power=31 dBm Sensitivity=0/200
    Retry min limit:0 RTS thr=0 B Fragment thr=0 B
    Encryption key:off
    Link Quality:0 Signal level:0 Noise level:0
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    Ici, l'interface Wifi est ethX. Pour demander une adresse IP au serveur DHCP, tapez la commande pump ethX

    Enfin, vérifiez les paramètres Wifi et IP de votre interface à l'aide des commandes iwconfig ethX et ifconfig ethX.

    Trouvez ci-desssous le résultat de la commande iwconfig ethX

    ethX IEEE 802.11b/g ESSID:"MY-SSID" Nickname:"bart"
    Mode:Managed Channel:11 Access Point: XX:YY:ZZ:XX:YY:ZZ
    Bit Rate:54Mb/s Tx-Power=31 dBm Sensitivity=20/200
    Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
    Encryption key:off
    Link Quality:179 Signal level:0 Noise level:66
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    Trouvez ci-dessous le résultat de la commande ifconfig ethX

    ethX Lien encap:Ethernet HWaddr XX:YY:ZZ:XX:YY:ZZ
    inet adr:192.168.0.3 Bcast:192.168.0.255 Masque:255.255.255.0
    adr inet6: fe80::209:5bff:fec8:d260/64 Scope:Lien
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1431 errors:0 dropped:0 overruns:0 frame:0
    TX packets:361 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 lg file transmission:1000
    RX bytes:218359 (213.2 Kb) TX bytes:49173 (48.0 Kb)
    Interruption:9

    Vous êtes maintenant connecté au réseau Wifi.

    Configuration " personnalisée "

    Configurez le mode de fonctionnement

    iwconfig ethX mode <mode>

    où mode est égal à : ad-hoc, managed

    Configurez, éventuellement, le canal utilisé

    iwconfig ethX channel <channel>

    où channel est égal à la valeur du canal utilisé

    Configurez, éventuellement, la clé WEP et le mode de connexion WEP

    iwconfig ethX key <key> <mode>

    où key est égal à la valeur de la clé choisie sur le point d'accès

    mode est la valeur du mode de connexion WEP : open ou restricted

    Configurez le SSID du réseau

    iwconfig ethX essid <SSID>

    où SSID est le nom du réseau

    Ces différents paramètres peuvent être renseignés dans le fichier /etc/sysconfig/network-scripts/ifcfg-ethX

    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.0.3
    NETMASK=255.255.255.0
    NETWORK=192.168.0.0
    BROADCAST=192.168.0.255
    ONBOOT=yes
    MII_NOT_SUPPORTED=yes

    # Wifif
    MODE=managed
    ESSID=MY-SSID
    CHANNEL=11
    KEY=XXYYZZ

    Ensuite, entrez la commande ifup ethX pour vérifier votre paramétrage.

    Sécurité sous Wifi

    Le réseau Wifi est un réseau sans fil dont la portée dépasse l'environnement dans lequel vous allez vous en servir : le Wifi, tout comme le réseau Internet, doit être considéré comme un milieu hostile.

    Les simples recommandations suivantes pourront sécuriser à un niveau acceptable pour la majorité des réseaux privés Wifi :

    Selon votre matériel et le niveau de sécurité désiré. vous pouvez suivre les recommandations suivantes, dans l'ordre croissant de sécurité (mais aussi de prix) :

    Haut


    Le packet-writing sous linux 2.6

    Par Couriousous

    Comment activer le Packet-writing avec un kernel 2.6.x

    Avertissement

    Attention : Si vous possédez un lecteur de CD-ROM de marque LG, cette méthode peut le rendre totalement inutilisable. En effet un patch similaire est connu pour avoir détruit certains lecteurs LG. Si vous tenez tout de même a utiliser le packet-writing avec un lecteur LG, flashez-le avec le nouveau firmware disponible sur le site de LG

    Qu'est-ce que c'est ?

    Le packet-writing consiste à utiliser un CDRW comme une clé USB ou une disquette. Cela permet d'y écrire sans utiliser cdrecord/cdrdao mais directement en plaçant les fichiers à graver dans le répertoire de montage du CD. On peut le comparer à Direct-CD sous Windows.

    Installation

    Patch du noyau

    Premièrement, il faudra patcher le noyau, et donc installer les sources de celui-ci. Utilisez si possible les packages de votre distribution, pour Mandrakelinux il suffit de faire :

    # urpmi kernel-source

    Téléchargez le patch. Si vous avez un kernel 2.6.8-rc2-1mdk ou approchant prenez ce patch. Placez-le dans le répertoire /usr/src/linux puis exécutez :

    patch -p1< packet-writing.patch

    Il arrive que patch sorte des erreurs, cela est majoritairement dû au fait que le kernel fourni par votre distribution est légèrement différent d'un kernel "vanilla". Repérer tous les fichiers qui ont échoué et patchez-les "à l'ancienne". C'est à dire en regardant ce qui se trouve dans le fichier .rej et en le replaçant au bon endroit dans le fichier à patcher. Ce n'est en général pas compliqué à faire car le patch donne les lignes juste avant l'endroit à patcher et juste après. Il ne reste plus qu'à trouver la zone à modifier.

    Recompilation du noyau

    Il suffit maintenant de recompiler le noyau avec le support pour le "packet-writing". Tapez make xconfig dans le répertoire des sources du noyau. Dans la section Block devices configurer Packet writing on CD/DVD media afin que celui-ci soit compilé en module. Vérifiez aussi dans la section CD-ROM/DVD Filesystems le système de fichier UDF soit activé.

    Maintenant, il suffit de lancer la compilation et l'installation du noyau comme à l'aide des commandes suivantes :

    # make
    # make modules_install
    # make install

    Et redémarrez sous le nouveau noyau.

    Installation des outils udf

    Il faut maitenant installer les outils pour formatter et utiliser les CDRW udf. Téléchargez le package udftools et faire :

    # tar xvfz udftools-1.0.0b3.tar.gz
    # cd udftools-1.0.0b3
    # ./configure
    # make
    # su -c make install

    Utilisation

    Préparation du CD

    Avant de pouvoir écrire sur le CD, il faut le formater. Cela s'exécute simplement avec la commande :

    cdrwtool -d /dev/cdrom -q

    Où /dev/cdrom est le graveur.

    Montage du CD

    Maintenant, nous allons dire au noyau d'associer le "disque virtuel" /dev/pktcdvd/0 au graveur de CD. Mais il faut d'abord charger le module pktcdvd si vous l'avez compilé en tant que module avec la commande modprobe pktcdvd , puis executez :

    pktsetup /dev/pktcdvd/0 /dev/cdrom

    Où /dev/cdrom est le graveur.

    Il n'est pas obligatoire qu'un CD soit dans le lecteur pour effectuer cette association. En effet, il est possible de lancer cette commande au démarrage ( par exemple dans le fichier /etc/rc5.d/S99local )

    Maintenant, nous pouvons enfin monter le disque avec la commande :

    # mkdir /mnt/udf
    # mount /dev/pktcdvd/0 /mnt/udf -o noatime,sync

    Et vous pouvez maitenant copier des fichier sur /mnt/udf comme si c'était un disque dur ou une clé usb. Ils seront gravés sur le CD automatiquement.

    Il faut toujours démonter le CD avant de l'ejecter du graveur, sinon il sera totalement corrompu !

    Il suffit de taper cette commande :

    # umount /mnt/udf

    Haut


    Deux utilisateurs simultanément sur un seul PC

    Thierry Chabot

    Avec Deux écrans, deux cartes graphiques deux souris, deux clavier MAIS un seul PC, on peut travailler à  deux en même temps.

    Introduction

    Après plusieurs essais infructueux, voici une configuration (sans doute pas la seule, mais celle que j'ai réussi) qui m'a permis de le faire.

    J'ai travaillé à  partir d'une Mandrake 10.0 avec le kernel 2.6.3-7mdk

    Mon matériel  :

    Prérequis

    Résumé du travail à  faire

    Le kernel

    Pour éviter les conflits entre les deux claviers, il faut empêcher le noyau 2.6 de reconnaître le clavier usb. Voici la procédure.

    Pour éviter les fautes de frappe, faites des copier/coller des instructions avec la souris (tout ce qui est sur fond jaune très pale encadré) dans une console, et ça doit aller tout seul.
    Pour savoir ou vous en êtes, vous pouvez cocher les petites cases à chaque étape. Ca détend et ce n'est pas forcément inutile...
    1. Télécharger et installer les sources du noyau 2.6.3-7
      urpmi kernel-source Si vous travaillez déjà avec ce noyau.
    2. Télécharger le patch
      wget http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/linux-2.6.2-disable-usb-keyboard.patch
      et le copier dans le répertoire /usr/src/linux-2.6.3-7mdk/ (en mode root)
      cp linux-2.6.2-disable-usb-keyboard.patch /usr/src/linux-2.6.3-7mdk/
    3. Patcher le noyau (en mode root)
      cd /usr/src/linux-2.6.3-7mdk/
      patch -p0 < linux-2.6.2-disable-usb-keyboard.patch
    4. Compiler (je n'ai eu à  changer aucune option)
      make clean && make bzImage && make modules && make modules_install *C'est très long (2h sur un 1,2 Ghz)
    5. Copier le nouveau noyau dans le répertoire /boot
      cp arch/i386/boot/bzImage /boot/vmlinux-2.6.3-7-usb
    6. Ajouter le nouveau noyau dans /etc/lilo.conf

      image=/boot/vmlinux-2.6.3-7-usb
      label="263-7-usb"
      root=/dev/hdxx (xx= a1, a2, b1 , etc.. voir les autres lignes du fichier)
      initrd=/boot/initrd-2.6.3-7mdk.img
      append="devfs=mount acpi=ht splash=silent"
      vga=788
      read-only

      *Je n'ai changé que les deux premières lignes par rapport aux autres images de lilo.
    7. Exécuter lilo pour que les changements soient pris en compte.
      lilo
    8. Vérifier si la modification a fonctionné  :
      cat /proc/bus/input/devices
      Avant de redémarrer sur le nouveau noyau,vous devez trouver pour les deux claviers une ligne du genre Handlers=kbd event1
      En démarrant sur le noyau modifié,vous devez trouver la même chose pour le clavier PS/2, mais pour le clavier usb les lettres "kdb" présentes dans l'ancien noyau doivent avoir disparu avec le nouveau noyau.

    XFree

    Il faut maintenant patcher Xfree pour pouvoir démarrer deux sessions (+clavier+souris) différentes en même temps. La mandrake 10.0 utilise la version 4.3 de Xfree.

    Les commandes sont à taper dans l'ordre indiqué en tant que simple utilisateur dans votre console et tout doit bien ce passer
    1. Télécharger les sources de XFree. Je ne sais plus pourquoi j'ai téléchargé des sources de XFree 4.4 (ça fonctionne avec XFree 4.3)
      mkdir sources-xfree
      cd sources-xfree/
      wget ftp://ftp.xfree86.org/pub/XFree86/4.4.0/source/XFree86-4.4.0-src*.tgz
    2. Décompresser les 7 fichiers sources téléchargés (je ne sais pas s'ils sont tous utiles)
      for i in *.tgz;do tar zxvf $i;done
    3. Télécharger le patch
      wget http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/XFree86-4.3.0-unified.patch *Le patch est fait pour XFree4.3, mais a fonctionné sans erreur avec XFree4.4.
    4. Patcher les sources de XFree dans le répertoire créé en décompressant  :
      patch -p1 < XFree86-4.3.0-unified.patch
    5. Entrer dans le répertoire créé lors de la décompression
      cd xc
    6. compiler (c'est à peu près aussi long que pour le noyau)
      make World >& world.log (en faisant dans un autre terminal un
      tail -f world.log _à  partir du même répertoire_ vous pouvez patienter en regardant ce que fait le compilateur). Si vous avez autant de chance que moi, la compilation réussira. (Il faut si besoin avoir installé "bison" et "flex" :urpmi...)
    7. Installer le nouveau XFree. Passer en mode root et taper:
      make install (il ne faut pas avoir changé de répertoire....)
    8. Redémarrer X pour voir si ça marche encore.
      *En cas de problème, pour retrouver votre ancien X il faut réinstaller la version fournie avec la distribution:
      rpm -i --replacefiles /mnt/cdrom/Mandrake/RPMS/XFree86-server-4.3-30mdk.i586.rpm(sans l'option replacefiles ça ne marche pas.). Il faut aussi réinstaller de la même manière XFree86-4.3-30mdk.i586.rpm XFree86-xfs-4.3-30mdk.i586.rpm et XFree86-75dpi-fonts-4.3-30mdk.i586.rpm
    9. * Retour d'expérience : Au redémarrage de la machine, X se lance, la souris marche, mais plus de clavier. Une solution :
      mv /etc/rc5.d/S30dm /etc/rc5.d/S99dm

    XFree (configuration)

    Si tout s'est bien passé, il faut maintenant modifier le fichier /etc/X11/XF86Config-4 pour qu'il gère le tout.

    Pour ne pas trop me casser la tête, j'ai utilisé DrakConf pour configurer ma carte AGP et son écran, copié XF86Config, puis recommencé avec ma carte PCI et son écran.
    Il m'a suffi ensuite de tout mettre dans le même en ne modifiant que quelques détails.

    Voici quelques lignes importantes de mon fichier de configuration.

    Les claviers

    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "Keyboard"
    Option "device" "/dev/input/event1"
    Option "Protocol" "usbev"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "fr"
    Option "XkbOptions" ""
    Option "XkbRules" "xfree86"
    EndSection

    Section "InputDevice"
    Identifier "Keyboard1"
    Driver "Keyboard"
    Option "Protocol" "usbev"
    Option "device" "/dev/input/event2"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "fr"
    Option "XkbOptions" ""
    EndSection

    * Important  : mon clavier PS/2 est le Keyboard0 et l'usb Keyboard1 mais il FAUT la ligne Option "Protocol" "usbev" sur les DEUX.
    Pour savoir sur quel /dev/input/eventX (ou /dev/input/mouseX) sont vos périphériques, tapez  :
    cat /dev/input/eventX et essayez les. Celui concerné envoie alors des caractères (n'importe quoi) sur la console.

    Les souris

    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "IMPS/2"
    Option "Device" "/dev/input/mouse0"
    Option "ZAxisMapping" "4 5"
    Option "Buttons" "3"
    EndSection

    Section "InputDevice"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "IMPS/2"
    Option "Device" "/dev/input/mouse1"
    Option "ZAxisMapping" "4 5"
    Option "Buttons" "3"
    EndSection

    * la configuration m'a semblé ici plus souple. J'ai une souris PS/2 (Mouse0) et une usb (Mouse1).
    Les écrans

    Section "Monitor"
    Identifier "monitor0"
    ....vos paramètres
    EndSection
    Section "Monitor"
    Identifier "monitor1"
    ....vos paramètres
    EndSection

    Les cartes graphiques

    Section "Device"
    Identifier "device1"
    BoardName "RIVA TNT2"
    Driver "nv"
    BusID "PCI:2:0:0"
    Option "DPMS"
    Option "IgnoreEDID" "1"
    EndSection

    Section "Device"
    Identifier "device0"
    Driver "s3virge"
    BusID "PCI:1:10:0"
    Option "DPMS"
    Option "IgnoreEDID" "1"
    EndSection

    * J'ai fait un certain nombre d'essais. Ca marche avec ces paramètres mais ils ne sont peut-être pas tous utiles.
    Pour trouver la valeur de BusID, taper  :
    lspci| grep VGA Pour moi, ça a donné  :
    01:0a.0 VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 01)
    02:00.0 VGA compatible controller: nVidia Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] (rev 15)

    Il faut transformer l'hexadécimal en décimal, et on a alors  :
    pour la carte S3virge  : 01:0a.0 donne dans XF86Config "PCI:1:10:0"
    et pour l'autre 02:00.0 donne "PCI:2:0:0"

    Rappel  : aux valeurs hexadécimales a, b, c, d, e et f correspondent les valeurs décimales 10, 11, 12, 13, 14 et 15.
    la section screen

    J'ai recopié tel que le contenu de la configuration des écrans, et ajouté pour l'un

    Identifier "screen0"
    Device "device0"
    Monitor "monitor0"

    et pour l'autre

    Identifier "screen1"
    Device "device1"
    Monitor "monitor1"

    Enfin la section ServerLayout

    Section "ServerLayout"
    Identifier "X0"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    Screen 0 "screen0" 0 0
    Option "IsolateDevice" "1:10:0"
    Option "SingleCard" "True"
    EndSection

    Section "ServerLayout"
    Identifier "X1"
    InputDevice "Keyboard1" "CoreKeyboard"
    InputDevice "Mouse1" "CorePointer"
    Screen 0 "screen1" 0 0
    Option "IsolateDevice" "2:0:0"
    Option "SingleCard" "True"
    EndSection

    * Là  encore, je ne sais pas si tout est utile (surtout les options)...
    Attention : l'écran primaire du bios (celui qui s'allume le premier, soit AGP soit PCI -pour moi le PCI-) DOIT être relié au obligatoirement au clavier PS/2 (ici tous les "0")

    Test et modification de xdm

    C'est presque fini.... Petit test pour voir ce que ça donne  :
    kde -- -layout X0 (ça doit marcher d'un coté)
    kde -- -layout X1 (ça doit marcher de l'autre coté)
    Voilà , c'est déjà  fini  !!

    NOTE : Je viens de réinstaller le driver propriétaire NVIDIA sans problème après ces manipulations. Il faut faire attention à  ne pas avoir la ligne Load "dri" dans la section Modules et changer nv par nvidia, comme avant. Celui qui veut la 3D sur ses deux cartes (si les 2 ne sont pas des NVIDIA), se reportera au "XFree-Local-multi-user-HOWTO" (le lien est ci-dessous).

    Problèmes connus

    1. Une barre noire horizontale apparait parfois sur l'écran primaire s'il n'y a pas d'utilisateur connecté.
    2. Il ne faut pas déplacer les connexions USB, cela change l'ordre des périphériques d'entrée dans /dev/input/eventX et il faut alors modifier XF86Config-4

    Extensions

    Philippe LAFORGE propose une solution pour pouvoir en plus utiliser xinemara (le même utilisateur utilise les deux écrans en même temps) :

    Sources de documentation

    Haut


    GPRS via bluetooth

    Par Plouf

    Introduction

    Ce document a pour objet de vous décrire la procédure de configuration et d'utilisation d'une connexion internet GPRS sur le réseau Orange en utilisant un téléphone Sony Ericsson™ T610i via Bluetooth sur un PC équipé d'une distribution MandrakeLinux 10.1.

    Le GPRS, pour General Packet Radio Service, vous permet de vous connecter sur Internet de partout, via votre téléphone portable, à une vitesse théorique de 115kb/s. Ce qui est très supérieur aux 9,6kb/s d'une connexion GSM "classique" ou meme aux 56kb/s d'une connexion RTC.

    Ce document a été créé avec nvu et est placé sous licence créative common ainsi que toutes les illustrations qui l'accompagnent.

    Prérequis

    Installation des drivers bluez et du gestionnaire bluetooth de kde

    Il vous faut maintenant installer les drivers bluez ainsi que le gestionnaire de périhpériques bluetooth de kde. Rassurez-vous, c'est très simple après avoir mis votre base urpmi à jour avec l'excellent easyurpmi.

    Ouvrez une console en tant que root et tapez :

    []root@MobileTux] # urpmi bluez bluez-utils bluez-pin kdebluetooth

    Une fois les rpms installés, il vous faut démarrer le service bluetooth. Pour ça, toujours avec les droits root tapez :

    [root@MobileTuX]# service bluetooth start
    Lancement des services Bluetooth : [ OK ]

    Initialisation et paramétrage de la connexion au téléphone

    Il est maintenant temps de connecter votre adaptateur bluetooth. Une fois celui-ci branché, allez dans le menu "connectivité" de votre téléphone et activez le bluetooth. Une fois le bluetooth activé, lancez la recherche de périphériques depuis votre téléphone qui devrait détecter votre PC et vous demander la clé de liaison.

    Rentrez alors un code pin de votre choix. Là kdebluetooth va ouvrir une fenetre vous invitant à rentrer le code pin corespondant à votre téléphone (le meme que celui que vous venez de rentrer. Notez que kdebluetooth nous affiche l'adresse MAC du téléphone, prenez bien soin de la noter. Elle va nous etre indispensable pour la suite.). Comme sur l'illustration ci-dessous :

    Une fois en possesion de l'adresse MAC du téléphone, nous allons déterminer sur quel canal se trouve l'interface de connexion réseau. Pour cela, on utilise sdptool avec la syntaxe suivante : spdptool browse suivit de l'adresse mac du téléphone.

    [plouf@MobileTuX]$ sdptool browse 00 :0e :07 :72 :05 :99
    Browsing 00 :0E :07 :72 :05 :99 ...
    Service Name : Dial-up Networking
    Service RecHandle : 0x10000
    Service Class ID List :
    "Dialup Networking" (0x1103)
    "Generic Networking" (0x1201)
    Protocol Descriptor List :
    "L2CAP" (0x0100)
    "RFCOMM" (0x0003)
    Channel : 1
    Profile Descriptor List :
    "Dialup Networking" (0x1103)
    Version : 0x0100

    On voit dans l'exemple que le canal utilisé par Dial-up Networking est le 1. Nous allons donc établir la connexion avec le téléphone sur le canal 1. On va pour cela utiliser rfcomm en root avec la syntaxe suivante : rfcomm connect 0 suivie de l'adresse MAC du téléphone.

    [root@MobileTuX]# rfcomm connect 0 00 :0e :07 :72 :05 :99 1
    Connected /dev/rfcomm0 to 00 :0E :07 :72 :05 :99 on channel 1
    Press CTRL-C for hangup

    Si vous avez ce message, c'est bon la connection s'établit, coupez-là en faisant CTRL + C.

    Installation de ppp et création des scripts de connexion

    Nous allons maintenant installer le paquet ppp et créer les scripts de connexion/déconnexion GPRS.

    Ces scripts fonctionnent pour le T610i et T68i sur le réseau Orange, mais peut-etre pour d'autres téléphones.

    Pour l'installation de ppp :

    [root@MobileTuX]# urpmi ppp

    Une fois ppp installé, on peut passer aux scripts de connexion/déconnexion. Pour cela deux solutions s'offrent à vous, soit vous vous occupez vous-meme de récupérer les scripts et de les placer dans /etc/ppp et de les rendre exécutables, soit d'utiliser mon script qui se chargera de tout. Si vous choisissez la première solution les scripts sont disponibles ci-dessous.

    Si vous choisisez d'utiliser mes scripts tapez ceci en root dans une console.

    [root@MobileTuX]# chmod +x gprs.sh

    Connexion GPRS

    On touche bientot au but, à savoir la connexion au Net via GPRS en elle-meme.
    Pour ça on va en premier établir la connexion PC >> téléphone avec rfcomm (comme on l'a fait dans la phase de test). En root bien sur.

    [root@MobileTuX]# rfcomm connect 0 00 :0e :07 :72 :05 :99 1
    Connected /dev/rfcomm0 to 00 :0E :07 :72 :05 :99 on channel 1
    Press CTRL-C for hangup

    C'est bon la connexion PC >> téléphone est effective. Surtout ne faites pas CTRL+C ça couperait la connexion. Maintenant ouvrez un deuxième onglet de console et toujours en root :

    [root@MobileTuX plouf]# pppd file /etc/ppp/GPRS
    Press CTRL-C to close the connection at any stage!
    defining PDP context...

    OK
    AT&F
    OK
    ATV1E0S0=0&D2&C1
    OK

    OK

    OK
    waiting for connect...


    CONNECT
    Connected.
    If the following ppp negotiations fail,
    try restarting the phone.

    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect : ppp0 <--> /dev/rfcomm0
    sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe3dc3443> <pcomp> <accomp>]
    rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp> <auth pap>]
    No auth is possible
    sent [LCP ConfRej id=0x1 <auth pap>]
    rcvd [LCP ConfRej id=0x1 <magic 0xe3dc3443>]
    sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
    rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
    sent [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
    rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
    sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
    sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
    rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
    rcvd [IPCP ConfReq id=0x1 <addr 212.234.96.90>]
    sent [IPCP ConfAck id=0x1 <addr 212.234.96.90>]
    rcvd [IPCP ConfNak id=0x1 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
    sent [IPCP ConfReq id=0x2 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
    rcvd [IPCP ConfAck id=0x2 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
    not replacing existing default route to wlan0 [192.168.0.1]
    local IP address 10.16.136.19
    remote IP address 212.234.96.90
    primary DNS address 194.51.3.56
    secondary DNS address 194.51.3.76
    Script /etc/ppp/ip-up started (pid 9053)
    Script /etc/ppp/ip-up finished (pid 9053), status = 0x0

    C'est bon la connexion Internet est établie. Ne fermez surtout pas les 2 shells précédement ouverts. Il ne vous reste plus qu'à profiter de votre connexion "nomade" pour faire de l'irc, du surf, etc... J'ai testé le GPRS sur un voyage en TGV Montpellier >> Paris et j'ai pu avoir une connexion à peu près stable. Prochain défi, Irc sur le viaduc de Millau :-). Pour couper la connexion un CTRL+C dans la deuxième console suffit. Vous aurez alors un résumé des statistiques de connexion.

    rcvd [LCP TermAck id=0x3]
    Connection terminated.
    Connect time 0.5 minutes.
    Sent 69 bytes, received 54 bytes.

    Sending break to the modem

    PDP context detached
    Serial link disconnected.
    Connect time 0.5 minutes.
    Sent 69 bytes, received 54 bytes.

    Références, remerciements

    Pour réaliser ce tuto, j'ai glané divers renseignements sur les sites suivants :

    Haut


    Installer et utiliser un Ipod sous linux

    par Matthieu PASTORE(matthieu-pastore@wanadoo.fr)

    Cet article a pour but de vous aider à installer votre Ipod sous linux, pour pouvoir vous en servir comme sous les autres OS. J'ajouterai même que les logiciels utilisés ici présentent une solution particulièrement efficace, et même bien plus efficace, à mon avis, que ce qui est fournit à l'origine avec les autres OS.

    Note : pour cet article je me suis basé sur ma configuration, c'est à dire une mandrake 10.1 official, KDE 3.2 et un Ipod-mini branché en USB.

    Attention : faites toujours attention à ce que vous faites, surtout en tant que root, je ne pourrais en aucun cas être tenu pour responsable des dommages que vous pourriez causer à votre matériel.

    Installation materielle

    Commencez par connecter l'Ipod. Puis se présentent plusieurs cas selon que vous utilisiez l'USB ou le firewire, et le type de système de fichiers de votre iPod : fat32 ou hfs.

    Monter le système de fichier

    La première chose à faire est de monter l'Ipod, si ça marche pour vous tant mieux, sinon il y aura quelques manipulations supplémentaires à réaliser.
    Il faut d'abord créer un répertoire pour accueillir le système de fichiers, /mnt/Ipod en principe. Vous pouvez bien sur créer et utiliser un autre répertoire de montage.
    Avec la commande mkdir, en tant que root :

    root@matthieu# mkdir /mnt/Ipod

    Ensuite il faut (essayer) de monter le système de fichiers. Puisque c'est un disque scsi, il est en principe attaché au fichier spécial /dev/sda ou /dev/sdb si c'est le deuxième dique, voir /dev/sdc...Vous avez deux possibilités, soit votre Ipod est en hfs :

    root@matthieu#mount -t hfsplus /dev/sda2 /mnt/Ipod

    soit il est en fat32 :

    root@matthieu#mount -t vfat /dev/sda2 /mnt/Ipod

    Avec un peu de chance, une de ces deux commandes fonctionnera. S'il y a un problème, suivez les instructions des paragraphes suivants.
    Sinon faites un ls dans le répertoire /mnt/Ipod, vous devriez voir apparaitre :

    root@matthieu#cd /mnt/Ipod
    root@Ipod#ls
    Calendars/ Contacts/ iPod_Control/ Notes/

    Là vous êtes un petit veinard et vous pouvez passer directement au paragraphe "automatiser les montages et démontages".

    Problèmes en USB

    Il se peut que les pilotes USB ne soient pas chargés.
    Il faut donc charger les modules usbcore, usb-storage, ohci-hcd et ehci-hcd :

    root@matthieu#modprobe usbcore
    root@matthieu#modprobe usb-storage
    root@matthieu#modprobe ohci-hcd
    root@matthieu#modprobe ehci-hcd

    Vérifiez ensuite qu'ils sont bien chargés par un lsmod. Ces modules ne sont peut-être pas inclus dans votre noyau, dans ce cas, il faudra recompiler celui-ci, allez voir dans la rubrique corespondante sur le site.
    Vérifiez que ça a fonctionné en réessayant de monter le système de fichiers.

    Problèmes en firewire

    Il se peut que les pilotes firewire ne soient pas chargés.
    Il faut donc charger les modules ieee1394, ohci1394 et sbp2 :

    root@matthieu#modprobe ieee1394
    root@matthieu#modprobe ohci1394
    root@matthieu#modprobe sbp2

    Verifiez ensuite qu'ils sont bien chargés par un lsmod.Ces modules ne sont peut-être pas inclus dans votre noyau, dans ce cas il faudra recompiler celui-ci, allez voir dans la rubrique corespondante sur le site.
    Vérifiez que ça a fonctionné en réessayant de monter le système de fichiers.

    Problèmes avec le FAT32

    Toujours pas ? Vous obtenez le doux message "Bad superblock" ou "invalid file system". Il reste une dernière solution, notament si votre Ipod utilise le système de fichiers FAT. Le problème vient d'une option du noyau, destinée à assurer la compatibilité avec un nouveau type de table de partition,EFI. Cette option fait que le système va en priorité chercher une table EFI à la fin du disque avant de rechercher une table de partition FAT classique en début de disque. Du coup le système de fichiers de l'Ipod n'est pas bien détecté.
    Vous pouvez modifier cela en supprimant le support des partition EFI dans le noyau. Il va falloir pour cela recompiler le noyau en suivant les instructions de l'article compiler noyau et modules. Lors de la configuration avec l'outil xconfig, il va falloir désélectionner le support des partitions EFI. Il se trouve dans File Systems,Partition Types, Enable Advance puis EFI GUID PARTITION SUPPORT :
    menus de xconfig

    Autrement vous pouvez modifier directement l'option CONFIG_EFI dans votre fichier .config (elle se trouve à la ligne 124 chez moi)
    Ensuite recompiler comme indiqué dans l'article compiler noyau et modules, rebootez sur le bon noyau et réessayez de monter votre iPod, tout doit fonctinner.

    Automatiser le montage et le démontage de l'iPod

    Editer /etc/fstab

    Il vous suffit maintenant de rajouter une entrée à votre fichier /etc/fstab. Voila ce que cela donne si votre baladeur est attaché à /dev/sda :

    root@matthieu#vi /etc/fstab
    /dev/hda5 / ext3 defaults 1 1
    /dev/hda7 /home ext3 defaults 1 2
    /dev/hdc /mnt/cdrom auto umask=0,user,iocharset=iso8859-15,codepage=850,noauto,ro,exec,users 0 0
    /dev/hdd /mnt/cdrom2 auto umask=0,user,iocharset=iso8859-15,codepage=850,noauto,ro,exec,users 0 0
    none /mnt/floppy supermount dev=/dev/fd0,fs=ext2 :vfat,--,umask=0,iocharset=iso8859-15,sync,codepage=850 0 0
    /dev/hda1 /mnt/windows ntfs umask=555,uid=matthieu 0 0
    none /proc proc defaults 0 0
    /dev/hda6 swap swap defaults 0 0
    /dev/sda2 /mnt/Ipod vfat umask=0,user,noauto 0 0

    Voilà, maintenant n'importe quel utilisateur pourra monter et démonter l' iPod en entrant simplement mount /mnt/iPod. Notez que ce n'est pas très sécurisé, mais cela facilite la configuration et comme l'iPod n'est pas censé être branché en permanence, il ne craint pas grand chose. De même, pour démonter le système de fichiers, indispensable avant de débrancher l'appareil, il suffira de rentrer umount /mnt/Ipod puis eject /mnt/Ipod (la commande eject doit toujours se faire en root, à moins que vous n'ayez configuré sudo). A ce moment, l'écran de l'iPod affiche "déconnexion autorisée" vous pouvez tout débrancher

    Faire simple avec KDE

    C'est une astuce pour aller encore plus vite.
    ipod sous KDE   ipod sous KDE
    Dans KDE, faites un clic doit sur le bureau, puis choisissez "nouveau, périphérique", "disque dur". Entrez le nom que vous voulez. Dans l'onglet périphérique, sélectionnez /dev/sda2(/mnt/Ipod)" (ou /dev/sdb2).
    Ensuite, il vous suffira de double-cliquer sur l'icone ainsi créée pour monter le système de fichiers ; et de même, un clic droit sur l'icone "Apple Ipod" vous permettra de démonter le système de fichiers.

    NOTE : l'éjection est toujours manuelle, sauf si vous avez configuré sudo, dans ce cas vous pouvez créer un "lien vers une application" avec la commande sudo eject /mnt/Ipod .

    Transférer des musiques et synchroniser

    Pour ce faire vouz pouvez utiliser l'excellent gtkpod. Vous pouvez bien sur utiliser d'autres logiciels, et même wine.
    gtkpod
    Pour l'installation, vous pouvez utiliser les sources (./configure, make && make install ) ou bien un des nombreux paquetages disponibles ( un simple urpmi gtkpod sous mandrake fera très bien l'affaire). Je ne vais pas m'éterniser sur l'utilisation du logiciel puisqu'il est très bien documenté, en français en plus.
    Notez simplement que chez moi le logiciel ne démonte pas correctement le système de fichier, il faut donc désactiver l'option corespondante.

    Pour encoder vos CD vous pouvez également utiliser l'excellent Grip.

    Le mot de la fin

    Comme vous le voyez, tout n'est pas forcément simple. Il faut souvent de la patience. Si vous avez des problèmes, des commentaires ou des suggestions à me faire parvenir n'hésitez surtout pas à me contacter. Notez qu'il y a certaines commandes que je n'ai pas pu essayé puisque mon Ipod est en FAT32 et qu'il est branché en USB, les commandes concernant le firewire et le système de fichier hfs sont donc directement tirés d'internet ; n'hésitez donc pas à me rectifier si cela ne fonctionne pas.

    Liens

    Haut


    Fin du chapitre