Page suivante Page pr�c�denteTable des mati�res

7. Astuces et d�pannage

Pensez � lire la FAQ dans le r�pertoire des gestionnaires sonores. Cette section est toujours en construction.

7.1 Compilation des gestionnaires

Arborescence des sources du noyau

Si vous n'arrivez pas � compiler vos gestionnaires ALSA, avec des messages d'erreur mentionnant �version.h� ou d'autres fichiers d'en-t�tes non trouv�s, cela peut signifier que vous n'avez pas les fichiers d'en-t�tes du noyau. Allez consulter le kernel-HOWTO, d�compactez un noyau r�cent dans /usr/src et lancez make config.

7.2 Chargement des gestionnaires

Pensez � v�rifier les points suivants :

Compatibilit� des cartes son

�tes vous certain que votre carte EST support�e ? V�rifiez encore. Il arrive qu'un mod�le X123 ne soit pas exactement un mod�le X123b, et vous perdrez votre temps. D'un autre c�t�, m�me une carte support�e peut vous poser probl�me - il m'a fallu deux heures pour installer une carte CS4237B, ce qui, apr�s tout, n'�tait qu'un excellent cas de RTFM.

�P�riph�rique ou ressource occup�e� (device busy) ou �symboles non r�solus�(unresolved symbols)

Il se peut que vous ayez un noyau 2.0.x avec le support son int�gr�, ou que le gestionnaire OSS/Lite (celui du noyau) soit charg� (v�rifiez par cat /proc/modules). Retirez le gestionnaire ou recompilez le noyau (reportez-vous au Kernel-HOWTO).

Le module son des noyaux 2.0 est nomm� �sound.o� et ne doit pas �tre actif (contrairement au gestionnaire ALSA �snd.o�, bien entendu).

Si vous avez un noyau 2.2.x sans support son, les gestionnaires ALSA ne fonctionneront pas non plus.

Noyaux 2.0.x

Je sais que c'est un peu confus, mais laissez-moi expliquer une fois de plus. Si vous avez un noyau 2.0.x (la commande �uname -a� renvoyant quelque chose du genre �Linux pingouin 2.0.35 #6 Wed Sep 23 10:19:16 CEST 1998 i686 unknown�) alors vous devez d�sactiver tout support son dans le noyau.

Noyaux 2.2.x

Si vous avez un noyau 2.2.x vous avez besoin du support son. Un noyau 2.2 doit �tre compil� avec le support son, mais sans le moindre gestionnaire de carte son. Il vous faut donc choisir le support son et v�rifier qu'aucun autre gestionnaire sp�cifique n'est compil�.

R�f�rences � d'autres gestionnaires

Une autre raison pour laquelle le gestionnaire se plaint que le p�riph�rique est occup� peut �tre que le fichier /etc/conf.modules r�f�rence encore les anciens gestionnaires. Vous devriez effacer ces r�f�rences et ne laisser que des r�f�rences aux gestionnaires ALSA (bien s�r, laissez les gestionnaires non sonores tels quels).

Symboles non r�solus, deuxi�me

Une autre cause des messages �symboles non r�solus� peut �tre un noyau plus r�cent que les gestionnaires. Assurez-vous de recompiler les gestionnaires ALSA apr�s chaque changement de noyau, de fa�on � �tre certain d'avoir des gestionnaires correspondant � votre noyau.

V�rifiez le r�glage PnP

�tes-vous s�r que votre carte son est activ�e ? Relisez donc le PnP-HOWTO, et v�rifiez que votre carte son est correctement activ�e.

Vos param�tres sont-ils corrects ?

V�rifiez encore et toujours les param�tres de votre carte son. N'oubliez pas que 534 n'est pas la m�me chose que 543, pas plus que 0x534 n'est 534.

Pensez �galement que certaines cartes doivent �tre charg�es avec un nom diff�rent de celui suppos�. Faites une pause, allez boire une bi�re ou toute autre boisson, et v�rifiez encore votre commande �modprobe�. Par exemple, le gestionnaire Crystal 4232 doit �tre ins�r� par �modprobe snd-cs4232�, pas �snd-cs4231�, et que celui de la SoundBlaster PCI64 se nomme �snd-audiopci�, pas �snd-es1370� (tout est dans la documentation, et bien que je sois l'auteur du HOWTO, il m'est arriv� de passer une soir�e � essayer de faire jouer du son � snd-cs4231).

