Précédent Remonter Suivant
Une erreur à corriger, une suggestion à faire, une contribution à apporter ? N'hésitez-plus ! Just write it!

Chapitre 8   Matériel/Périphériques





8.1  Vidéo -- Pilotes NVIDIA

8.1.1  Introduction

Cette partie a pour but de décrire l'installation des pilotes de carte graphique nvidia sur la distribution Debian GNU/Linux.

8.1.2  Pré-requis

Veillez à ce que les paquets suivants soient installés sur votre système avant de dérouler cette procédure. Les manipulations décrites ci-après doivent être réalisées par l'utilisateur 'root' ou en utilisant la commande 'sudo' fournie par le paquet du même nom.

Les pilotes nvidia utilisés lors de la rédaction sont en version 1.0.2880.


8.1.3  Recherche des paquets

Ici nous utilisons la commande «apt-cache search» pour rechercher des paquets avec le mot clé «nvidia».


# apt-cache search nvidia
nvclock - Allows you to overclock your nVidia card under GNU/Linux
nvclock-gtk - Allows you to overclock your nVidia card under GNU/Linux
nvclock-qt - Allows you to overclock your nVidia card under GNU/Linux
nvtv - tool to control the TV chips on NVidia cards under Linux
utah-glx - Hardware accelerated GLX module for XFree86
xserver-svga - X server for SVGA graphics cards
nvidia-glx-src - NVIDIA binary XFree86 4.x driver
nvidia-kernel-src - NVIDIA binary kernel module

Ce sont les deux paquets nvidia-glx-src et nvidia-kernel-src qui nous interressent.

8.1.4  Installation des paquets

Ancien pilote

Si vous avez une version de ces pilotes déjà installée, vous devez d'abord les désinstaller en purgeant les paquets correspondants. Pour cela faites :

 # apt-get remove --purge nvidia-glx* nvidia-glx-dev* nvidia-kernel*

Ici nous utilisons la commande ``apt-get install'' pour installer les paquets avec en argument, le nom des deux paquets.

# apt-get install nvidia-glx-src nvidia-kernel-src

Deux choses ont été ajoutées dans le répertoire /usr/src/:
Installation du noyau nvidia


# cd /usr/src/
/usr/src# tar -zxf nvidia-kernel-src.tar.gz
/usr/src# cd linux (ou votre répertoire des sources du noyau)
/usr/src/linux# make-kpkg modules_image
/usr/src/linux# cd /usr/src
/usr/src# dpkg -i nvidia-kernel-KVER*.deb

Note:
Il est conseillé de ne pas nettoyer l'arborescence des sources du noyau entre la commande "make-kpkg kernel_image" et "make-kpkg modules_image".

Installation du GLX


# cd /usr/src/nvidia-glx-1.0.2880
/usr/src/nvidia-glx-1.0.2880# dpkg-buildpackage -us -uc
/usr/src/nvidia-glx-1.0.2880# cd /usr/src
/usr/src# dpkg -i nvidia-glx*.deb

Sans les sources du noyau

Cette manipulation servira surtout aux personnes qui utilisent les images de noyau sous forme de paquet Debian (exemple : kernel-image-2.4.18-bf2.4).

Installation du noyau nvidia


# apt-get install nvidia-kernel-src nvidia-glx-src kernel-headers-2.4.18-bf2.4
# cd /usr/src/
/usr/src# tar xvfz nvidia-kernel-src.tar.gz
/usr/src# export KSRC=/usr/src/kernel-headers-2.4.18-bf2.4
/usr/src# export KVERS=2.4.18-bf2.4
/usr/src# cd modules/nvidia-kernel-1.0.2880
/modules/nvidia-kernel-1.0.2880# sudo debian/rules binary_modules
/modules/nvidia-kernel-1.0.2880# cd /usr/src/
/usr/src# dpkg -i nvidia-kernel-KVER*.deb

Installation du GLX


# cd /usr/src/nvidia-glx-1.0.2880
/usr/src/nvidia-glx-1.0.2880# dpkg-buildpackage -us -uc
/usr/src/nvidia-glx-1.0.2880# cd /usr/src
/usr/src# dpkg -i nvidia-glx*.deb

8.1.5  Sans ligne Internet

Si vous n'avez pas de connection Internet il faudra quand même se procurer les archives suivantes puis les mettre dans le dossier '/usr/src/' avant toutes manipulations : Naturellement vous aurez aussi besoin des autres paquets cités dans ce document.

