Page suivante Page précédente Table des matières

4. Charger les gestionnaires

Il existe deux façons d'utiliser les modules Alsa. Je préfère personnellement utiliser la méthode manuelle, à savoir insérer le gestionnaire au démarrage. Les gestionnaires Alsa sont conçus pour être chargeables et déchargeables à volonté -- par exemple ils ne réinitialisent pas le mixer au chargement -- donc vous pouvez facilement utiliser l'approche kerneld.

4.1 Insérer avec modprobe

Note : si vous avez une carte son PnP, vous devez tout d'abord la configurer aux bons IO/IRQ/DMA (ou au moins à des valeurs connues). Consultez le Plug-and-Play-HOWTO. Avez-vous configuré votre carte PnP ? Bien, alors poursuivons. Le plus dur est de faire "modprobe snd-<carte son>". Cela devrait faire l'affaire. Notez que toutes les distributions ne mettent pas /sbin dans le PATH. Si vous obtenez "bash: modprobe: command not found", cela signifie probablement que modprobe n'est pas dans votre path. Essayez "/sbin/modprobe snd-sb16", ou tâchez de trouver l'utilitaire modprobe quelque part.

La plus grosse difficulté vient des chipsets Crystal, que les gestionnaires Alsa ne détectent pas automatiquement. Des informations plus récentes peuvent être trouvées dans le fichier INSTALL du répertoire alsa-driver. Deux exemples, puis une liste :

Gravis UltraSound (GUS) et compatibles :

/sbin/modprobe snd-gusclassic

Pour toutes les cartes 16 bit compatibles Soundblaster (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP) :

/sbin/modprobe snd-sb16

4.2 Quel module pour quelle carte ?

Gravis UltraSound Extreme

modprobe snd-gusextreme

Gravis UltraSound MAX

modprobe snd-gusmax

ESS AudioDrive ES-1688 et ES-688

modprobe snd-audiodrive1688

Gravis UltraSound PnP

Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32 et toute autre carte son basée sur un chipset AMD InterWave (tm). modprobe snd-interwave

UltraSound 32-Pro

UltraSound 32-Pro (carte produite par STB, utilisée par Compaq) et toute autre carte son basée sur un chipset AMD InterWave (tm) avec un circuit TEA6330T pour un contrôle étendu des volumes grave, aigu et principal. modprobe snd-interwave-stb

Soundblaster

Cartes Soundblaster 8 bits (SoundBlaster 1.0, SoundBlaster 2.0, SoundBlaster Pro) modprobe snd-sb8

Soundblaster 16

Cartes SoundBlaster 16 bits (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP. Attention, ce module ne supporte pas la carte SoundBlaster VibraX16. modprobe snd-sb16

Yamaha OPL3-SA2/SA3

Un "modprobe snd-opl3sa" ne fonctionnera pas, ce gestionnaire ne faisant pas de détection automatique. Voyez plus loin.

S3 SonicVibes

Cartes S3 SonicVibes PCI (PINE Schubert 32 PCI). modprobe snd-sonicvibes

Ensoniq/Soundblaster PCI64

Cartes Ensoniq AudioPCI ES1370/1371 PCI (SoundBlaster PCI 64) modprobe snd-audiopci

CS4232/4232A

Toutes les cartes à base de chipset CS4232/CS4232A. Un "modprobe snd-card-cs4232" ne fonctionnera pas, ce gestionnaire ne faisant pas de détection automatique. Voyez plus loin.

CS4235 et supérieur

Toutes les cartes à base de chipset CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239. Un "modprobe snd-card-cs4236" ne fonctionnera pas, ce gestionnaire ne faisant pas de détection automatique. Voyez plus loin.

4.3 Chargement par modprobe pour les pilotes sans détection automatique

Si vous avez un gestionnaire n'effectuant pas de détection automatique, vous devez fournir des informations supplémentaires pour que le gestionnaire fonctionne. Vous pourrez trouver plus d'informations dans le fichier INSTALL du répertoire alsa-driver.

OPL3-SA2 et OPL3-SA3

D'après le fichier INSTALL, vous devez fournir toutes les informations suivantes pour ce gestionnaire. Si vous avez initialisé la carte avec les isapnptools, vous pouvez probablement trouver ces informations dans le fichier /etc/isapnp.conf :

snd_port - port de contrôle de l'OPL3-SA
snd_wss_port - port WSS de l'OPL3-SA (0x530,0xe80,0xf40,0x604)
snd_midi_port - port de l'UART MPU-401 (0x300,0x330), -1 pour désactiver
snd_fm_port - port FM de l'OPL3-SA (0x388), -1 pour désactiver
snd_irq - IRQ de l'OPL3-SA (5,7,9,10)
snd_dma1 - canal DMA 1 de l'OPL3-SA (0,1,3)
snd_dma1_size - taille de la mémoire tampon du DMA 1 en Ko (4-64Ko)
snd_dma2 - canal DMA 2 de l'OPL3-SA (0,1,3), -1 si aucun
snd_dma2_size - taille de la mémoire tampon du DMA 2 en Ko (4-64Ko)
Lancez un "modprobe snd-opl3sa snd_port=0xNNN snd_wss_port=0x530 snd_midi_port=-1 snd_fm_port=0x388 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" pour charger ce gestionnaire (sans support midi). Je reste convaincu que le support midi n'est nécessaire que pour connecter des synthétiseurs etc. à une machine Linux. Je n'ai jamais eu besoin du support midi, même pour jouer des fichiers midi).

