# Configurar sonido en una ECS 945GCT-M V1.0 (snd-hda-intel)

## sadix

Hola

A ver si alguien me puede ayudar a configurar el sonido, si es que se puede, en una placa ECS 945GCT-M V1.0. Tiene Chipset Intel y un ALC883.

Estoy haciendo pruebas con el driver snd-hda-intel pero de ninguna manera me detecta la tarjeta de sonido integrada (funciona en Win y esta habilitada en BIOS).

He probado con diferentes opciones en /etc/modprobe.d/alsa.conf (options snd-hda-intel model=3stack-6ch, etc. etc. etc...) pero nunca me detecta la tarjeta de sonido.

Tambien he probado compilando todo dentro del nucleo, pasandole los parametros al kernel desde el grub.conf (kernel /boot/kernel-2.6-36.........  snd-hda-intel.model=..........)

He usado la ultima version del kernel, alguna antigua, e incluso los ebuilds alsa-driver-9999 y alsa-headers-9999, y siempre con el mismo resultado

Pegare algunos datos que creo interesantes:

```
dmesg:

...

HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

HDA Intel 0000:00:1b.0: irq 40 for MSI/MSI-X

HDA Intel 0000:00:1b.0: setting latency timer to 64

ALSA sound/pci/hda/hda_intel.c:2518: chipset global capabilities = 0x4401

ALSA sound/pci/hda/hda_intel.c:908: codec_mask = 0x0

ALSA sound/pci/hda/hda_intel.c:2613: no codecs found!

HDA Intel 0000:00:1b.0: PCI INT A disabled

ALSA device list:

  No soundcards found.

...

```

```
#cat /proc/asound/cards

--- no soundcards ---

#
```

```
lspci -vvnn

...

        00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)

        Subsystem: Elitegroup Computer Systems Device [1019:2624]

        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Interrupt: pin A routed to IRQ 16

        Region 0: Memory at fea38000 (64-bit, non-prefetchable) [size=16K]

        Capabilities: [50] Power Management version 2

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

        Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+

                Address: 00000000fee0300c  Data: 4161

        Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00

                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us

                        ExtTag- RBE- FLReset-

                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+

                        MaxPayload 128 bytes, MaxReadReq 128 bytes

                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-

                LnkCap: Port #0, Speed unknown, Width x0, ASPM unknown, Latency L0 <64ns, L1 <1us

                        ClockPM- Surprise- LLActRep- BwNot-

                LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

...
```

```
menuconfig:

   --- Advanced Linux Sound Architecture

  <*>   Sequencer support

  < >     Sequencer dummy client

  < >   OSS Mixer API

  < >   OSS PCM (digital audio) API

   [ ]   OSS Sequencer API

  <*>   HR-timer backend support

   [*]     Use HR-timer as default sequencer timer

   [*]   Dynamic device file minor numbers

   [ ]   Support old ALSA API

   [*]   Verbose procfs contents

   [*]   Verbose printk

   [*]   Debug

   [*]     More verbose debug

   [*]     Enable PCM ring buffer overrun/underrun debugging

   [ ]   Generic sound devices  --->

   [*]   PCI sound devices  --->

   [ ]   SPI sound devices  --->

   [ ]   USB sound devices  --->

  < >   ALSA for SoC audio support  --->
```

```
menuconfig:

...

  < >   ForteMedia FM801

  <*>   Intel HD Audio  --->

  < >   RME Hammerfall DSP Audio

...
```

