# Silent Speakers (nVidia MCP79, MacBook Pro 5,1)

## daaaaang

Over the past couple months I have got Gentoo working extremely well in most ways on my macbook. Unfortunately, I still have no sound, and I haven't yet found a working solution that someone else posted. So here is where I am now:

```
# lspci

00:00.0 Host bridge: nVidia Corporation MCP79 Host Bridge (rev b1)

00:00.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.0 ISA bridge: nVidia Corporation MCP79 LPC Bridge (rev b2)

00:03.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.2 SMBus: nVidia Corporation MCP79 SMBus (rev b1)

00:03.3 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.4 RAM memory: nVidia Corporation Device 0a98 (rev b1)

00:03.5 Co-processor: nVidia Corporation MCP79 Co-processor (rev b1)

00:04.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1 Controller (rev b1)

00:04.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0 Controller (rev b1)

00:06.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1 Controller (rev b1)

00:06.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0 Controller (rev b1)

00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)

00:09.0 PCI bridge: nVidia Corporation MCP79 PCI Bridge (rev b1)

00:0a.0 Ethernet controller: nVidia Corporation MCP79 Ethernet (rev b1)

00:0b.0 IDE interface: nVidia Corporation MCP79 SATA Controller (rev b1)

00:0c.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)

00:15.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)

00:16.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)

00:17.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)

02:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)

04:00.0 Network controller: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)

05:00.0 FireWire (IEEE 1394): Agere Systems FW643 PCI Express1394b Controller (PHY/Link) (rev 06)

# lsmod

Module                  Size  Used by

snd_hda_intel          19698  1 

snd_hda_codec          73642  1 snd_hda_intel

snd_hwdep               5940  1 snd_hda_codec

snd_pcm                63100  2 snd_hda_intel,snd_hda_codec

lib80211_crypt_tkip     8053  0 

wl                   1934924  0 

snd_timer              17695  1 snd_pcm

snd                    51197  7 snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer

soundcore               5455  1 snd

i2c_nforce2             5304  0 

thermal                11850  0 

snd_page_alloc          6697  2 snd_hda_intel,snd_pcm

processor              22783  2 

# aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: NVidia [HDA NVidia], device 0: HDA Generic [HDA Generic]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

```

Also here is my kernel (2.6.34-gentoo-r1) configuration regarding sound:

```
Device Drivers --->

  <M> Sound card support --->

    [*] Preclaim OSS device numbers

    <M> Advanced Linux Sound Architecture --->

      <M> Sequencer support

      < >   Sequencer dummy client

      <M> OSS Mixer API

      <M> OSS PCM (digital audio) API

      [*]   OSS PCM (digital audio) API - Include plugin system

      [*] OSS Sequencer API

      <M> HR-timer backend support

      [ ]   Use HR-timer as default sequencer timer

      ...

      [*] PCI Sound Services --->

        ...

        <M> Intel HD Audio --->

          -*- Build hwdep interface for HD-audio driver

          -*-   Allow dynamic codec reconfiguration (EXPERIMENTAL)

          [*] Support digital beep via input layer

          (1)   Digital beep registration mode (0=off, 1=on, 2=mute sw on/off)

          [*] 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 HD-audio 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

          (0)   Default time-out for HD-audio power-save mode

        ...
```

As an example, if I open VLC and try to play an mp3, I get this message in the console:

```
[0x758ca8] main demux error: no meta reader module matched "any"

QPainter::begin: Paint device returned engine == 0, type: 1
```

and then it looks as though it is happily playing the file, except that no sound comes out of the speakers or headphones. The same happens for other audio types, or avi videos with sound (the video plays fine as well -- just no sound).

Messing with alsamixer does not seem to have any effect, even with every bar unmuted and turned all the way up.

Any ideas? Much appreciated!

MattLast edited by daaaaang on Wed Jan 26, 2011 10:27 pm; edited 1 time in total

----------

## st0rm

I believe oss is conflicting with alsa.  Either unload your oss modules or remove oss from your kernel.  oss is deprecated.

----------

## EatMeerkats

Mine's not a 5,5, but you might try some of the suggestions in the following Ubuntu-related links:

https://help.ubuntu.com/community/MacBookPro5-5/Jaunty#Sound

