Problemas con el chipset de sonido CMI8330

Base de Datos de Soporte (thallma_cmi8330_kernelsnd)
Referido a

SuSE Linux: Versiones desde 7.1

Síntoma

A pesar de haber conseguido configurar la tarjeta de sonido con el chipset CMI8330, la tarjeta "no suena". La comprobación de los módulos cargados con el comando "lsmod" muestra que el módulo apropiado de ALSA, "snd-card-cmi8330" ha sido cargado correctamente.

Causa

Desconocida hasta ahora.

Solución

Utilice para la configuración el módulo del kernel en lugar de usar ALSA/YaST2. La configuración del sonido del kernel requiere efectuar algunas operaciones "manualmente", así que a continuación se detalla el procedimiento paso a paso.

En primer lugar borre la configuración de sonido actual, ya que ALSA y el sonido del kernel no pueden trabajar simultáneamente.

Para conseguir esto, debe descargar primero todos los módulos de ALSA. Ejecute el comando "rcalsasound stop".

Compruebe con el comando "lsmod" que ninguno de los siguientes módulos sigue todavía cargado:

snd-seq-midi
snd-seq-midi-event
snd-seq
snd-pcm
snd-timer
snd-rawmidi
snd-seq-device
snd-ac97-codec
snd-mixer
snd
soundcore

Si encuentra que algún módulo de estos está todavía cargado, descargue-lo con el comando

rmmod nombre_del_módulo

Si la carga de un módulo particular falla, descargue primero el resto e intente-lo después.

Tras completar la descarga de todos los módulos de sonido, debe editar el archivo de configuración "/etc/modules.conf". Abra el archivo con su editor Ascii favorito (p.e. "pico"). Desplácese al final del archivo. Encontrará la configuración de sonido hecha por YaST2:

#   
# YaST2: sound cards support
#  
alias char-major-116 snd
options snd snd_cards_limit=1 snd_major=116
alias snd-card-0 snd-card-cmi8330
options snd-card-cmi8330 snd_id=card1 snd_index=0
 
#
# YaST2: sound system dependent part
#
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-11 snd-mixer-oss
alias sound-service-0-12 snd-pcm-oss

Borre estas lineas. Si realizo más de un intento de configuración, puede encontrar entradas similares que deben ser borradas también. Guarde los cambios y salga del editor.

YaST2 debe ser "informado" de que la configuración de sonido ha sido borrada manualmente. Abra el archivo "/var/lib/YaST/unique.inf" y busque la linea:

[sound]
oJUp.LB5FQylNql1 configured  

Borre la linea que contiene configured. Si encuentra más lineas después de la entrada "[sound]" borre-las también. De nuevo, guarde los cambios realizados.

El segundo paso es configurar el sonido del kernel.

Ejecute los siguientes comandos como usuario root:

mv /etc/isapnp.conf /etc/isapnp.conf.old
pnpdump -c > /etc/isapnp.conf
isapnp /etc/isapnp.conf

El primer comando puede causar un mensaje de error si no ha ejecutado nunca los comandos "pnpdump" o "isapnp" en su sistema.

El segundo comando crea un fichero de configuración que se requiere para el tercer comando.

El tercer comando muestra los recursos requeridos por su tarjeta de sonido. Anote los valores (Si tiene otros componentes ISAPnP adicionales, verá también los recursos requeridos).

Verá gran cantidad de información, ya que las tarjetas de sonido tiene muchos sub-dispositivos. Solo la primera linea de la salida es relevante (nota: Habitualmente esta linea es tan larga que aparece a menudo cortada!). Un ejemplo:

CMI0001 Serial No 16777472 [checksum 8d] CMI0001/16777472[0]{CMI8330. Audio Adapter}: Ports 0x530 0x388; IRQ5 DMA0 --- Enabled OK

Ahora son necesarios algunos cambios en el fichero "/etc/modules.conf" Busque en el las lineas:

alias char-major-14 off
alias sound off
alias midi off

Y márquelas con el prefijo de comentario "#". Si ha utilizado el programa "alsaconf" antes, es posible que no encuentre la primera linea "alias char-major-14 off" - Esto no es importante, sencillamente edite las últimas dos lineas en ese caso. Ahora debería parecerse a algo como:

# alias char-major-14 off
# alias sound off
# alias midi off

Busque las siguientes lineas:

# alias char-major-14 ad1848
# options ad1848 io=0x530 irq=7 dma=0 dma2=3

Quite el prefijo "#" y adapte las opciones de acuerdo con sus notas sobre los recursos requeridos por la tarjeta de sonido. Borre el parámetro "dma2=3" de manera que se lea algo como:

alias char-major-14 ad1848
options ad1848 io=0x530 irq=5 dma=0

Guarde los cambios y ejecute los comandos:

depmod -a
modprobe ad1848

Ahora la tarjeta de sonido debería estar configurada correctamente.

En caso que la solución anterior no funcione, envíe un email a la dirección support@suse.de incluyendo la descripción detallada de los mensajes de error obtenidos.


Palabras clave: SOUND, PROBLEM, CONFIGURE, CMI, 8330, NO

Temas: Sonido

SDB-thallma_cmi8330_kernelsnd, Copyright SuSE Linux AG, Nürnberg, Germany - Versión: 20. Sep 2001
SuSE Linux AG - : 08. Okt 2001 de dstark (sdb_gen 1.40.0)