Skip to main content

Historique: Alsa - vérifications avant de commencer

Aperçu de cette version: 64




1. Première utilisation

Vous avez correctement installé ALSA, et tout configuré comme il faut. Bien, on approche du but 😀.

Vérifiez que les modules d'ALSA (drivers) nécessaires sont bien chargés à l'aide de la commande lsmod à taper dans un terminal. Le cas échéant, chargez-les avec la commande modprobe.
Ainsi, par exemple, pour une SoundBlaster 16, la page d'ALSA indique que le module sb16 sera nécessaire.

Si vous le souhaitez, vous pouvez également redémarrer pour vous assurer que tout est correctement chargé au démarrage de la machine (notez les éventuels messages d'erreur).

Le répertoire /proc/asound contient différentes informations concernant votre (ou vos) carte(s) son. La seule présence de ce répertoire indique déjà que le support ALSA est fonctionnel, fusse-t-il sous forme de modules (à présent chargés) ou intégré au noyau.

Bien que certaines cartes sons disposent d'un mixeur spécifique sous Linux, la commande : alsamixer est une interface console qui vous permet d'accéder à la table de mixage de la plupart des cartes son. Cette commande fait partie des utilitaires ALSA (du paquet alsa-utils). Les canaux sont en général mutés par défaut, il convient donc de lancer alsamixer au moins une fois pour corriger ça :
Copy to clipboard
$ alsamixer


Dans cette capture, vous constaterez que le canal "Master M" (Master Mono) par exemple est muté (lettres "MM").

L'interface n'est pas très jolie mais permet de monter les niveaux des différentes sorties et également de déclarer "non muté" les canaux qui sont souvent mutés par défaut. Par cette interface, on appuie sur M sur chaque sortie pour la déclarer "non mutée".

Alsamixer - cliquez pour agrandir
Alsamixer


Une fois cette commande lancée vous pouvez lancer alsactl (en mode super utilisateur) qui enregistre les niveaux réglés :
Copy to clipboard
# alsactl store

(note: on peut utiliser alsactl restore pour recharger les niveaux)

En général le script d'initialisation et d'extinction de votre Linux ( /etc/init.d/alsa) se charge de lancer alsactl pour vous.

2. Vérifier la présence du matériel

La commande "cat" suivante permettra de savoir quelle carte son et/ou interface MIDI est connectée. Exemple avec une carte son intégrée et 2 ports MIDI (Port Manette de jeux / MIDI et Usb) :
Copy to clipboard
$ cat /proc/asound/cards 0 [nForce2 ]: NFORCE - NVidia nForce2 NVidia nForce2 with ALC650F at 0xed080000, irq 185 1 [UART ]: MPU-401 UART - MPU-401 UART MPU-401 UART at 0x330, irq 10 2 [U0x71040x2202 ]: USB-Audio - USB Device 0x7104:0x2202 USB Device 0x7104:0x2202 at usb-0000:00:02.1-2, full speed


Un p'tit "ls" dans le répertoire permettra d'en savoir un peu plus
Exemple (même configuration qu'au dessus) :
Copy to clipboard
$ ls -l /dev/snd/ crw-rw---- 1 root audio 116, 0 2006-08-29 20:55 controlC0 crw-rw---- 1 root audio 116, 32 2006-08-29 20:55 controlC1 crw-rw---- 1 root audio 116, 64 2006-08-29 22:03 controlC2 crw-rw---- 1 root audio 116, 40 2006-08-29 20:55 midiC1D0 crw-rw---- 1 root audio 116, 72 2006-08-29 22:03 midiC2D0 crw-rw---- 1 root audio 116, 24 2006-08-29 20:55 pcmC0D0c crw-rw---- 1 root audio 116, 16 2006-08-29 18:55 pcmC0D0p crw-rw---- 1 root audio 116, 25 2006-08-29 20:55 pcmC0D1c crw-rw---- 1 root audio 116, 18 2006-08-29 20:55 pcmC0D2p crw-rw---- 1 root audio 116, 33 2006-08-29 20:55 timer



3. Ça marche pô, le flan est foutu


Êtes-vous sûr d'avoir suivi la bonne recette ?

Plus sérieusement, voici quelques pistes à suivre, issues des demandes et des problèmes les plus fréquemment rencontrés. Le cas échéant, vous pouvez toujours poser votre problème dans le forum "Le matériel et les pilotes ALSA, FFADO, ...", en précisant bien toutes les informations utiles (distribution, matériel, liste des modules chargés, etc.). Si vous trouvez votre bonheur, vous reviendrez ensuite compléter la présente page 😉.


3.1. Vérifications les réglages de volume :

Utilisez AlsaMixer, gAmix (ou autre) pour vérifier vos niveaux sons, car, la première fois, il faut dé-muter les sorties d'ALSA qui sont parfois "mutées" par défaut et par précaution (voir paragraphe ci-dessus).


3.2. Modules

Vous devez regarder si les modules (ou pilote ou encore drivers) de votre/vos carte(s) son sont bien chargés. Consultez la page http://www.alsa-project.org/main/index.php/Documentation pour déterminer la liste des modules nécessaires à votre matériel et utilisez la commande lsmod pour lister les modules chargés.

Pour un périphérique usb, n'oubliez pas de vérifier la présence du module snd-usb-audio.

3.3. Présence de plusieurs périphériques audio

Il arrive fréquemment que les outils de reconnaissance automatique se mélangent les pinceaux en présence simultanée de plusieurs périphériques audio, ou que le périphérique défini par défaut ne soit pas celui que vous voulez. Il se pourrait par exemple qu'un circuit son intégré à la carte mère soit configuré comme "carte par défaut" à la place de celle que vous voulez utiliser. Des problèmes peuvent aussi survenir avec des périphériques non permanents (usb par exemple). N'oubliez pas qu'ALSA prend en charge tous les périphériques audio (interfaces MIDI par exemple) et pas seulement les "cartes son".
Commencez donc par vérifier un par un le bon fonctionnement de chaque périphérique audio en désactivant (BIOS pour le circuit intégré par exemple) ou en débranchant les autres. Ensuite, il faudra modifier le fichier /etc/modules.conf (ou équivalent selon votre distribution) pour indiquer au système l'ordre des périphériques. Vous pouvez consulter :

3.4. Firmware

Un certain nombre de cartes son (cartes ECHO ou TASCAM par exemple) nécessitent le chargement d'un firmware pour fonctionner. Si c'est le cas, celui-ci sera fourni par l'installation du paquet alsa-firmware. Vérifiez donc que ce paquet est bien installé et le micrologiciel chargé, faute de quoi votre carte ne pourra fonctionner correctement, et vous obtiendrez dans le fichier /var/log/messages des lignes du type :
Copy to clipboard
"Echoaudio Mia: probe of 0000:05:07.0 failed with error -2"


Attention: pour des raisons de licences, certaines distributions ne proposent pas de version pré-compilée d' alsa-firmware. Il vous faudra donc avoir recours à l'installation manuelle de celui-ci. Dans ce cas, assurez-vous de bien avoir la même version pour chaque composant d'ALSA ( alsa-tools, etc...). L'installation d' alsa-firmware requiert l'installation préalable d' alsa-tools.
Quelques liens pour plus d'informations :

3.5. Commandes utiles


3.5.1. dmesg

Afficher les messages d'erreur du système :
Copy to clipboard
$ dmesg

Variante : afficher les 20 dernières lignes du fichier /var/log/message avec poursuite (= si de nouveaux logs arrivent, l'affichage sera mis à jour). Utile pour suivre les logs lors du branchement à chaud d'un périphérique :
Copy to clipboard
# tail -n 20 -f /var/log/messages

Il est possible de rendre certains périphériques beaucoup plus "bavards" en activant les bonnes options dans le noyau. Par exemple, pour les périphériques usb, activer "USB verbose debug messages". Cette possibilité ne doit être utiliser que pour du "débogage" et doit ensuite être désactivée pour éviter d'alourdir trop fortement les fichiers de "log" !

3.5.2. lspci

Afficher la liste des périphériques audio (reconnaissance du matériel) :
Copy to clipboard
# lspci -v | grep -i audio

ou pour les périphériques USB :
Copy to clipboard
lsusb -v


3.5.3. Modules

Afficher la liste des modules/drivers son chargés :
Copy to clipboard
$ lsmod | grep snd


Charger un module :
Copy to clipboard
# modprobe nom_du_module

Utilisez le complètement automatique à l'aide de la touche "TABULATION". Par exemple, pour avoir la liste des modules son chargeables (snd-***) utiliser :
Copy to clipboard
# modprobe snd- [TABULATION] [TABULATION]


Pour permettre le chargement automatique d'un module au démarrage, placer son nom ( snd-seq-midi par exemple) dans le fichier :
  • Pour Gentoo :
    • /etc/modules.autoload.d/kernel-2.6 pour les kernels 2.6
    • /etc/modules.autoload.d/kernel-2.4 pour les kernels 2.4
      Faire suivre les modifications de la commande update-modules
  • Pour Ubuntu, Debian et cie (quelqu'un peut confirmer ?) : /etc/modules
  • Pour Mandriva :
    • /etc/modules.conf pour les kernels 2.4
    • /etc/modprobe.conf pour les kernels 2.6
      Et pour les modules à charger prioritairement au démarrage : /etc/modprobe.preload.

Décharger un module :
Copy to clipboard
# rmmod nom_du_module


3.5.4. Vérifier la présence de conflits d'IRQ


La commande suivante permet de lister les IRQ afin de vérifier que plusieurs modules de partagent pas la même :
Copy to clipboard
$ cat /proc/interrupts

Si c'est le cas, cela signifie que votre matériel son partage son IRQ avec un autre matériel, et ça n'est pas bon pour vous et votre MAO !
Vous devrez allez voir du côté du noyau temps-réel et de la gestion temps-réel des processus IRQ.


4. Utilisation d'ALSA dans les logiciels


À l'heure actuelle tous les logiciels à peu près intéressants supportent ALSA. On peut avoir à choisir le 'device' de sortie. En général il s'agit de 'hw:0,0' qui correspond à hardware:0,0 soit en comptant de zéro la première carte et son premier sous-ensemble. À ce titre en effet, il arrive qu'une carte ait plusieurs chipsets audio intégré, c'est le cas par exemple des cartes son Ice1712/Envy24 qui dispose d'un circuit "pro" et d'un circuit "consummer".

Il est aussi possible d'accéder non pas directement à la sortie de la carte son mais à une sorte de couche logicielle intermédiaire comme nous le verrons tout à la fin avec le fichier asound.conf. La plus courante de ces sorties "virtuelles" est 'plughw:0,0', plughw est un Plugin qui adapte la sortie lorsque la carte son ne supporte pas certains formats (par exemple l'audio en 24bit).

Pour certains logiciels voici comment régler la sortie :
  • Dans XMMS faire CONTROL P et régler la sortie sur ALSA.

Historique

Information Version
Thu 14 Sep 2017 13:57 olinuxx regroupement des alias 78
Afficher
Thu 14 Sep 2017 08:32 allany alias+1 77
Afficher
Fri 06 Nov 2015 14:16 olinuxx Recherche et remplacement en masse 76
Afficher
Fri 05 Sep 2014 19:37 olinuxx Recherche et remplacement en masse 75
Afficher
Fri 05 Sep 2014 18:43 olinuxx Recherche et remplacement en masse 74
Afficher
Fri 05 Sep 2014 18:43 olinuxx Recherche et remplacement en masse 73
Afficher
Fri 05 Sep 2014 18:23 olinuxx Recherche et remplacement en masse 72
Afficher
Fri 28 Feb 2014 21:46 romain_bar J'ai mangé le flan 71
Afficher
Mon 10 Feb 2014 20:56 romain_bar Déplacement d'une partie vers la page ALSA Dépannage 70
Afficher
Wed 11 Sep 2013 14:46 pianolivier +1 lien 69
Afficher
Tue 16 Jul 2013 23:36 utilisateur_anonyme2 +alias 68
Afficher
Fri 01 Mar 2013 19:16 pianolivier nouvelle boite de navigation 67
Afficher
Wed 10 Oct 2012 17:48 pianolivier correction d'un lien 66
Afficher
Wed 18 Jul 2012 01:23 olinuxx 65
Afficher
Wed 18 Jul 2012 01:22 olinuxx 64
Afficher
Wed 18 Jul 2012 01:19 olinuxx 63
Afficher
Wed 18 Jul 2012 01:17 olinuxx 62
Afficher
Wed 18 Jul 2012 01:15 olinuxx 61
Afficher
Mon 21 mai 2012 10:48 pianolivier modif lien(s) interne(s) 60
Afficher
Sun 26 Dec 2010 19:57 olinuxx BOX 59
Afficher
Sun 26 Dec 2010 18:46 olinuxx BOX + tuto 58
Afficher
Sun 26 Dec 2010 18:34 olinuxx BOX + tuto 57
Afficher
Sun 26 Dec 2010 17:15 olinuxx BOX 56
Afficher
Sun 26 Dec 2010 16:59 olinuxx ajout tuto BOX 55
Afficher
Sun 26 Dec 2010 15:34 olinuxx BOX 54
Afficher
Sun 26 Dec 2010 15:26 olinuxx BOX-ification 53
Afficher
Fri 03 Dec 2010 20:14 olinuxx rédaction 52
Afficher
Fri 03 Dec 2010 20:13 olinuxx 51
Afficher
Fri 03 Dec 2010 20:00 olinuxx déplacement info MIDI en page ((alsa_midi)) 50
Afficher
Fri 03 Dec 2010 19:59 olinuxx déplacement info MIDI en page ((alsa_midi)) 49
Afficher
Fri 03 Dec 2010 19:58 olinuxx déplacement info MIDI en page ((alsa_midi)) 48
Afficher
Fri 03 Dec 2010 05:22 olinuxx 47
Afficher
Fri 03 Dec 2010 05:20 olinuxx 46
Afficher
Fri 03 Dec 2010 05:19 olinuxx 45
Afficher
Fri 03 Dec 2010 05:19 olinuxx rédaction 44
Afficher
Tue 23 Nov 2010 22:03 olinuxx mise à jour 43
Afficher
Tue 23 Nov 2010 22:01 olinuxx 42
Afficher
Tue 23 Nov 2010 22:00 olinuxx 41
Afficher
Tue 23 Nov 2010 22:00 olinuxx 40
Afficher
Tue 23 Nov 2010 21:58 olinuxx 39
Afficher
Tue 23 Nov 2010 21:34 olinuxx 38
Afficher
Tue 23 Nov 2010 21:32 olinuxx mise à jour 37
Afficher
Tue 23 Nov 2010 20:29 olinuxx 36
Afficher
Tue 23 Nov 2010 20:31 olinuxx 35
Afficher
Tue 23 Nov 2010 20:30 olinuxx 34
Afficher
Tue 23 Nov 2010 20:29 olinuxx 33
Afficher
Tue 23 Nov 2010 20:26 olinuxx 32
Afficher
Tue 23 Nov 2010 05:23 olinuxx 31
Afficher
Tue 09 Mar 2010 23:25 yanshee 30
Afficher
Thu 16 Apr 2009 15:44 bluedid29 titre, numérotation chapitres, corrections 29
Afficher
  • «
  • 1 (en cours)
  • 2