Notez que les valeurs "NN" doivent être précisées, mais je ne sais pas quelles valeurs sont les plus raisonnables. Je ne sais d'ailleurs pas si la spécification d'une taille DMA est réellement nécessaire.

CS4232 et CS4232A

D'après le fichier INSTALL, vous devez fournir le port de la carte. Cependant, pour ce gestionnaire et le suivant, il m'a fallu fournir toutes les informations (à l'exception des tailles DMA) pour que le gestionnaire fonctionne. Si vous avez initialisé la carte avec les isapnptools, vous pouvez probablement trouver ces informations dans le fichier /etc/isapnp.conf :

snd_port - port du CS4232 (PnP, par défaut 0x534)
snd_cport - port de contrôle du CS4232 chip (PnP, par défaut 0x120)
snd_mpu_port - port de l'UART MPU-401 (PnP, par défaut 0x300), -1 pour désactiver
snd_fm_port - port FM du CS4232 (PnP, par défaut 0x388), -1 pour désactiver
snd_jport - port manette de jeu du CS4232 (PnP, par défaut 0x200), -1 pour désactiver
snd_irq - IRQ du CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ de l'UART MPU-401 (9,11,12,15)
snd_dma1 - canal DMA 1 du CS4232 (0,1,3)
snd_dma1_size - taille de la mémoire tampon du DMA 1 en Ko (4-64Ko)
snd_dma2 - canal DMA 2 du CS4232 (0,1,3), -1 si aucun
snd_dma2_size - taille de la mémoire tampon du DMA 2 en Ko (4-64Ko)
Lancez un "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" pour charger ce gestionnaire pour une carte configurée avec ses valeurs par défaut (sans le support midi, cf la note pour l'OPL-3, ni le support manette de jeu). Si vous utilisez d'autres valeurs dans /etc/isapnp.conf, reportez-les ici aussi.

Notez que les valeurs "NN" doivent être précisées, mais je ne sais pas quelles valeurs sont les plus raisonnables. Je ne sais d'ailleurs pas si la spécification d'une taille DMA est réellement nécessaire.

CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239

D'après le fichier INSTALL, vous devez fournir le port de la carte. Cependant, pour une carte à base de CS4237B, il m'a fallu fournir toutes les informations (à l'exception des tailles DMA) pour que le gestionnaire fonctionne. Si vous avez initialisé la carte avec les isapnptools, vous pouvez probablement trouver ces informations dans le fichier /etc/isapnp.conf :

snd_port - port du CS423x (PnP, par défaut 0x534)
snd_cport - port de contrôle du CS423x (PnP, par défaut 0x120)
snd_mpu_port - port de l'UART MPU-401 (PnP, par défaut 0x300), -1 pour désactiver
snd_fm_port - port FM du CS4232 (PnP, par défaut 0x388), -1 pour désactiver
snd_jport - port manette de jeu du CS423x (PnP, par défaut 0x200), -1 pour désactiver
snd_irq - IRQ du CS423x (5,7,9,11,12,15)
snd_mpu_irq - IRQ de l'UART MPU-401 (9,11,12,15)
snd_dma1 - canal DMA 1 du CS423x (0,1,3)
snd_dma1_size - taille de la mémoire tampon du DMA 1 en Ko (4-64Ko)
snd_dma2 - canal DMA 2 du CS423x (0,1,3), -1 si aucun
snd_dma2_size - taille de la mémoire tampon du DMA 2 en Ko (4-64Ko)
Lancez un "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" pour charger ce gestionnaire pour une carte configurée avec ses valeurs par défaut (sans le support midi, cf la note pour l'OPL-3, ni le support manette de jeu). Notes :

4.4 Chargement par kerneld

kerneld est un daemon qui charge les modules chaque fois que nécessaire, et les décharge quand ils ne sont plus utilisés. N'ayant aucune expérience de kerneld, je ne sais pas si les renseignements que je donne ici sont fiables. Ils proviennent du fichier INSTALL des gestionnaires Alsa. Une excellente source d'informations sur kerneld est le Kerneld-mini-HOWTO.

Procédez ainsi :

Exemple de /etc/conf.modules pour une carte Gravis UltraSound PnP :
alias char-major-14 snd
alias snd-minor-oss-0 snd-interwave
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-interwave
options snd snd_major=14 snd_cards_limit=1
options snd-interwave snd_index=1 snd_id="guspnp" snd_port=0x220 snd_irq=5
snd_dma1=5 snd_dma2=6
Exemple pour utiliser plus d'une carte son sur votre machine (ici pour une Sound Blaster 16 et une Gravis UltraSound Classic) :
alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-sb16
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-sb16 snd_index=1 snd_port=0x220 snd_irq=5 snd_dma8=1 snd_dma16=5
options snd-gusclassic snd_index=2 snd_irq=11 snd_dma1=6 snd_dma2=7
Exemple si deux cartes Gravis UltraSound Classic sont installées :
alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-gusclassic
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-gusclassic snd_index=1,2 snd_port=0x220,0x260 snd_irq=5,11
snd_dma1=5,6 snd_dma2=7,3

4.5 Compatibilité OSS

Si vous souhaitez avoir une compatibilité avec OSS/Free ou OSS/Linux, il vous faut charger un gestionnaire de plus : le gestionnaire de compatibilité snd-pcm1-oss. Lancez

modprobe snd-pcm1-oss
Cela vous donnera le support de /dev/audio et /dev/dsp, comme le font les gestionnaires OSS/Free (ceux du noyau) et OSS/Linux (ceux vendus séparément). Notez qu'il ne s'agit que d'une émulation.


Page suivante Page précédente Table des matières