Translation(s): English - Français - Italiano


Périphériques Cirrus Logic Sound Fusion CS4280, CS461x, CS462x, CS463x

Cette page décrit comment utiliser, sur les systèmes Debian, les périphériques audio basés sur les chipsets CS46xx.

snd-cs46xx est un module du noyau Linux qui prend en charge les contrôleurs audio Sound Fusion CS46xx de Cirrus Logic. C'est un pilote d'ALSA fourni avec le noyau Linux.

Avec la version 2.6.23-1 du noyau linux-2.6, le microcode, disponible seulement sous forme binaire, de ce pilote a été retiré du fait de problèmes de licence. Le pilote a alors été désactivé. Le microcode a été aussi retiré du paquet alsa-source pour résoudre le bogue 483918.

Avec la version 2.6.23-1~experimental.1 du noyau linux-2.6, le pilote snd-cs46xx a été réactivé et patché pour utiliser un microcode à partir de l'espace utilisateur (résolvant le bogue de Debian 464197).

Avec le noyau Linux 3.14, le microcode, disponible seulement sous forme binaire, a été rétiré de l'arborescence du noyau, et le pilote modifié pour le charger de l'extérieur. Le microcode du périphérique fait partie des versions d'ALSA depuis la version 1.0.28.1

Le microcode du périphérique ne peut pas être distribué par le projet parce que le pilote snd-cs46xx n'a pas de licence.2 Une licence pour une diffusion libre a été demandé à Cirrus Logic.3

Installation

Debian 8 « Jessie »

Plusieurs fichiers de microcode sont nécessaires pour utiliser ce périphérique et peuvent être récupérés dans le projet ALSA.

  1. Installez le paquet alsa-utils :

    $ su
    # aptitude update && aptitude install alsa-utils
    # exit
  2. Récupérez une archive d'alsa-firmware (≥ v1.0.28) à partir du serveur du projet ALSA, par exemple :

    $ wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.28.tar.bz2
  3. Extrayez l'archive, par exemple :

    $ tar xvf alsa-firmware-1.0.28.tar.bz2
  4. Installez le microcode sur votre machine, par exemple :

    $ cd alsa-firmware-1.0.28/cs46xx
    $ su
    # mkdir /lib/firmware/cs46xx
    # cp ba1 cwc4630 cwcasync cwcbinhack cwcdma cwcsnoop /lib/firmware/cs46xx
  5. Rechargez le module snd-cs46xx :

    # modprobe -r snd-cs46xx ; modprobe snd-cs46xx
  6. Si ce n'est pas déjà fait, ajoutez votre compte utilisateur au groupe audio, déconnectez-vous puis reconnectez-vous au système :

    # adduser yourusername audio
    # exit
    $ exit
  7. Exécutez alsamixer(1) pour activer les canaux audio et montez le volume.

  8. Testez le périphérique audio, par exemple :

    $ aplay /usr/share/sounds/alsa/Noise.wav
    $ speaker-test -t sine -f 440 -c 2
    $ speaker-test -t wav -c 2

Debian 7 « Wheezy »

Un fichier de firmware est nécessaire pour utiliser ce périphérique.

  1. Installez les paquets alsa-base, alsa-utils et build-essential :

    $ su
    # aptitude update && aptitude install alsa-base alsa-utils build-essential
    # exit
  2. Téléchargez le fichier cs46xx_image.h à partir de l'arborescence du noyau de Linus :

    $ wget https://raw.github.com/torvalds/linux/v3.2/sound/pci/cs46xx/cs46xx_image.h
  3. Téléchargez le code source pour le programme qui va créer le firmware à partir de cs46xx_image.h :

    $ wget 'https://wiki.debian.org/snd-cs46xx?action=AttachFile&do=get&target=write_images.c' -O write_images.c
  4. Téléchargez le patch pour cs46xx_image.h:

    $ wget 'https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=181;att=0;bug=464197' -O cs46xx_image.diff
  5. Appliquer le patch:

    $ patch -i cs46xx_image.diff
  6. Compilez le programme write_images :

    $ gcc -o write_images write_images.c
  7. Exécutez le programme pour créer le firmware :

    $ ./write_images
  8. Installez le microcode :

    $ su
    # mkdir /lib/firmware/cs46xx
    # cp cs46xx/cs46xx-old.fw /lib/firmware/cs46xx
  9. Rechargez le module snd-cs46xx module :

    # modprobe -r snd-cs46xx ; modprobe snd-cs46xx
  10. Si ce n'est pas déjà fait, ajoutez votre compte utilisateur au groupe audio, déconnectez-vous puis reconnectez-vous au système :

    # adduser nom_d'utilisateur audio
    # exit
    $ exit
  11. Exécutez alsamixer(1) pour activer les canaux audio et montez le volume.

  12. Testez le périphérique audio, par exemple :

    $ aplay /usr/share/sounds/alsa/Noise.wav
    $ speaker-test -t sine -f 440 -c 2
    $ speaker-test -t wav -c 2

Dépannage

Périphériques pris en charge

La page fr/HowToIdentifyADevice/PCI explique comment identifier un périphérique PCI.

La liste suivante est basée sur les champs alias de modinfo snd-cs46xx des images noyau de Debian 3.16 (3.16.7-ckt9-3~deb8u1).

Voir aussi


CategoryHardware | CategorySound