7.3 Gestionnaire charg�... mais aucun son (ou � peine audible)

La sourdine

Les gestionnaires ALSA exploitent les possibilit�s de �sourdine� dont disposent la plupart des cartes son. Si vous avez charg� les gestionnaires impeccablement mais qu'ils s'obstinent � rester silencieux, vous avez probablement oubli� de d�sactiver la sourdine. Il vous faut �amixer� ou �alsamixer� pour cela, tous deux pr�sents dans le paquetage alsa-utils. Un simple

amixer -c 1 master 70:70 unmute
amixer -c 1 pcm 70:70 unmute
amixer -c 1 cd 70:70 unmute
devrait suffire � la plupart des applications.

Amplification

La plupart des cartes son ont un r�glage de mixer suppl�mentaire pour amplifier le son en entr�e ou en sortie. Ce r�glage est commun�ment appel� �gain�, �in-gain� pour l'entr�e et �out-gain� pour la sortie. Agir sur ce r�glage vous aidera beaucoup � obtenir le niveau sonore maximum de vos haut-parleurs (mais pensez � vos parents, voisins et � vos oreilles tout de m�me). Une commande comme

amixer out-gain 100 unmute
pourra probablement rendre service.

Compatibilit� avec OSS/Linux

S'il s'agit de votre premi�re utilisation des gestionnaires ALSA, vous souhaiterez probablement utiliser le support son exactement comme vous le faisiez avant, (i.e. � l'aide des gestionnaires /dev/pcmX). Il vous faut pour cela le gestionnaire de compatibilit� OSS. Faites un modprobe snd-pcm1-oss (reportez-vous � la fin de la section pour le chargement des modules). Veuillez noter que snd-pcm1-oss est diff�rent de snd-pcm1, vous avez r�ellement besoin de snd-pcm1-oss pour le support � l'ancienne.

Impossible d'acc�der au mixer

Si vous avez essay� d'installer plusieurs versions diff�rentes d'ALSA, il arrive que le mixer ne puisse plus �tre utilis�. Cela se produit quand vous avez install� ALSA 0.3.2 puis �tes revenu � ALSA 0.3.0-pre4 (si ma m�moire est bonne). Dans ce cas, effacez tous les fichiers libasound et les liens dans /usr/lib et recompiler les biblioth�ques et les utilitaires :

rm /usr/lib/libasound.*
Pour �tre vraiment tranquille, effacez tous les gestionnaires ALSA ensuite, puis recompilez et r�installez les gestionnaires.

7.4 Quelques suggestions

Essayez �insmod�

Il est parfois utile de commencer avec insmod au lieu de kerneld. Comme �a, vous pourrez peut-�tre voir un message d'erreur.

Lisez le fichier INSTALL

Le fichier INSTALL du r�pertoire des gestionnaires contient beaucoup d'informations. Si votre gestionnaire ne fonctionne pas, regardez s'il n'y a pas d'informations compl�mentaires.

Messages de d�boguage

En dernier ressort, vous pouvez recompiler les gestionnaires en leur indiquant d'envoyer des informations de d�boguage dans /var/log/messages. Allez dans le r�pertoire des gestionnaires (cd /usr/src/alsa-driver-... et lancez :

./configure --with-debug=detect; make clean; make

Retirez le gestionnaire (s'il est actif, voir plus bas pour une commande pratique). Puis relancez la commande "modprobe" que vous aviez utilis�e pr�c�demment, pour charger le gestionnaire fra�chement compil�. Allez voir dans /var/log/messages s'il y a des messages.

Si rien ne va plus...

Si ces messages ne peuvent vous aider, envoyez un message � la liste de diffusion des d�veloppeurs ALSA, alsa-devel@alsa-project.org en pr�cisant les informations suivantes :

7.5 Rapports de bugs

Si vous avez d�couvert un bug, les d�veloppeurs d'ALSA seraient heureux de conna�tre les informations suivantes (au minimum) :

  1. versions de votre noyau et de vos gestionnaires : 'cat /proc/asound/version' ;
  2. informations sur la carte son :
  3. tous les messages de /var/log/messages concernant les gestionnaires ALSA ;
  4. une description du probl�me.

7.6 Astuce : jouer des CD audio

Si vous utilisez kmod ou kerneld et les gestionnaires ALSA pour jouer des CD audio, ni kmod ni kerneld ne vont probablement charger les gestionnaires comme attendu. Cela est d� au fait que les lecteurs CD en ligne de commande ne font que demander au lecteur de cd-rom de lancer la lecture audio, sans utiliser les p�riph�riques sonores qui pourraient indiquer � kmod ou kerneld qu'une sortie son va avoir lieu. L'utilisation de modprobe sera probablement votre seule solution � ce probl�me.

7.7 Astuce : installation du gestionnaire s�rie MIDI

Normalement, le port s�rie est g�r� par le gestionnaire s�rie standard. Avant de pouvoir faire �modprobe snd-serial� il vous faut demander au gestionnaire de ne plus s'occuper du port s�rie.

Voici comment faire :

setserial /dev/ttyS0 none
modprobe snd-serial

(en rempla�ant /dev/ttyS0 par le gestionnaire /dev/ttySx correspondant � votre p�riph�rique MIDI).

7.8 Astuce : � nouveau noyau, nouveaux modules !

Apr�s chaque mise � jour de votre noyau, vous devrez probablement recompiler les gestionnaires ALSA. S'ils se trouvent toujours dans le r�pertoire /usr/src, n'oubliez pas de lancer un make clean avant de refaire la s�quence ./configure, make, make install.

Oh, et il ya aussi ce probl�me de num�rotation : le noyau �2.2.0ac1� est vu comme un �not a number� (pas un nombre) par le script configure. Il me semble que cela a �t� r�solu dans les scripts plus r�cents, sinon vous pouvez peut-�tre modifier le num�ro de version du noyau dans les sources.

7.9 Astuce : KDE et les gestionnaires ALSA

Supposons que vous avez une installation de KDE en �tat de marche, mais que vous n'arrivez pas � faire fonctionner les sons syst�me, comme pour l'ouverture des fen�tres, les changements de bureaux, etc. Le son fonctionne en g�n�ral. Si votre lecteur de CD audio et votre lecteur mp3 fonctionnent, cela est probablement d� au fait que �kwmsound� est manquant.

Solution : v�rifiez que "kwmsound" figure dans votre script de d�marrage ($KDEDIR/bin/startkde)

7.10 Astuce : utilisez les p�riph�riques ALSA

Si vous aviez le support son sous Linux pr�c�demment, vos applications se r�f�rent probablement � /dev/pcm0, /dev/audio et /dev/mixer. C'est parfait si vous utilisez la compatibilit� OSS � l'aide du module snd-pcm1-oss. Il serait mieux, cependant, d'utiliser les v�ritables p�riph�riques ALSA, ceux de /dev/snd.

7.11 Astuce : retirer tous les modules

Retirer une dizaine de modules un par un est p�nible. Heureusement, tous les modules commencent par le pr�fixe "snd-", et une petite ligne de commande fera l'affaire. Vous pouvez retirer facilement les modules ALSA � l'aide de la commande suivante :

cat /proc/modules|gawk '/^snd-/{print $1}|xargs -i rmmod {}

Juergen Kahrs ajoute : �J'ai �crit un script qui retire �galement soundcore et soundlow s'ils sont pr�sents et que le son n'est plus utilis�. Ce script traite trois fois /proc/modules afin de ne pas laisser tra�ner trop de modules.� Cette solution est :

awk '/^snd/||/^sound/&&($3==0){system("rmmod " $1)}' /proc/modules /proc/modules /proc/modules

Note : si un module est d�pendant d'un autre, il n'est pas possible de commencer par retirer le premier. Cela signifie qu'il se peut que vous deviez relancer la commande de retrait une deuxi�me fois (je n'ai cependant jamais rencontr� cette situation, il semble qu'il soit possible de retirer les modules ALSA dans l'ordre dans lequel ils apparaissent dans /proc/modules).


Page suivante Page pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:20