← Back to team overview

mactel-support team mailing list archive

[Bug 488103] Re: Poor support for MacBook Pro 5, 1: noise, no jack sense, no in-line headset microphones, broken volume control

 

** Changed in: alsa-driver (Ubuntu)
       Status: New => Fix Released

** Changed in: mactel-support
       Status: New => Fix Released

-- 
Poor support for MacBook Pro 5,1: noise, no jack sense, no in-line headset microphones, broken volume control
https://bugs.launchpad.net/bugs/488103
You received this bug notification because you are a member of Mactel
Support, which is the registrant for Mactel Support.

Status in Mactel Support: Fix Released
Status in “alsa-driver” package in Ubuntu: Fix Released
Status in “linux” package in Ubuntu: Fix Released
Status in “linux-backports-modules-2.6.31” package in Ubuntu: Fix Released

Bug description:
I have carefully read through these bugs:
  https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/337314
  https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/433633
  https://bugs.launchpad.net/alsa-driver/+bug/396563
They conflate a bunch of snd_hda_intel driver issues, and pulseaudio issues across many hardware platforms. However, some of these issues are quite separate between different chipsets. E.g. model=laptop does different things on different chipsets, and doesn't do a thing for my chipset ALC889A. See the full quirks list here:
  http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt

I am reporting this from a x86_64 install, but my sound was broken in exactly the same way when I was running i386.

I have not found a published configuration, which makes the sound on my MacBook Pro 5,1 work completely. I have tried:

1) linux-backports-modules-alsa-generic   +   snd_hda_linux option "model=mb5"  (same as autodetected),
2) default 2.6.31-15-generic   +   snd_hda_linux option "model=mb5".
In both:
 * (GOOD) Both left and right speakers work (and subwoofer too, I suspect).
 * (BAD) Severe noise issues with headphones -- there is a reasonably quiet white noise floor (though the fact that it's audible is sad). But, on top of that there is a variety of noises, which vary in severity, and every time I unload and reload snd_hda_intel, I get a different result. The noises sometimes sound like radio static -- a crackling that gets quieter and louder with a period of a few seconds. Sometimes, they are tuned, high-pitch tones. The noise pattern varies when I adjust the headphone mixer control. It doesn't get quieter at lower volumes, but changes randomly depending on the slider's position. I tried "position_fix=1" and "=2" as module arguments, to no avail.
 * (BAD) No jack sense: "cat /proc/asound/card*/codec*" is the same regardless of whether headphones are plugged in
 * (BAD) Speakers always on: Volume controls always enable + maximize Front+LFE+Surround outputs (in tandem), never touch headphones (which are muted by default, and labeled "HP" -- which I suspect breaks PulseAudio paths that depend on the string Headphones). The only manual way (i.e. using alsamixer) to silence the speakers is to 0 (but not mute) those three sliders in alsamixer, and then never to touch the PulseAudio volume controls ever again. That's sad.
 * (SLIGHTLY BAD) Headphones should be on by default, not to make users set them up.
 * (BAD) Headset microphones don't work. Apple extensively uses a 3.5 jack standard which combines stereo output and microphone input. This is supported by iPhones & co, and their computers. Apple, and many external vendors manufacture such headsets. The headset works automagically under MacOS, but fails to work under linux, no matter what input settings I choose.

3) linux-backports-modules-alsa-generic   +   snd_hda_linux option "model=mbp3"  (recommended by community page https://help.ubuntu.com/community/MacBook5-1/Karmic),
4) default 2.6.31-15-generic   +   snd_hda_linux option "model=mbp3".
In both:
 * (GOOD) Tolerable noise floor -- sounds like quiet white noise
 * (BAD) Only the right speaker works, and even that after switching alsamixer from 2 channels to 4 channels.
 * (BAD) No jack sense -- just as above
 * (OKAYISH) The system volume controls affect only the headphone volume. You are free to manually choose the speaker volume via "Surround".
 * (SLIGHTLY BAD) If "4 channel" mode is what it takes to have some semblance of speaker sound, that should be on by default.
 * (BAD) Headset microphones don't work.

5) model=imac24, macpro, and many others -- useless for this machine, no sound, the mixer settings are totally broken, still no jack sense.

The latest karmic backports have no effect on my problems. I have also tried compiling the latest alsa-driver (1.0.21), which didn't solve any of the above problems.

On the basis of the above, I'm changing the community docs to no longer make a blanket recommendation for model=mbp3. People have to make a choice between two different sets of issues.

In an ideal world:

0) The driver would not produce sporadic noise on the headphones.
1) The driver would support jack sense.
2) The driver would add an extra input for microphones connected through the output 3.5 jack.
3) PulseAudio would automatically mute the speakers on headphones being plugged in.
4) PulseAudio would switch to the headset microphone when that's plugged in.
5) PulseAudio would provide overrides for both of those behaviors.