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
-
Grégory Simon
(Janvier 2003)
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/:
-
un répertoire : nvidia-glx-1.0.2960/
- une archive : nvidia-kernel-src.tar.gz
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 :
-
http://205.158.109.140/XFree86_40/1.0-2880/NVIDIA_kernel-1.0-2880.tar.gz
- http://205.158.109.140/XFree86_40/1.0-2880/NVIDIA_GLX-1.0-2880.tar.gz
Naturellement vous aurez aussi besoin des autres paquets cités dans ce
document.
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') :
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 :
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 sagem3 :
-
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 :
-
compiler votre propre noyau,
- ou utiliser l'image installée
par Debian (la version bf24 de l'install fonctionne a priori
sans soucis).
Compilation du noyau
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 :
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 :
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.
$ 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 :
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 :
Pour regarger cette dernière ligne, la commande suivante sera certainement
très utile :
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 :
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 synchroniser5
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
:
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 :)
On peut donc maintenant tester cela en tapant les commandes :
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 :
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 !
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)
|
| (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 :
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.
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.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 :
-
connecter les PCs au téléphone
- utilisation facile
- 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 !
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
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.
8.4.4 Flash Drive / Disk On Key
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 :
8.4.6 Pour en savoir plus
8.5 Webcam
| 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...
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/)