TwikiHardwareHowToFr
Un article de Wiki de la communauté Mandriva.
[modifier] Configurer votre matériel avec Mandriva Linux
Même si Mandriva Linux fait généralement bien les choses pour détecter et configurer votre matériel, parfois des matériels nouveaux ou peu répandus devront être configuré à la main. Voici quelques astuces pour ajouter manuellement votre matériel s'il n'est pas reconnu, ou pour changer sa configuration s'il est reconnu mais ne fonctionne pas correctement.
[modifier] Moniteurs
Cette section est obsolète, voir Monitor-edid
Les moniteurs se répartissent généralement en deux catégories :
- ceux qui sont détectés convenablement par analyse DDC (aussi appelé "plug 'n play")
- ceux qui ne le sont pas.
A noter : le support de l'analyse DDC nécessite que le moniteur et la carte graphique soient du matériel supporté.
Pour ceux qui ont seulement leur carte graphique supportée, Mandriva Linux peut les référencer en ajoutant les lignes correctes à /usr/share/ldetect-lst/MonitorsDB. Le format est :
VendorName; ModelName; EISA_ID; HorizSync_Range; VertRefresh_Range; supports_dpms
Par exemple :
"Hewlett-Packard; A4575A 19inch Display; 0; 30-107; 50-160; 1"
Vous pouvez obtenir l'identifiant EISA (EISA ID) de votre moniteur en lançant cette commande :
ddcxinfos | fgrep -i eisa
Les plages de fréquences horizontale et verticale appropriées sont dans le manuel de votre moniteur. Il devrait aussi être indiqué si votre moniteur supporte le mode économie d'énergie (indicateur DPMS).
Pour ajouter votre moniteur à la base de données de Mandriva Linux database, envoyez un e-mail à la mailing list Cooker avec comme objet "[hardware] XYZ monitor". Fournissez la ligne (c'est-à-dire, les plages de fréquence appropriées, et l'EISA ID si possible) à ajouter à la base de données des moniteurs. Nous pourrons ainsi ajouter le support de votre moniteur à la base de données incluse avec Mandriva Linux.
A noter : les moniteurs qui n'ont pas le support de l'analyse DDC se répartissent en deux catégories :
- ceux qui ont un EISA ID
- ceux qui n'en ont pas.
Ceux qui ont un EISA ID pourront être préselectionnés dans la liste des moniteurs, les autres ne le seront pas. Dans ce deuxième cas, vous devrez sélectionner vous-même le bon moniteur.
Voici quelques exemples d'entrées de /usr/share/ldetect-lst/MonitorsDB :
Goldstar; Goldstar LG StudioWorks56i; 0; 30.0-60.0; 50.0-110.0 Iiyama; Iiyama A702HT, VisionMaster Pro 410; ivm1740; 27.0-96.0; 50.0-160.0; 1 Daytek; Daewoo DT-2000M/MPR; dwe0000; 30.0-78.0; 50.0-90.0; 1 Daytek; Daewoo DT-2102M/MPR; dwe102a; 30.0-78.0; 50.0-90.0; 0
[modifier] Cartes son
En cas de problème, la commande reset_sound remettra le volume du son à sa valeur par défaut, définie par Mandriva Linux au premier démarrage.
Si votre carte son ne fonctionne pas parfaitement avec Mandriva Linux, suivez les étapes décrites dans la fenêtre de diagnostic de DrakSound (décrite aussi ci-dessous). Ce sont les « tests classiques » à effectuer en premier pour diagnostiquer des problèmes de son.
[modifier] Diagnostics
Tests à lancer quand vous avez des problèmes de son (Thierry Vignaud a écrit : "nous devrions vraiment faire de la fenêtre de diagnostic un outil "résoudre les problèmes de son" intégré à sndconfig..."):
[modifier] Quel module devrais-je utiliser ?
Pour savoir quel module noyau (pilote) votre carte PCI utilise par défaut (et confirmer que votre carte est détectée) :
lspcidrake -v | fgrep AUDIO
Si vous avez une carte USB, tapez juste :
lspcidrake -v
Si rien ne s'affiche, regardez la section #Périphériques PCI ci-dessous pour régler le problème.
[modifier] Quel module est utilisé ?
Pour savoir quel module noyau est actuellement utilisé par votre carte :
grep sound-slot /etc/modules.conf /etc/modprobe.conf
[modifier] Quel module est chargé?
Pour vérifier si le module (pilote) est chargé ou non :
/sbin/lsmod
[modifier] Vérifier la configuration
Pour savoir si le son et les services alsa ont été configurés pour être lancés à initlevel 3
/sbin/chkconfig --list sound
et
/sbin/chkconfig --list alsa
[modifier] Le mixeur est-il sur silence ?
Pour savoir si le volume de son est sur silence ou pas :
aumix -q
L'édition 2008, pour savoir si le volume de son est sur silence ou pas :
aumix-test
En outre, amixer
vous donnerait plus d'information pour déterminer si votre carte son utilise un pilote ALSA (c'est-à-dire, si le nom du module commence par "snd-").
[modifier] Quel programme l'utilise ?
Pour savoir quel programme utilise actuellement la carte son (ce qui empêcherait d'autres programmes de l'utiliser, sauf si votre carte supporte le mixage matériel)
/sbin/fuser -v /dev/dsp
[modifier] Problèmes de carte spécifiques
[modifier] Son bruité
Si vous entendez un son bruité, essayez de mettre sur silence le Microphone
, le Mic Boost \(+20dB)
ou le Mic Playback Switch
[modifier] Son distordu
Si vous entendez un son distordu, essayez de mettre sur silence "<verbatim>3D_control_switch</verbatim>"
[modifier] SB Live
Si vous voulez du son par des haut-parleurs analogiques sur le deuxième canal de sortie en utilisant le pilote ALSA, mettez sur silence le contrôle analog output jack. Vous pouvez maintenant changer le volume de vos haut-parleurs avec le contrôle wave surround.
Si analog output jack n'est pas sur silence, la sortie analogique pour la seconde paire de haut-parleurs est muette. Ainsi, si pour une raison quelconque, vous avez branché le premier couple de haut-parleurs sur cette sortie, il n'y a pas de son.
[modifier] C-Media PCI (CMI)
Si vous n'avez pas de son, essayez de mettre sur silence le contrôle Exchange DAC
[modifier] Capture de son
Pour enregistrer la sortie son d'un autre programme avec ALSA, vous devez utiliser alsamixer (en ligne de commande), alsamixergui ou gnome--alsamixer (GUI).
[modifier] Carte Son C-Media PCI (CMI8338)
Activez le canal PCM
comme étant celui servant à l'enregistrement.
[modifier] Carte Son i810
Plus précisément, si vous avez une de ces cartes :
- Ali M5455
- AMD AMD768, AMD8111
- Intel 82801AA (ICH), 82901AB (ICH0), 82901BA (ICH2), 82901CA (ICH3), 82901DA (ICH4), ICH5, i810, i820, i830, i840, i845, MX440
- NVidia nForce Audio, nForce2 Audio
- SiS[[?]] 7012
Activez les canaux Capture
et Mix
comme ceux servant à l'enregistrement.
[modifier] Corriger les réglages par défaut
Depuis l'adoption d'ALSA, de nombreux problèmes mineurs se sont produits avec les niveaux de son par défaut, et avec Mandriva Linux nous cherchons encore à déterminer les meilleurs paramètres par défaut. Si par défaut vous avez des soucis avec votre machine (les problèmes courant sont que le son est muet ou que le microphone n'est pas sur silence), veuillez lancer les commandes suivantes et fournir le fichier /tmp/state.diff (soit par mail à la liste cooker ou attaché à un rapport de bug) ainsi que le résultat de lspcidrake -v :
alsactl store /etc/rc.d/rc.alsa_default /etc/asound.state cp /etc/asound.state /tmp/asound.state.1 alsactl restore gnome-alsamixer # or alsamixergui # alter your mic setting alsactl store diff -u /tmp/asound.state.1 /etc/asound.state > /tmp/state.diff
(extrait d'un mail sur la ML cooker de Thierry Vignaud)
[modifier] Périphériques PCI
Si votre périphérique PCI n'est pas détecté correctement, envoyez par mail le résultat de <verbatim>lspcidrake -v</verbatim> à la mailing-list Cooker avec comme objet "[hardware] XYZ device" (e.g. "[hardware] 3com905 network card") pour que nous connaissions ses IDs. Si vous savez quel module devrait être utiliser, précisez aussi cette information.
Si vous souhaitez que son support soit intégré plus vite à Mandriva Linux, envoyez un patch pour le fichier /usr/share/ldetect-lst/pcitable
. Commencez par en faire une copie dans votre répertoire utilisateur. Puis, dans le fichier copié, ajoutez une ligne ou corrigez la ligne existante concernant votre périphérique. Le format est :
vendor_id device_id "module" "Nom du fabricant|Nom du périphérique"
Le séparateur de champ est un caractère tab. Les IDs sont au format hexadécimal (comme ceux fournis par lspcidrake -v
).
Par exemple :
0x10de 0x006a "snd-intel8x0" "Nvidia Corporation|nForce2 Audio Codec Interface"
Si plusieurs périphériques ont le même ID de fabricant et de périphérique, vous pouvez ajouter les sous-IDs de fabricant et périphérique de la forme :
vendor_id device_id vendor_subid device_subid "module" "Nom du fabricant|Nom du périphérique"
Après avoir sauvé vos modifications de la copie, créez un patch en utilisant la commande suivante :
diff -u /usr/share/ldetect-lst/pcitable [nom de votre copie modifiée] > ~/pcitable.patch
Envoyez le patch résultant à la mailing list Cooker, ou les informations précisées plus haut.
Si après discussion il s'avère qu'aucun support n'est disponible, la seule solution est d'encourager (poliment) le fabricant à supporter GNU/Linux.
[modifier] Périphériques USB
Ces périphériques devraient être automatiquement détectés par hotplug (qui devrait aussi les charger). Hotplug s'appuie sur les pilotes de périphériques USB du noyau pour exporter les ID ou les classes de périphériques qu'ils gèrent grâce à=modules.usbmap= dans /lib/modules/[version_noyau].
Si votre périphérique n'est pas détecté, il y a trois cas possibles :
- Cela échoue parce que le pilote n'exporte pas correctement les ID des périphériques qu'il supporte, mais le périphérique est reconnu dès chargement manuel du module.
- Solution : modifiez le fichier appelé
usbtable
comme expliqué pourpcitable
dans la section #Périphériques PCI ci-dessus- Le périphérique n'a pas d'identifiants corrects (ie 0x0:0x0)
- Solution : pas de solution disponible ?
- Le périphérique nécessite un contournement pour être configuré par le pilote (e.g. quelques périphériques audio ou de stockage)
- Solution : contacter l'auteur du pilote pour qu'il corrige le pilote si possible.
[modifier] Ajouter une carte PCMCIA
Les cartes PCMCIA (aussi appelées cartes PC) doivent être configurées en ajoutant leurs informations d'identification à
/etc/pcmcia/config
sous la forme suivante :card "<Nom commercial de la carte>" version <chaîne de version obtenue par cardctl ident> bind "<pilote>"
Dans certains cas, l'identifiant du fabricant (manfid) peut être utile :
card "<Nom commercial de la carte>" version <chaîne de version obtenue par cardctl ident> manfid <valeur en hexa de manfid par cardctl ident> bind "<pilote>"
Pour obtenir les valeurs pour "version" et "manfid", lancer
cardctl ident
, et utilisez-les telles quelles. Pour la valeur suivant "card", utilisez le nom le plus significatif écrit sur la carte ou sur la boîte.Voici un exemple :
card "Surecom EP-427X 16bit 100/10M Ethernet Card" version "CouplerlessPCMCIA", "100BASE" #manfid 0xffff, 0x1090 bind "pcnet_cs"
A noter dans cet exemple, la ligne "manfid" est commentée. Normalement, les lignes "version" et "bind" devraient suffire. Néanmoins, dans certains cas la valeur de "manfid" aussi est nécessaire. En l'incluant comme commentaire, le "manfid" pourra ainsi être utilisé en cas de besoin.
[modifier] Cartes réseau
Drakconnect détecte les cartes réseau par analyse du matériel et sélection des cartes dont le pilote identifie une carte réseau. La liste des pilotes réseau est dans /usr/lib/libDrakX/list_modules.pm.
Si aucun pilote n'apparaît dans harddrake2, regardez les sections #Périphériques PCI, #Périphériques USB, ... ci-dessus afin de corriger le problème.
Si harddrake liste la carte réseau mais pas drakconnect, il y a une forte probabilité que son pilote ne soit pas connu de drakconnect. Dans ce cas, il suffit d'ajouter ce pilote à la liste de /usr/lib/libDrakX/list_modules.pm.
Certaines cartes ont un problème avec les outils mii (mii-tools) utilisés pour détecter le statut de la liaison. Si vous avez des problèmes pour que la carte soit reconnue au moment du démarrage, vérifier ce que mii-tools renvoie. S'il dit qu'il n'y a pas de liason, il se peut que vous ayez un problème de détection. Essayez d'ajouter la ligne MII_NOT_SUPPORTED=yes à /etc/sysconfig/network-scripts/ifcfg-eth0 (ou le fichier concerné, pour votre interface).
Si cela résout votre problème, envoyez un email à la ML Cooker avec l'objet "[hardware::mii_tools] module XXX doesn't support mii tools", où XXX est le module de la carte réseau
[modifier] Cartes réseau Wifi (sans-fil)
Voir le cas général ci-dessus d'abord.
Si drakconnect n'identifie pas votre carte réseau en tant que sans-fil (c'est-à-dire qu'il ne propose pas de configurer les paramètres sans-fil mais seulement les paramètres réseau génériques), envoyez par email le nom du module qui gère votre carte wifi à la mailing list Cooker avec comme objet "[hardware::wifi] XYZ device use AAA module" (e.g. "[hardware::wifi] Advantech WLAN-9030 network card uses 3574_cs"). Ainsi nous pourrons modifier drakconnect pour qu'il sache que ce module doit être géré en tant que pilote sans-fil.
Mise à jour : depuis drakxtools-10-35mdk, drakconnect ne se base plus sur la liste des pilotes sans-fil mais vérifie plutôt si le pilote supporte ou non les extensions sans-fil
[modifier] Scanners (raster image scanners)
Si votre scanner n'est pas reconnu.
En premier, précisez dans votre rapport de bug quelle marque et modèle vous avez exactement.
Assurez-vous que le scanner est branché à votre ordinateur et allumé. Pour un scanner usb, donnez le résultat de :
- lsusb
- sane-find-scanner
- scanimage -L
Pour un scanner scsi, assurez-vous d'avoir chargé le bon pilote pour votre carte scsi card (si vous avez des problèmes avec la carte scsi, regardez la section Périphériques PCI ci-dessus). Veuillez fournir le résultat de :
- cat /proc/scsi/scsi
- sane-find-scanner
- scanimage -L
[modifier] Problèmes de paramètres de noyau
Quelques paramètres au lancement du noyau peuvent poser problème (acpi=off, noapic, etc.)
ThomasBacklund a dit :
Lancez la commande suivante :
# urpmi dmidecode # dmidecode
et remontez les infos des Handle 0x0000, Handle 0x0001, Handle 0x0002,
ainsi que les informations précisant ce qui est cassé (voire comment le réparer) et ce dont vous avez besoin pour réussir à faire fonctionner votre système... tel que acpi=off, noapic, etc.
[modifier] Problèmes de souris
Si vous avez un portable avec un touchpad Synaptics, et que vous ne réussissez pas à faire fonctionner votre souris ps/2 externe avec le kernel 2.6.x, essayez d'ajouter psmouse.proto=imps aux paramètres de lancement de votre noyau dans lilo (section append de /etc/lilo.conf) ou tout autre chargeur de démarrage.
[modifier] ACPI - DSDT spécifique
Si le support ACPI ne fonctionne pas avec le noyau par défaut, il est possible d'ajouter une table de description différenciée du système (DSDT pour Differentiated System Description Table). [[1]] propose des fichiers de DSDT spécifiques. Pour les compiler en format binaire utilisable, vous aurez besoin du compilateur Intel, disponible à partir de [[2]]. Une fois que vous disposez du compilateur Intel, utilisez gunzip pour le fichier téléchargé et compilez le source comme ceci :
# iasl -on foo.asl
Vous obtenez un fichier dsdt.aml. Copiez-le dans /boot. Pour que mkinitrd inclue automatiquement ce fichier à chaque mise à jour de votre noyau, éditez /etc/sysconfig/mkinitrd et ajoutez la ligne :
dsdt_file=/boot/dsdt.aml
Sinon, vous pouvez utiliser l'argument --dsdt pour mkinitrd, mais éditer le fichier dans sysconfig vous permet de ne pas avoir à vous inquiéter à le refaire manuellement après chaque mise à jour du noyau.
Vous pouvez aussi visualiser votre table ACPI actuelle soit en utilisant pmtools, soit à partir de /proc. [[3]] fournit quelques liens précisant les procédures pour éditer/compiler un fichier dsdt.asl.
# urpmi pmtools # acpidmp > acpidmp.out # acpixtract DSDT acpidmp.out > dsdt.aml # iasl -d dsdt.aml
# cat /proc/acpi/dsdt > dsdt.aml # iasl -d dsdt.aml
Vous pouvez alors éditer le fichier dsdt.asl, le compiler et le charger comme DSDT spécifique.