http://ubuntuforums.org/showthread.php?t=1188849

----------

## daaaaang

Well, as shown I have the alsa oss (e.g. CONFIG_SND_MIXER_OSS and CONFIG_SND_SEQUENCER_OSS) stuff turned on, but CONFIG_SOUND_PRIME is definitely off. I'm assuming you're talking about that, not the alsa stuff? I'll try turning off the alsa oss stuff to see if that makes a difference though.

----------

## daaaaang

Okay, I have some time again, so it's time to try and get the sound going again!

I upgraded to the newest kernel (2.6.36-gentoo-r5), and here's what I've got for sound:

```
<M> Sound card support  --->

  <M>   Advanced Linux Sound Architecture  --->

    <M>   Sequencer support

    < >     Sequencer dummy client

    < >   OSS Mixer API

    < >   OSS PCM (digital audio) API

    [ ]   OSS Sequencer API

    <M>   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

    [ ]   Generic sound devices  --->

    [*]   PCI sound devices  --->

      ...

      <M>   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

      ...

    [ ]   USB sound devices  --->

    < >   ALSA for SoC audio support  --->

  < >   Open Sound System (DEPRECATED)  --->
```

Here is some other possibly-relevant information:

```
# lsmod

Module                  Size  Used by

nvidia              10075520  24 

snd_hda_intel          20672  0 

snd_hda_codec          71089  1 snd_hda_intel

snd_hwdep               5572  1 snd_hda_codec

snd_pcm                63208  2 snd_hda_intel,snd_hda_codec

lib80211_crypt_tkip     7899  0 

wl                   1934796  0 

snd_timer              18221  1 snd_pcm

snd                    46189  5 snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer

soundcore                856  1 snd

snd_page_alloc          6713  2 snd_hda_intel,snd_pcm

thermal                11791  0 

i2c_nforce2             4904  0 

processor              19607  2 

# lspci -vs 00:08.0

00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)

        Subsystem: nVidia Corporation Device cb79

        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21

        Memory at af480000 (32-bit, non-prefetchable) [size=16K]

        Capabilities: [44] Power Management version 2

        Kernel driver in use: HDA Intel

        Kernel modules: snd-hda-intel

# aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: NVidia [HDA NVidia], device 0: HDA Generic [HDA Generic]

  Subdevices: 1/1

  Subdevice #0: subdevice #0
```

If I run alsaconf, I get the following message:

```
No supported PnP or PCI card found.
```

Lastly, if I run VLC, it starts up with this error:

 *Quote:*   

> Potential ALSA version problem:
> 
> VLC failed to initialize your sound output device (if any).
> 
> Please update alsa-lib to version 1.0.23-2-g8d80d5f or higher to try to fix this issue.

 

Naturally:

```
# emerge --info alsa-lib

media-libs/alsa-lib-1.0.23 was built with the following:

USE="(multilib) python -alisp -debug -doc" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol"
```

Any ideas? Much appreciated.

Matt

----------

## VoidMage

Check alsa-info, but as far as I googled, you may have luck with 'model=mbp5'.

Also, 'Verbose procfs contents' and 'Use HR-timer as default sequencer timer' shouldn't hurt.

----------

## daaaaang

I ran alsa-info, and I'm not sure what to do with its output. Although, embarrassingly, I did find that I have a 5,1 macbook, rather than 5,5. I'm not sure how I could have gotten that wrong. If it means anything, alsa-info does say this much:

```
!!PCI Soundcards installed in the system

!!--------------------------------------

00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)

!!Advanced information - PCI Vendor/Device/Subsystem ID's

!!--------------------------------------------------------

00:08.0 0403: 10de:0ac0 (rev b1)

        Subsystem: 10de:cb79
```

So alsa-info finds the PCI card, while alsaconf does not. Why would that happen?

----------

## Neithan

 *daaaaang wrote:*   

> 
> 
> Also here is my kernel (2.6.34-gentoo-r1) configuration regarding sound:
> 
> ```
> ...

 

I had the very same problem and symptomps. All I needed to do was enable "Build Realtek HD-audio codec support"

CONFIG_SND_HDA_CODEC_REALTEK=y

EDIT: I have Asus PRO66I and my card is: 

```
PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)
```

----------

