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


Dispositivi Cirrus Logic Sound Fusion CS4280, CS461x, CS462x, CS463x

Questa pagina descrive come abilitare su Debian il supporto per i dispositivi audio basati sui chipset CS46xx.

snd-cs46xx è un modulo del kernel Linux che supporta i controller audio Sound Fusion CS46xx di Cirrus Logic. È un driver ALSA incluso nel kernel Linux.

Da linux-2.6 2.6.23-1, il pacchetto binario del firmware di questo driver è stato rimosso (vedere il changelog) a causa di problemi di licenza. Il firmware è stato inoltre rimosso dal pacchetto alsa-source per risolvere il bug 483918.

In linux-2.6 2.6.31-1~experimental.1, il driver snd-cs46xx è stato reinserito e modificato per utilizzare il firmware in spazio utente (risolvendo il bug 464197).

Il firmware non può essere distribuito dal progetto Debian in quanto il driver snd-cs46xx non ha una licenza.1 È stata richiesta una licenza di libera ridistribuzione a Cirrus Logic.2

Installazione

Per l'uso del dispositivo è richiesta l'aggiunta di un firmware.

  1. Installare i pacchetti alsa-base, alsa-utils e build-essential:

    $ su
    # aptitude update && aptitude install alsa-base alsa-utils build-essential
    # exit
  2. Scaricare il file cs46xx_image.h dal ramo del kernel di Linus:

    $ wget 'http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=sound/pci/cs46xx/cs46xx_image.h;hb=HEAD' -O cs46xx_image.h
  3. Scaricare il codice sorgente di un programma per creare il firmware da cs46xx_image.h:

    $ wget 'http://wiki.debian.org/snd-cs46xx?action=AttachFile&do=get&target=write_images.c' -O write_images.c
  4. Scaricare una patch per cs46xx_image.h:

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

    $ patch -i cs46xx_image.diff
  6. Compilare il programma write_images:

    $ gcc -o write_images write_images.c
  7. Eseguirlo per creare il firmware:

    $ ./write_images
  8. Installare il firmware:

    $ su
    # mkdir /lib/firmware/cs46xx
    # cp cs46xx/cs46xx-old.fw /lib/firmware/cs46xx
  9. Ricaricare il modulo snd-cs46xx:

    # modprobe -r snd-cs46xx ; modprobe snd-cs46xx
  10. Se non già effettuato, aggiungere l'account utente al gruppo audio e rieffettuare il login al sistema:

    # adduser nome_utente audio
    # exit
    $ exit
  11. Eseguire alsamixer(1) per riattivare i canali e alzare i livelli del volume.

  12. Provare il dispositivo, usando ad esempio:

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

Risoluzione dei problemi

Dispositivi supportati

Consultare la pagina che spiega come identificare un dispositivo PCI.

L'elenco seguente è basato sui campi alias del comando modinfo snd-cs46xx su Debian con il kernel 3.2.0 (3.2.51-1).

Si veda anche


CategoryHardware | CategorySound