5663
Comment: sync with English master
|
5441
sync with English master
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
'''Attenzione; almeno il collegamento a raw.github.com non è raggiungibile!''' | |
Line 9: | Line 9: |
<<TableOfContents(2)>> | <<TableOfContents(3)>> |
Line 13: | Line 13: |
Da [[DebianPkg:src:linux-2.6|linux-2.6]] 2.6.23-1, il pacchetto binario del firmware di questo driver è stato rimosso (vedere il [[http://packages.debian.org/changelogs/pool/main/l/linux-2.6/current/changelog#version2.6.23-1|changelog]]) a causa di [[KernelFirmwareLicensing|problemi di licenza]]. Il firmware è stato inoltre rimosso dal pacchetto DebianPkg:alsa-source per risolvere il bug DebianBug:483918. | Da [[DebianPkg:src:linux-2.6|linux-2.6]] 2.6.23-1, il pacchetto binario del firmware di questo driver è stato rimosso a causa di [[KernelFirmwareLicensing|problemi di licenza]]. Il driver è stato in tale occasione disabilitato. Il firmware è stato inoltre rimosso dal pacchetto DebianPkg:alsa-source per risolvere il bug DebianBug:483918. |
Line 17: | Line 17: |
Il firmware non può essere distribuito dal progetto Debian in quanto il driver snd-cs46xx non ha una licenza.<<FootNote([[http://bugzilla.kernel.org/show_bug.cgi?id=10750|il driver audio CS46xx non fornisce una licenza]] - Kernel Bug Tracker, Bug 10750)>> È stata richiesta una licenza di libera ridistribuzione a Cirrus Logic.<<FootNote([[KernelFirmwareLicensing#cs46xx_image.h_.28sound.2BAC8-pci.2BAC8-cs46xx.29|cs46xx_image.h (sound/pci/cs46xx)]] - [[KernelFirmwareLicensing|Stato dei firmware distribuiti con i sorgenti del kernel Linux]])>> | Il firmware non può essere distribuito dal progetto Debian in quanto il driver snd-cs46xx non ha una licenza.<<FootNote([[https://bugzilla.kernel.org/show_bug.cgi?id=10750|il driver audio CS46xx non fornisce una licenza]] - Kernel Bug Tracker, Bug 10750)>> È stata richiesta una licenza di libera ridistribuzione a Cirrus Logic.<<FootNote([[KernelFirmwareLicensing#cs46xx_image.h_.28sound.2Fpci.2Fcs46xx.29|cs46xx_image.h (sound/pci/cs46xx)]] - [[KernelFirmwareLicensing|Stato dei firmware distribuiti con i sorgenti del kernel Linux]])>> |
Line 20: | Line 20: |
=== Debian 7 "Wheezy" === | |
Line 28: | Line 28: |
1. Scaricare il file [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=sound/pci/cs46xx/cs46xx_image.h;hb=HEAD|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 |
1. Scaricare il file [[https://github.com/torvalds/linux/blob/v3.2/sound/pci/cs46xx/cs46xx_image.h|cs46xx_image.h]] dal ramo del kernel di Linus: {{{ $ wget https://raw.github.com/torvalds/linux/v3.2/sound/pci/cs46xx/cs46xx_image.h |
Line 31: | Line 31: |
1. Scaricare il [[attachment:snd-cs46xx/write_images.c|codice sorgente]] di un [[http://bugs.debian.org/464197#34|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 |
1. Scaricare il [[attachment:snd-cs46xx/write_images.c|codice sorgente]] di un [[https://bugs.debian.org/464197#34|programma per creare il firmware]] da {{{cs46xx_image.h}}}: {{{ $ wget 'https://wiki.debian.org/snd-cs46xx?action=AttachFile&do=get&target=write_images.c' -O write_images.c |
Line 34: | Line 34: |
1. Scaricare una [[http://bugs.debian.org/464197#181|patch]] per {{{cs46xx_image.h}}}: {{{ $ wget 'http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=181;att=0;bug=464197' -O cs46xx_image.diff |
1. Scaricare una [[https://bugs.debian.org/464197#181|patch]] per {{{cs46xx_image.h}}}: {{{ $ wget 'https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=181;att=0;bug=464197' -O cs46xx_image.diff |
Line 87: | Line 87: |
L'elenco seguente è basato sui campi ''alias'' del comando {{{modinfo snd-cs46xx}}} su Debian con il kernel 3.2.0 (3.2.51-1). | L'elenco seguente è basato sui campi ''alias'' del comando {{{modinfo snd-cs46xx}}} su Debian con il kernel 3.2.0 (3.2.65-1+deb7u2). |
Traduzioni: 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.
Contents
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 a causa di problemi di licenza. Il driver è stato in tale occasione disabilitato. 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
Debian 7 "Wheezy"
Per l'uso del dispositivo è richiesta l'aggiunta di un firmware.
Installare i pacchetti alsa-base, alsa-utils e build-essential:
$ su # aptitude update && aptitude install alsa-base alsa-utils build-essential # exit
Scaricare il file cs46xx_image.h dal ramo del kernel di Linus:
$ wget https://raw.github.com/torvalds/linux/v3.2/sound/pci/cs46xx/cs46xx_image.h
Scaricare il codice sorgente di un programma per creare il firmware da cs46xx_image.h:
$ wget 'https://wiki.debian.org/snd-cs46xx?action=AttachFile&do=get&target=write_images.c' -O write_images.c
Scaricare una patch per cs46xx_image.h:
$ wget 'https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=181;att=0;bug=464197' -O cs46xx_image.diff
Applicare la patch:
$ patch -i cs46xx_image.diff
Compilare il programma write_images:
$ gcc -o write_images write_images.c
Eseguirlo per creare il firmware:
$ ./write_images
Installare il firmware:
$ su # mkdir /lib/firmware/cs46xx # cp cs46xx/cs46xx-old.fw /lib/firmware/cs46xx
Ricaricare il modulo snd-cs46xx:
# modprobe -r snd-cs46xx ; modprobe snd-cs46xx
Se non già effettuato, aggiungere l'account utente al gruppo audio e rieffettuare il login al sistema:
# adduser nome_utente audio # exit $ exit
Eseguire alsamixer(1) per riattivare i canali e alzare i livelli del volume.
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
Esaminare il ring buffer del kernel (dmesg(1)) per verificare che il firmware sia stato caricato.
Se viene mostrato qualcosa di simile:
[16576.681738] Sound Fusion CS46xx 0000:00:06.0: found PCI INT A -> IRQ 11 [16576.681774] Sound Fusion CS46xx 0000:00:06.0: sharing IRQ 11 with 0000:00:02.0 [16576.681827] Sound Fusion CS46xx 0000:00:06.0: sharing IRQ 11 with 0000:01:00.0 [16577.224760] Sound Fusion CS46xx 0000:00:06.0: firmware: requesting cs46xx/cs46xx-old.fw [16577.403887] cs46xx: firmware hunk out of range [16577.406087] image download error [16577.412213] Sound Fusion CS46xx: probe of 0000:00:06.0 failed with error
Il firmware non è nel formato corretto.
Assicurarsi che la patch per cs46xx_image.h sia applicata prima di compilare write_images.c.
Assicurarsi che write_images sia eseguito su un sistema dove la variabile unsigned long è little-endian 32-bit.
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.65-1+deb7u2).
PCI: 1013:6001 Cirrus Logic CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] PCI: 1013:6003 Cirrus Logic CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] PCI: 1013:6004 Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
Si veda anche
CategoryHardware | CategorySound
il driver audio CS46xx non fornisce una licenza - Kernel Bug Tracker, Bug 10750 (1)
cs46xx_image.h (sound/pci/cs46xx) - Stato dei firmware distribuiti con i sorgenti del kernel Linux (2)