8.1.6  Nettoyage

Après l'installation beaucoup de fichiers se trouvent dans le répertoire /usr/src/ , nous allons donc faire un petit nettoyage :

# apt-get remove --purge nvidia-kernel-src nvidia-glx-src
# cd /usr/src/
/usr/src# rm *.dsc *.changes
/usr/src# rm nvidia-glx_1.0.2880.tar.gz
/usr/src# mkdir backup
/usr/src# mv nvidia* backup/

8.1.7  Le groupe 'video'

Vous devez ajouter chaque utilisateur susceptible d'utiliser des applications OpenGL dans le groupe video . Pour ceci faites (pour l'utilisateur 'utilisateur') :
adduser utilisateur video

8.1.8  Modification du fichier /etc/X11/XF86Config-4

Section «Device»
Remplacez le driver ('nv' ou 'vesa') existant par le driver 'nvidia'.

Exemple :

Section "Device"
        Identifier      "Elsa Erazor x2 32Mo DDR"
        Driver          "nvidia"
EndSection

Section "Module"
Assurez-vous d'avoir la ligne suivante :

        Load   "glx"
et commentez les lignes suivantes :

#        Load  "dri"
#        Load  "GLcore"

Pour éviter d'être ennuyé à chaque mise à jour de XFree je vous conseille de faire :

# dpkg-reconfigure xserver-xfree86
de choisir 'nvidia' comme driver et de décocher les modules 'dri' et 'GLcore'.

Redemarrez votre serveur X, le tour est joué...(enfin j'espère).


8.1.9  Chipset supportés

RIVA TNT GeForce4 440 Go
RIVA TNT2 GeForce4 420 Go
RIVA TNT2 Ultra GeForce4 420 Go 32M
Vanta Quadro4 500 XGL
RIVA TNT2 Model 64 GeForce4 440 Go 64M
Aladdin TNT2 Quadro4 200/400 NVS
GeForce 256 Quadro4 550 XGL
GeForce DDR Quadro4 500 GoGL
Quadro GeForce2 Integrated GPU
GeForce2 MX/MX 400 GeForce3
GeForce2 MX 100/200 GeForce3 Ti 200
GeForce2 Go GeForce3 Ti 500
Quadro2 MXR/EX/Go Quadro DCC
GeForce2 GTS GeForce4 Ti 4600
GeForce2 Ti GeForce4 Ti 4400
GeForce2 Ultra GeForce4 Ti 4200
Quadro2 Pro Quadro4 900 XGL
GeForce4 MX 460 Quadro4 750 XGL
GeForce4 MX 440 Quadro4 700 XGL
GeForce4 MX 420  

Configurations testées avec succès :
carte graphique chipset Geforce 256 32Mo DDR
noyau GNU/Linux 2.4.17
XFree version 4.x
carte graphique chipset Geforce 4 Ti 4200 64Mo DDR
noyau GNU/Linux 2.4.19
XFree version 4.x

8.1.10  Documentation

Voici les sources de documentation utilisées pour faire ce document :
  • less /usr/share/doc/nvidia-glx-src/README.Debian
  • zless /usr/share/doc/nvidia-glx/README.gz
  • less /usr/share/doc/nvidia-kernel-src/README.Debian

8.2  Modem ADSL Sagem F@st 800

8.2.1  Attention, mise à jour

Il est apparemment recommandé d'utiliser désormais le pilote fourni par http://eagle-usb.fr.st/. Le site fourni également de la documentation.

Même si les instruction présentées ci-dessous sont donc probablement obsolètes, elles sont préservées dans ce document pour leur caractère «tutorial» sur ce genre de manipulation.

D'après
http://dim.tuxfamily.org
  • Dimitri
  • Dominique Rousseau
Free1 propose une offre d'accès Internet à haut-débit, Free ADSL2. Tout content, vous avez souscrit à l'offre la moins chère du marché, et venez de recevoir le modem fourni avec : un Sagem F@st 800 !

8.2.2  Pré-requis

Si vous installez debian à partir des CDs de la woody, utilisez le noyau bf24, il permet d'obtenir dès l'install le support USB.
  • Le pilote de votre modem : pilotes sagem http://extranet.sagem.com/ama90/
  • Afin de pouvoir compiler les différents programmes dont on parle, il faudra installer les paquets gcc, make et bin86.
  • Pour compiler le pilote proprement dit, gcc-3.0.
  • Les sources du noyau avec lequel vous comptez utiliser le pilote. En installant à partir du CD, le mieux est certainement d'installer le package kernel-source-2.4.18 et de se le compiler pour sa machine, sans oublier le support ppp et slhc.

    Ceci dit, je n'ai pas scanné les 7 CDs de la woody, il y a peut être donc aussi les paquets binaires du noyau (kernel-image-2.4.18-*
    ), j'ai préféré recompiler directement les sources que j'avais plutôt que de chercher...
  • Pour pouvoir paramétrer le noyau, dans le cas où vous le compilez vous-même, il vous faudra libncurses5-dev.
  • Le démon ppp, évidemment !
  • Votre noyau doit inclure le support USB (Voir 8.4), et il faudra penser à charger le module acm .