```
menuconfig:

  --- Intel HD Audio

  -*-   Build hwdep interface for HD-audio driver

  -*-     Allow dynamic codec reconfiguration (EXPERIMENTAL)

  [ ]   Support digital beep via input layer

  [*]   Support jack plugging notification via input layer

  [*]   Support initialization patch loading for HD-audio

  [*]   Build Realtek HD-audio codec support

  [ ]   Build Analog Device HD-audio codec support

  [ ]   Build IDT/Sigmatel HD-audio codec support

  [ ]   Build VIA HD-audio codec support

  [ ]   Build ATI HDMI HD-audio codec support

  [ ]   Build NVIDIA HDMI HD-audio codec support

  [ ]   Build INTEL HDMI HD-audio codec support

  [ ]   Build Cirrus Logic codec support

  [ ]   Build Conexant HD-audio codec support

  [ ]   Build Creative CA0110-IBG codec support

  [ ]   Build C-Media HD-audio codec support

  [ ]   Build Silicon Labs 3054 HD-modem codec support

  [*]   Enable generic HD-audio codec parser

  [ ]   Aggressive power-saving on HD-audio
```

Es curioso que cuando tenía todo como modulos me cargaban todos automaticamente (snd-hda-intel, etc. etc. tec.) pero no el de Realtek (snd-hda-codec-realtek)

Alguien tiene alguna idea de que mas puedo intentar?

Muchas graciasLast edited by sadix on Tue Oct 26, 2010 8:41 pm; edited 1 time in total

----------

## pelelademadera

proba con estas opciones:

 *Quote:*   

>   │ │      <*>   Sequencer support                                                      │ │   
> 
>   │ │      < >     Sequencer dummy client                                               │ │   
> 
>   │ │      <*>   OSS Mixer API                                                          │ │   
> ...

 

si no anda habilita todos los codecs, y si anda, chequea cual es el que carga. marcalo como modulo o marca con M

  [*]   PCI sound devices  --->

----------

## Inodoro_Pereyra

Son preguntas tontas pero alguien tiene que hacerlas:

El servicio alsasound está corriendo? Has ejecutado alsaconf y alsamixer y verificado que ningún interruptor esté en modo mute? Has probado reproducir audio con alguna aplicación que no dependa del subsistema de sonido de tu gerstor de ventanas, como por ejemplo media-video/mplayer o media-sound/alsaplayer?

Salud!

----------

## sadix

pelelademadera:

Ya he probado activando lo que me dices, aunque realmente no necesito la emulación de OSS, solo necesito ALSA a pelo, pues esto solo va a llevar un XBMC.  :Smile: 

También probe a activar todos los codecs y el que me carga es el snd-hda-intel. Curiosamente no me carga automaticamente el snd-hda-intel-realtek. En la placa se ve claramente el chip ALC883.

En cualquier caso:

```
#cat /proc/asound/cards

--- no soundcards ---

#
```

Basicamente el problema es que no me reconece la tarjeta de sonido ACL883, por lo que de poco me sirve activar el OSS.

Inodoro_Pereyra:

/etc/init.d/alsasound esta ejecutandose. alsaconf me detecta y carga snd-hda-intel (aunque no snd-hda-intel-realtek, que lo cargo a mano). Estoy haciendo todas las pruebas desde bash, no tengo ningun gestor de ventanas ni nada parecido por ahora. En cuanto a alsamixer, alsaplayer, etc. no me valen de nada porque no tengo una tarjeta de sonido configurada.

Por cierto que he flasheado la placa por si acaso, y el resultado es el mismo. Off topic: He flaseado montones de placas y a las EliteGroup las tengo un miedo ..... xD

De todas formas muchas gracias a los dos. Alguna idea nueva ?

----------

## esteban_conde

 *Quote:*   

>  [ ]   Generic sound devices  --->
> 
>    [*]   PCI sound devices  ---> 
> 
> 

 

Las opciones que tienen la flecha detras --> al situarse sobre ellas y pulsar intro despegan un submenu con opciones más especificas, generalmente módulos, ahí es donde tienes que marcar el driver de tu tarjeta procura que sea <M> en vez de <*> para ver si lo carga ademas de que hay drivers que no funcionan bien si se compilan dentro del kernel.

----------

## sadix

esteban_conde:

Si, lo se, llevo años compilando mi propio kernel.  :Smile: 