Récapitulons :

gcc-3.0 , gcc , make , bin86 , ppp , pppoe , libncurses5-dev .

8.2.3  Installation

Les pilotes sont fournis avec des scripts d'installation. Ils fonctionnent sans problème sur une Mandrake (testé avec la 8.2) et disent être prévus pour fonctionner également avec une distribution au chapeau rouge (la Red Hat, quoi).

En regardant les scripts d'install, j'ai préféré ne pas les essayer sous debian. Ils commencent par créer des répertoires dans /usr
, dont les noms commencent par ADI. Cela n'est pas très propre.

Il y a donc plusieurs composants à mettre en place, on les trouvera dans l'archive fournie par sagem
3 :
  • Le pilote du modem, qui permet au noyau de savoir lui causer
  • Le pilote pppoa, qui permet à ppp d'utiliser le modem
  • Un peu de configuration pour que tout fonctionne ensemble correctement

Préparation du noyau

Le pilote consiste (en partie) en un module noyau à compiler. Il est donc nécessaire de disposer au minimum des entêtes du noyau et du .config ayant permis d'obtenir le binaire. Vous avez donc 2 choix :
  1. compiler votre propre noyau,
  2. ou utiliser l'image installée par Debian (la version bf24 de l'install fonctionne a priori sans soucis).

Compilation du noyau

  • Consulter également 7
En plus de vos options personnelles, prévoir au minimum
  • le support PPP penser à cocher
    • « PPP sync TTY » ,
    • « PPP support for async serial ports » ,
    • « PPP over Ethernet » ,
    • et « PPP over ATM » ,


  • le support USB, cocher
    • 'USB dev fs'
    • et les pilotes UHCI/OHCI,
    • le support ATM (pour le mode PPPoA).