Como he comentado arriba, tengo activado el snd-hda-intel y el snd-hda-intel-realtek. He probado a meter todo como modulos también, y el resultado, como comento arriba, es que me carga automaticamente el snd-hda-intel, pero no el snd-hda-intel-realtek. La tarjeta de sonido es una Realtek ALC883 que funciona como un "codec" a traves del chipset intel (HD Intel).

Muchas gracias de todas formas. 

Alguna idea nueva ?  :Smile: 

----------

## sadix

Hola.

He estado jugando bastante con algunas opciones del driver snd-hda-intel como son "model", "probe_mask", "position_fix" o "index", pero no he tenido mucha suerte.

Alguien que haya tenido que enredar con estos parametros ???

----------

## cameta

He estado mirando por el kernel.

si la realtek es una opcion que esta dentro del chipset intel.

yo compilaria todo como modulos y probaria a cargarlos manualmente.

y pondira el resultado del lsmod aquí

dale a modprobe snd-hda-intel-realtek o como sea que se llame

(luego ya nos precupariamos por cargarlos automaticamente)

----------

## esteban_conde

 *Quote:*   

> snd-hda-intel, pero no el snd-hda-intel-realtek

 

Prueba a echo snd-hda-intel-realtek >>/etc/modules.autoload.d/kernel-2.6

aqui asumimos que ese es efectivamente el nombre del módulo(supongo que tu ya lo habras comprobado).

De esta forma el modulo se te carga antes que el otro cuando reinicies y sabremos si interactuan.

----------

## sadix

```
CONFIG_SND_HDA_INTEL:

Say Y here to include support for Intel "High Definition

Audio" (Azalia) and its compatible devices.

This option enables the HD-audio controller.  Don't forget

to choose the appropriate codec options below.

To compile this driver as a module, choose M here: the module

will be called snd-hda-intel.
```

```
CONFIG_SND_HDA_CODEC_REALTEK:

Say Y here to include Realtek HD-audio codec support in

snd-hda-intel driver, such as ALC880.

When the HD-audio driver is built as a module, the codec

support code is also built as another module,

snd-hda-codec-realtek.

This module is automatically loaded at probing.
```

```
wanda ~ # cat /proc/asound/cards

--- no soundcards ---

wanda ~ # lsmod

Module                  Size  Used by

wanda ~ # modprobe snd_hda_intel

wanda ~ # lsmod

Module                  Size  Used by

snd_hda_intel          19338  0

snd_hda_codec          59645  1 snd_hda_intel

snd_hwdep               5076  1 snd_hda_codec

snd_pcm                65127  2 snd_hda_intel,snd_hda_codec

snd_page_alloc          5817  2 snd_hda_intel,snd_pcm

wanda ~ # dmesg |tail -n 7

HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

HDA Intel 0000:00:1b.0: irq 40 for MSI/MSI-X

HDA Intel 0000:00:1b.0: setting latency timer to 64

ALSA sound/pci/hda/hda_intel.c:2518: chipset global capabilities = 0x4401

ALSA sound/pci/hda/hda_intel.c:908: codec_mask = 0x0

ALSA sound/pci/hda/hda_intel.c:2613: no codecs found!

HDA Intel 0000:00:1b.0: PCI INT A disabled

wanda ~ # cat /proc/asound/cards

--- no soundcards ---

wanda ~ #
```

Vale, cargo snd_hda_intel, pero no me carga automaticamente snd_hda_codec_realtek.

Lo hacemos al reves, cargamos snd_hda_codec_realtek:

```
wanda ~ # rmmod snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_page_alloc

wanda ~ # lsmod

Module                  Size  Used by

wanda ~ # modprobe snd_hda_codec_realtek

wanda ~ # lsmod

Module                  Size  Used by

snd_hda_codec_realtek   277209  0

snd_hda_codec          59645  1 snd_hda_codec_realtek

snd_hwdep               5076  1 snd_hda_codec

snd_pcm                65127  1 snd_hda_codec

snd_page_alloc          5817  1 snd_pcm

wanda ~ # cat /proc/asound/cards

--- no soundcards ---

wanda ~ # dmesg |tail -n 7

HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

HDA Intel 0000:00:1b.0: irq 40 for MSI/MSI-X

HDA Intel 0000:00:1b.0: setting latency timer to 64

ALSA sound/pci/hda/hda_intel.c:2518: chipset global capabilities = 0x4401

ALSA sound/pci/hda/hda_intel.c:908: codec_mask = 0x0

ALSA sound/pci/hda/hda_intel.c:2613: no codecs found!

HDA Intel 0000:00:1b.0: PCI INT A disabled

wanda ~ #
```

Ok, vemos que snd_hda_codec_realtek no ha cargado snd_hda_intel, ni ha hecho "na de na" puesto que lo ultimo que nos muestra dmesg es referente a snd_hda_intel.

Cargamos ahora snd_hda_intel ....

```
wanda ~ # modprobe snd_hda_intel

wanda ~ # lsmod

Module                  Size  Used by

snd_hda_intel          19338  0

snd_hda_codec_realtek   277209  0

snd_hda_codec          59645  2 snd_hda_intel,snd_hda_codec_realtek

snd_hwdep               5076  1 snd_hda_codec

snd_pcm                65127  2 snd_hda_intel,snd_hda_codec

snd_page_alloc          5817  2 snd_hda_intel,snd_pcm

wanda ~ # cat /proc/asound/cards

--- no soundcards ---

wanda ~ # dmesg |tail -n7

HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

HDA Intel 0000:00:1b.0: irq 40 for MSI/MSI-X

HDA Intel 0000:00:1b.0: setting latency timer to 64

ALSA sound/pci/hda/hda_intel.c:2518: chipset global capabilities = 0x4401

ALSA sound/pci/hda/hda_intel.c:908: codec_mask = 0x0

ALSA sound/pci/hda/hda_intel.c:2613: no codecs found!

HDA Intel 0000:00:1b.0: PCI INT A disabled

wanda ~ #
```

Vale, tenemos cargados los dos modulos, snd_hda_codec_realtek antes que snd_hda_intel, pero el mensaje en dmesg es exactamente el mismo.  :Sad: 

----------

## cameta

El problema podria estar en que el codec que el CODEC_REALTEK no sea el que use tu tarjeta, si te fijas en el kernel hay muchos más tipos de codec 

```

  | |    [*]   Build Realtek HD-audio codec support (NEW)                    │ │   

  │ │    [*]   Build Analog Device HD-audio codec support (NEW)              │ │   

  │ │    [*]   Build IDT/Sigmatel HD-audio codec support (NEW)               │ │   

  │ │    [*]   Build VIA HD-audio codec support (NEW)                        │ │   

  │ │    [*]   Build ATI HDMI HD-audio codec support (NEW)                   │ │   

  │ │    [*]   Build NVIDIA HDMI HD-audio codec support (NEW)                │ │   

  │ │    [*]   Build INTEL HDMI HD-audio codec support (NEW)                 │ │   

  │ └────v(+)─────────
```

----------

## sadix

MATAME SI QUIERES !!!!!!!!!!!!!!!

Encontre el fallo  :Sad: 

He vuelto a instalar un Win en otro disco duro viejo que tenia por ahí y tampoco me detecta la tarjeta de sonido (Si, está activada en BIOS). Lo curioso es que esta placa estubo funcionando en windows y con sonido hasta justo antes de ponerle Linux.

Hablando en plata, LA PLACA A TOMAR POR CULO !!!!! #@#@~#~¬~€¬¬

Creo que la solucion será esta:

http://www.asrock.com/mb/overview.asp?Model=G41MH-GE

Muchas gracias a todos por la ayuda

----------

## cameta

Vaya un fallo de Hardware.

----------