Pour certaines de ces options, il faut activer les fonctionnalités expérimentales (vous pouvez pas le rater, c'est tout au début de la config).
Astuce
Si jamais cela ne fonctionne pas, vous pouvez recompiler votre noyau en cochant toutes les options de PPP !
Et il faudra même faire une chose que les debianeurs vont me reprocher, mais nécessaire à la construction du pilote fourni :
$ cd /usr/src

$ tar xjf kernel-source-2.4.18.tar.bz2

$ ln -s kernel-source-2.4.18 linux

Utilisation du noyau debian installé

Installez le paquet des sources correspondant à votre version (kernel-source-xxx), et décompressez les :
# cd /usr/src

# tar xjf kernel-source-2.4.18.tar.bz2

# ln -s kernel-source-2.4.18 linux 

# cd linux
Recopiez le fichier de config du noyau installé, pour le bf24, ça donne quelque chose comme ça :
# cp /boot/config-2.4.18-bf2.4 /usr/src/linux/.config
Pour éviter les soucis avec depmod, il faut ajouter le suffixe dans le Makefile, de façon à avoir un truc du genre :
VERSION = 2

PATCHLEVEL = 4

SUBLEVEL = 18

EXTRAVERSION = -bf2.4
Je ne suis pas certain que ce soit absolument nécessaire, mais refaire un make config après cela ne fait pas de mal.
$ cd /usr/src/linux && make config
Appuyez juste sur <enter> autant de fois que nécessaire sans rien modifier. (si appuyer sur <enter> vous gave, vous pouvez vous débrouiller avec un pipe et les commandes 'yes' et 'tr' :) À la suite de ça, lancez un make dep qui va générer les versions de symbole qui vont bien pour la configuration que vous avez.

8.2.4  Compilation et installation du pilote

On a donc décompressé l'archive qui contient tout ça, et on a obtenu un répertoire driver. Je ne vais pas vous suprendre en disant qu'il faut aller voir là dedans.

Compilation

Plutôt que d'utiliser les scripts fournis, on va tout faire nous-même, cela ressembe à ça :
$ cd /tmp

$ mkdir sagem

$ cd sagem

$ tar xf /recup/installLinux101.tar

$ cd driver

$ tar xzf ADI_LINUX.tar
À ce moment là, il faut modifier le Makefile afin d'utiliser la bonne version de gcc. On remplace donc la ligne CC = gcc par la ligne CC = gcc-3.0.

On peut ensuite reprendre avec :
$ make ; cd USER ; make
En cas de soucis à faire fonctionner le pilote avec gcc-3.0 (par exemple, segfault au moment de l'insertion du module adiusbadsl ), il existe une version patchée, disponible sur le site suivant http://www.minet.net/pierre/sagem/ qui se compile avec gcc-2.95.

Installation

Ensuite on va pouvoir installer le pilote, c'est à dire :
$ cp adictrl /usr/local/bin

$ cd ..

$ cp adiusbadsl.o /lib/modules/2.4.18/kernel/drivers/usb

$ depmod -a
Alors attention, si jamais vous recompilez le noyau après cette étape, sachez que le make modules_install dégagera votre module à vous, il faudra donc le remettre en place. Il existe peut être une méthode permettant d'indiquer que ce module doit rester en place, je ne la connais pas.

Si vous n'utilisez pas une debian
, pensez à modifier le numéro de version du noyau dans les lignes ci-dessus. Pour obtenir la version qui tourne « en ce moment » on tapera :
$ uname -r

Configuration

Le modem Sagem est capable de fonctionner dans deux modes d'encapsulation : PPPoE et PPPoA. Le PPPoE risque de provoquer des problèmes de MTU (timeout sur certains sites mal configurés...). Le PPPoA semble avoir quelque soucis d'étanchéité dans sa gestion de mémoire.

Lors des manips, si vous essayez de passer de PPPoE
à PPPoA, il sera sans doute nécessaire de débrancher physiquement le modem, à la fois du port USB et de la ligne tléphonique pour permettre à tout ce petit monde de se remettre à sa configuration par défaut.

Le pilote sagem s'attend à trouver sa configuration et quelques autres fichiers dans /etc/analog
, nous allons les lui fournir :
$ mkdir /etc/analog

$ cp /tmp/sagem/driver/OTHER/* /etc/analog
Il faut éditer le fichier /etc/analog/adiusbadsl.conf afin de modifier le champ Encapsulation.
  • Pour le PPPoA, Encapsulation=00000006.
  • Pour le PPPoE, Encapsulation=00000001.
On peut donc d'ores et déjà préparer le système à utiliser tout cela automatiquement dès le démarage :
$ echo adiusbadsl > > /etc/modules
On va ensuite ajouter les lignes suivantes dans le fichier /etc/network/interfaces
auto ADIModem

iface ADIModem inet static

        address 192.168.60.30

        netmask 255.255.255.0

Test

Normalement, une fois que tout cela est fait, le pilote est prêt. On peut vérifier :
$ mount -t usbdevfs none /proc/bus/usb

$ modprobe adiusbadsl

$ ifconfig ADIModem up
En effet, le chargement du module devrait faire apparaître une nouvelle interface réseau, vous aviez deviné que son petit nom est ADIModem ! La première des trois ligne ci-dessus permet d'obtenir l'entrée usb pour le noyau, sans laquelle le modem et son pilote ne pourront pas dialoguer. La section 8.4.2 indique comment configurer le système pour qu'il active correctement le support de l'USB.

À la suite de ces manipulations, vous devriez voir un fichier /proc/adimodem dont le contenu est intéressant, en particulier la dernière ligne (elle correspond ici à l'erreur obtenue si l'on n'a pas monté
/proc/bus/usb ) :
cat /proc/adimodem

Analog Devices USB ADSL Modem Status Display

-------------------------------------------------------------

Tx Rate  0x00000000  Rx Rate  0x00000000  Crc      0x00000000

FEC      0x00000000  Margin   0x00000000  Atten    0x00000000

VID-CPE  0x00000000  VID-CO   0x00000000  HEC      0x00000000

VPI      0x00000000  VCI      0x00000000  Delin    GOOD

Cells Rx 0x00000000  Cells Tx 0x00000000

Pkts Rx  0x00000000  Pkts Tx  0x00000000

===ICI> > >Modem waiting for driver response.

Problèmes divers, USB, hotplug

  • Voir également (hotplug 8.4.3)
Le problème c'est que ce miracle d'installation est pris en charge par hotplug, qui n'est pas bien configuré sur ma machine, et qui ne fait pas tout proprement. Donc voici les équivalence de ce que hotplug fait.
  • chargement du pilote

$ insmod adiusbadsl
$ insmod acm
  • déclaration d'une interface de comm
ifconfig -a

ADIModem Link encap:Ethernet HWaddr 00:60:4C:0B:54:C8

    BROADCAST MULTICAST MTU:1500 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:100 
Attention cette interface n'apparait pas si vous faite ifconfig, car elle n'est pas montée. Si elle n'est pas montée, le démon ppp qui va chercher à monter son interface réelle ne pourra pas dialoguer avec votre liaison physique représentée par cette interface . Il faut donc monter cette interface pour la rendre active. Il est inutile de lui associer une adresse IP, car il s'agit d'une liaison point à point qui n'est pas IP (dans le script fournit par free, ils donnent une adresse IP lors du montage de l'interface, mais ca ne sert absolument à rien). Il suffit de faire :
ifconfig ADIModem up
L'interface doit maitenant apparaitre en faisant un simple ifconfig (elle n'a pas d'adresse IP associée).

Si vous avez oublié de monter l'interface, voici le message de log
cat /var/log/message

Nov 15 01:22:16 ares-frenot-2 pppoe[1600]: send (sendPacket): Network is down 
Lorsque le modem s'initialize, les 2 diodes clignotent, jusqu'à la synchronisation. Pour vérifier que le modem est opérationnel, il faut regarder la dernière ligne du fichier /proc/adimodem jusqu'à obtenir :
Modem is operational 
Pour regarger cette dernière ligne, la commande suivante sera certainement très utile :
$ tail -1 /proc/adimodem

8.2.5  Compilation et installation de pppoa

Cette opération ne concerne que ceux d'entre vous qui aurons choisi la méthode de connexion pppoa, sachant qu'il est possible de se connecter en utilisant pppoe.

Cette fois, plaçons nous dans le répertoire pppoa
de l'archive fournie, et réaliser le même genre de manipulations que précédemment. Notons toutefois qu'il n'est cette fois pas nécessaire d'utiliser la version 3 de gcc pour compiler pppoa.
$ cd /tmp/sagem/pppoa

$ tar xzf ADI_PPPOA.tar

$ make

$ cp pppoa /usr/local/sbin/pppoa
Et voilà, on a compilé et installé pppoa !

8.2.6  Configuration du système

Si vous avez bien suivi tout ce que nous venons de faire, alors vous aurez remarqué que j'ai un peu triché, nous avons déjà commencé à configurer le système, en lui ajoutant le module adiusbadsl à charger au démarrage, et en lui indiquant d'initialiser l'interface réseau que ce module fourni.

8.2.7  Support ppp et usb

On va commencer par dire au système de charger dès que possible de module fournissant ppp au noyau, ainsi que celui permettant la gestion de l'USB :
$ echo ppp_synctty > > /etc/modules

$ echo acm > > /etc/modules
RedHat:
dans le cas où vous auriez à mettre en place le support USB par vous même :
$ insmod usbcore

$ insmod usb-uhci
Si vous n'avez pas installé le paquet hotplug (qui est pourtant bien pratique pour tout ce qui touche à l'USB), il sera peut-être nécessaire d'activer correctement le support USB (cf 8.4.2).

8.2.8  Configuration de ppp

Ensuite, il va falloir penser à configurer le démon ppp :
$ cp /etc/ppp/options /etc/ppp/options.orig

$ cp /tmp/sagem/pppoa/PPP_CONF/options /etc/ppp
Il faut également éditer les fichiers /etc/ppp/chap_secrets et /etc/ppp/pap_secrets et y mettre votre login et votre mot de passe.

Le fichier
/etc/ppp/options doit également être édité, afin d'enlever la ligne user. En effet, ce fichier comporte les options valables pour toutes les connexions ppp du système, et ne doit donc pas contenir cette information. On préfèrera donc indiquer ça dans un fichier /etc/ppp/peers/free 4, qui devra ressembler à ça :

user "0123456789@freedsl"{}

# en fonction de votre configuration
# choisissez l'une des deux lignes ci-dessous 

pty "/usr/local/sbin/pppoa -I ADIModem -T 80"  

# pty "/usr/sbin/pppoe -I ADIModem -T 80 -m 1452"
defaultroute
On ajoutera dans le fichier /etc/ppp/option l'option permettant d'obtenir plus d'informations dans les logs :
debug
Il reste encore un fichier à créer afin de permettre l'accès à free, il s'agit du fichier /etc/ppp/ppp_on_boot.free , contenant les lignes suivantes :
# The location of the ppp daemon itself (shouldn't need to be changed)

PPPD=/usr/sbin/pppd

 

# The default provider to connect to 

$PPPD call free

 

# On vérifie que tout est bon

/sbin/modprobe adiusbadsl

/sbin/ifup ADIModem

/usr/local/bin/adictrl

# on laisse le temps au modem de se synchroniser
5

sleep 20
Ensuite, afin que ppp soit lancé dès le démarage du système :
$ ln -s /etc/ppp/ppp_on_boot.free /etc/ppp/ppp_on_boot

8.2.9  Reconnection automatique

France Télécom déclenchant une déconnexion toutes les 24h, il est nécessaire de penser aux reconnections automatiques. Pour celà, 2 options aident dans le fichier /etc/ppp/peers/free  :
persist

maxfail 0
Il peut également être intéressant de déclencher soit même la déconnexion à une heure qui nous arrange, en ajoutant une entrée dans la crontab :
PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin:/usr/local/sbin

15 6 * * * (poff free ; pon free)
Attention, un /etc/init.d/ppp restart risque de faire de drôles de choses, car il relance le contenu de /etc/ppp/ppp_on_boot , et il semble que le Sagem n'aime pas trop qu'on lui charge plusieurs fois le firmware :)

8.2.10  Test

On peut donc maintenant tester cela en tapant les commandes :
modprobe adiusbadsl

ifconfig ADIModem up

adictrl

Ce sont là les commandes à lancer avant de pouvoir profiter du modem, celles que l'on a placé dans le script de lancement automatique de la connexion au démarage. Il faut attendre que les deux loupiottes du modem soient allumées avant de pouvoir passer à la suite :
pon free

Vous devriez être connectés, si ce n'est pas le cas, les logs sont dans le fichier
/var/log/messages , il est indispensable de regarder là dedans ce qui se passe avant toute réclamation !

8.2.11  Conclusion

Normalement, ça devrait marcher. C'est à dire que le matériel est reconnu puis configuré au démarage, et que ppp est lancé automatiquement, et se branche sur la connexion de free.

Si évidemment vous avez des éléments permettant d'améliorer le présent document, n'hésitez pas à me les faire parvenir !

Quelques éléments récents :
  • Il semblerait que le pilote proposé par sagem ne soit pas satisfaisant, il contiendrait une fuite de mémoire qui pousse le noyau à swapper « comme un malade », rendant l'utilisation du poste rapidement impossible
  • Un autre pilote serait en train d'être développé, profitant de l'ouverture des sources fournies

8.3  Les capteurs physiques

  • Sébastien Person (Nov. 2002)

8.3.1  Préambule


(FIXME) Mettre une petite intro

L'installation décrite ci-dessous a été effectuée sur un noyau 2.4.19 sous sarge. Cela devrait marcher pour tous les noyaux >= 2.4.13.

Il faut activer dans la configuration de son noyau la prise en charge de l'I2C.


I2C: Inter Integrated Circuit bus.
C'est un bus de communication série, inventé par Philips, qui permet à plusieurs composants électroniques d'échanger des informations en n'utilisant que deux lignes physiques. Ce bus est typiquement utilisé pour la configuration de nombreux composants tels que convertisseurs analogiques/digitaux audio et vidéo, ainsi que de nombreux autres capteurs.

Character devices->I2C support->
 - I2C support = y
 - I2C device interface = m
 - I2C /proc interface = y
Bien entendu vous êtes libre de choisir si vous préférez l'avoir sous forme de module ou non.

8.3.2  Recompilation

Ensuite il reste à récupérer les sources du package. Un simple :
apt-get install lm-sensors-source

devrait suffire.

On se retrouve alors avec fichier /usr/src/lm-sensors.tar.gz.
Il ne reste plus qu'à le décompresser, pour obtenir un répertoire /usr/src/modules/lm-sensors .

Ensuite, se placer dans </usr/src/linux> et recompiler les modules.

  $cd /usr/src
  $tar xzvf lm-sensors.tar.gz
  $cd linux
  $fakeroot make-kpkg modules-image
Installer le paquet obtenu :

  #dpkg -i ../lm-sensors-<kernel version>.deb

8.3.3  Configuration

Il reste encore à configurer lm-sensors. Pour cela, il faut lancer le script de détection des capteurs.
sensors-detect

Il ne reste plus qu'à suivre les instructions données par le script.

Pour exploiter les capteurs, on peut utiliser des logiciels tiers. Entre autres :
Pour la configuration de certains capteurs, il peut être utile de jeter un oeil à /etc/sensors.conf qui donne le nom des capteurs.

Par exemple pour le via686a-isa-6000 on apprend que la température du processeur est associée avec Temp2.


8.4  USB

8.4.1  Introduction

«Universal Serial Bus» (USB) est une norme développée depuis 1994 par les partenaires industriels Compaq, Intel, Microsoft et NEC. Elle décrit un bus de communication pour les périphériques et se donnant comme objectifs initiaux :
  1. connecter les PCs au téléphone
  2. utilisation facile
  3. connectique extensible
Concrètement, les machines récentes sont livrées avec au moins un connecteur USB sur lequel il est théoriquement possible de brancher 127 périphériques de tous types (imprimantes, scanner, disques, modem, photo numérique, ...). Les cartes mères sont généralement pourvues d'un contrôleur USB compatibles avec l'un des deux standards :
OHCI
Open Host Controller Interface (Compaq)
UHCI
Universal Host Controller Interface (Intel)
En théorie le taux de transfert escompté est de 12Mbit/s, mais en pratique dans les meilleurs cas il ne peut dépasser 8Mbits/s et dans la majorité des utilisations le débit stagne à 2M/bits. La nouvelle norme USB2.0 promet un débit théorique de 480 Mbit/s !

8.4.2  Base

Activer le support USB
Pour l'USB, l'utilisation d'un noyau 2.4 est préférable même si le support USB est maintenant disponible pour les noyaux 2.2

Avoir le support USB activé ! C'est à dire, dans la config du noyau
  • «Support for USB»,
  • «Preliminary USB device filesystem»
et monter le système de fichier virtuel (/proc/bus/usb ) permettant de gérer l'USB.
  • ajouter dans le fichier /etc/fstab , une entrée de la forme usbdevfs /proc/bus/usb usbdevfs defaults 0 0

  • «à la main», mount /proc/bus/usb usbdevfs -t usbdevfs
Pratique!
  • sudo tail -f /var/log/messages

    La commande ci-desssus exécutée avant de brancher un périphérique USB (ou non!) permet de suivre les évènements systèmes correspondant. Cela donne pas mal d'informations et permet donc d'aider au déverminage.


  • utiliser l'applicatif usbview pour visualiser la structure hiérarchique du bus USB.

  • cat /proc/bus/usb/drivers

    permet d'obtenir la liste des pilotes chargés (même s'il n'y pas de périphérique correspondant)


  • cat /proc/bus/usb/devices

    permet d'obtenir la liste des périphériques détectés sur le bus USB
Exemple
Le branchement d'un flash-drive (cf ci-après) génère le message suivant

hub.c: USB new device connect on bus1/1, assigned device number 6
Manufacturer: USB
Product: Solid state disk
SerialNumber: 1E4207E33D900311
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: USB       Model: HD                Rev: 1.11
Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 64512 512-byte hdwr sectors (33 MB)
sda: Write Protect is off
sda:<7>usb-storage: queuecommand() called
sda1

8.4.3  Hotplug

Afin de connecter facilement et automatiquement des périphériques USB, le système GNU/Linux est désormais fourni avec l'utilitaire hotplug .

L'utilisation d'hotplug permet une autoconfiguration (au moins partielle) du système et dispense donc l'utilisateur de tâches d'administration souvent ardues.

Cette fonctionnalité est essentiellement basée sur :
  • un ensemble de fichiers de configuration localisés dans (/etc/hotplug )
  • le démon correspondant (cf /etc/init.d/hotplug qui prend en charge la détection et le chargement des modules correspondants aux périphériques connectés.
Sous Debian, le fichier de configuration basique est déplacé en /etc/default/hotplug.usb .

L'utilisation de hotplug permet donc d'optimiser (réduire) le contenu du fichier
/etc/modules qui force le chargement de modules lors de l'initialisation du système. Après avoir vérifié que le branchement d'un périphérique provoque bien le chargement du bon module, on supprimera les lignes inutiles de ce fichier.


Le site de développement «hotplug»
http://linux-hotplug.sourceforge.net/

8.4.4  Flash Drive / Disk On Key

  • Grégory Simon
Une photo ? (440ko) ...

Un «flash drive» est une unité de stockage ayant toutes les fonctionnalités d'un disque dur traditionel. Ce sont en fait des petits modules de mémoire souvent présentés en forme de briquet ou de stylo. Ils peuvent avoir des capacités de 32, 64, 128, 256, 512 ou 1024 mégaoctets.

Ils ont pour but de faciliter le transfert de données d'un ordinateur à un autre et d'être universel car le port USB est présent sur la plupart des équipements récents.

La liste des modules nécessaires pour supporter les «USB Flash Drive» (en plus du support USB de base)
usb-storage [USB Mass Storage support] hotplug
sd_mod [SCSI Disk support]
scsi_mod [SCSI Support] hotplug
uhci [UHCI Alternate Driver (JE) support]
usbcore [Support for USB]

UHCI peut varier suivant le contrôleur USB, il peut être :
  • uhci
  • usb-uhci
  • usb-ohci
  • ehci-hcd
Pour plus d'information consulter la documentation de la carte-mère et aussi celle du noyau6

Ensuite il faut créer un point de montage :

# sudo mkdir /mnt/flash


Dans le fichier /etc/fstab , insérer la ligne suivante pour permettre le montage/démontage par les utilisateurs :

/dev/sda1 /mnt/flash vfat default,noauto,user 0 0


Il est maintenant possible de monter/utiliser/démonter l'«USB Flash Drive» comme un disque normal.

# mount /mnt/flash

# ...

# umount /mnt/flash


8.4.5  Autre contribution

  • Rémi Suinot (novembre 2002)
Dans le même genre, l'utilisation très similaire d'un disk on key (64Mo de mémoire sur support externe et connexion usb) est décrite dans la documentation :


Disque On Key
http://rsuinux.free.fr/journal/debian/memorykeyusb.php3

8.4.6  Pour en savoir plus


The Linux USB sub-system
http://LinuxUSBGuide.sourceforge.net


8.5  Webcam

8.5.1  Matériel

Matériel Note
Axis ?? la rolls des webcam
Philips Vesta sur un port USB, moins de 76 euros http://www.smcc.demon.nl/webcam/
Philips ToUCam  

8.5.2  Logiciels

xawtv video "live"
xawdecode décodage ...(pas bien!) (pas de .deb??)
vgrabbj snapshots par script
gnomemeeting videoconférence
gspy logiciel de surveillance

8.6  Tuner TV


Miro PCTV aucun problème pour la configuration

Une première sélection de logiciels/paquets TV (ou vidéo) est obtenue simplement par :

apt-cache search TV | grep -i TV

8.7  Photo numérique


Sony DSC P50 sous réserve d une compil noyau avec les options qui vont bien.

8.8  Horloge

La question est de savoir ce qu'il faut faire pour régler l'horloge du système. Il existe une très bonne doc sur le sujet (ci-dessous), et je ne vais donc pas m'attarder dessus. De plus, ce n'est pas vraiment une question Debian, alors j'ai assez peu de remords...


Rechercher le titre...
http://www.linux-france.org/article/sys/heure/index.html

Consulter également dans ce document
  • NTP Protocole de synchronisation 9.2

8.9  Mémoire vive

Il suffit d'installer le paquet hwtools . Dedans, on trouve un programme nommé memtest86. Mais ce programme n'est pas vraiment un programme Linux, car il fait des choses tellement inhabituelles sur la mémoire qu'il faut le lancer seul en mémoire (ie, sans système d'exploitation). Ça se fait en rajoutant dans le lilo.conf :
%
  
   image = /usr/lib/hwtools/memtest86.bin
        label = memtest
(il faut évidemment relancer lilo pour que les changements soient pris en compte), et ensuite, il faut choisir memtest à l'invite LILO.

8.10  Sites à consulter




1
free http://free.fr
2
L'offre Free ADSL http://adsl.free.fr
3
Vous avez bien téléchargé cette archive, n'est-ce pas ? Les pilotes sagem http://extranet.sagem.com/ama90/installLinux101.tar
4
Ce fichier n'existe pas par défaut. Si vous avez installé le paquet pppoe, alors vous pouvez le créer en recopiant le contenu de /etc/ppp/peers/dsl-provider.
5
On pourra faire quelque chose de plus fin en profitant de l'information8.2.4.
6
(/usr/src/linux/Documentation/usb/)

Précédent Remonter Suivant