← Back to team overview

mactel-support team mailing list archive

[Bug 337314] Re: Left speaker doesn't work, controls mixed up on Apple MacBook[Pro] (5, 1)

 

Kacper ,

thank you for your time. I have sound but sometimes after playing a
youtube video music stops playing from totem, etc. Below is what I am
doing and what the "problems" are.

Nikos
###

# get alsa source code
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.19.tar.bz2

[...]
2009-05-15 13:33:30 (860 KB/s) - `alsa-driver-1.0.19.tar.bz2' saved [2896328]


# get patch (written by Kacper Szczesniak)
wget http://launchpadlibrarian.net/26521394/alsa-driver-1.0.19-mb51.patch

[...]
2009-05-15 13:33:36 (147 KB/s) - `alsa-driver-1.0.19-mb51.patch' saved [4486/4486]


# unpack alsa source code
tar jxf ./alsa-driver-1.0.19.tar.bz2


# move patch in alsa source code directory
mv ./alsa-driver-1.0.19-mb51.patch ./alsa-driver-1.0.19


# apply the patch
patch -p1 < ./alsa-driver-1.0.19-mb51.patch

patching file alsa-kernel/pci/hda/patch_realtek.c


# compile source code
  ## configure
./configure

[...]
config.status: creating version
config.status: creating Makefile.conf
config.status: WARNING:  Makefile.conf.in seems to ignore the --datarootdir setting
config.status: creating snddevices
config.status: creating utils/alsa-driver.spec
config.status: creating utils/buildrpm
config.status: creating toplevel.config
config.status: creating utils/alsasound
config.status: creating utils/alsasound.posix
config.status: creating include/pci_ids_compat.h
config.status: creating include/i2c-id_compat.h
config.status: creating include/config.h
config.status: creating include/config1.h
config.status: creating include/version.h
config.status: include/version.h is unchanged
config.status: creating include/autoconf-extra.h
Hacking autoconf.h...

  ## compile
make

[...]
ALSA modules were successfully compiled.

  ## install
sudo make install

[...]
WARNING!!! The mixer channels for the ALSA driver are muted by default!!!
**************************************************************************
You would use some ALSA or OSS mixer to set the appropriate volume.


# check /etc/modprobe.d/options
cat /etc/modprobe.d/options

options hid_apple fnmode=2


# rebooting...


###########
# After booting...
###########

# running alsamixer from the Terminal
alsamixer

alsamixer: function snd_ctl_open failed for default: No such device


# checking gui volume control [a]
# screenshot attached ## more (ir)relevant screenshots [b][c]
# note: all "tracks" under Preferences are selected

###
[a] http://www.imageshack.gr/view.php?file=aphdfom34nm9mtjy5jsy.png
[b] http://www.imageshack.gr/view.php?file=ls63elst28433vmbvl15.png
[c] http://www.imageshack.gr/view.php?file=ef9glyvvp80ajr2693at.png
###


# speaker-test
speaker-test -Dsurround51 -c6

speaker-test 1.0.18

Playback device is surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
I: caps.c: Dropping root privileges.
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
ALSA lib confmisc.c:768:(parse_card) cannot find card 'Nvidia'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2205:(snd_pcm_open_noupdate) Unknown PCM surround51
Playback open error: -19,No such device
ALSA lib confmisc.c:768:(parse_card) cannot find card 'Nvidia'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2205:(snd_pcm_open_noupdate) Unknown PCM surround51
Playback open error: -19,No such device
ALSA lib confmisc.c:768:(parse_card) cannot find card 'Nvidia'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2205:(snd_pcm_open_noupdate) Unknown PCM surround51
Playback open error: -19,No such device
ALSA lib confmisc.c:768:(parse_card) cannot find card 'Nvidia'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2205:(snd_pcm_open_noupdate) Unknown PCM surround51
Playback open error: -19,No such device
ALSA lib confmisc.c:768:(parse_card) cannot find card 'Nvidia'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2205:(snd_pcm_open_noupdate) Unknown PCM surround51
Playback open error: -19,No such device
^C


# play something in firefox
http://www.youtube.com/watch?v=6H6a-qN9fYk

# result: I can hear _now_ left, center, right, right surround, left surround
# note: I have the impression that the center is spoken out louder from the right channel

# play music in audacious
# results: unsuccessful
# under preferences the ALSA Output Plugin is selected

# play an mp3 file with Totem
# result: sounds fine


# check /etc/asound.conf
cat /etc/asound.conf

pcm.out {
        type route
        slave.pcm "hw:0,0";
        slave.channels 6
        ttable {
                0.0 1
                1.1 1
                2.2 1
                3.3 1
                4.4 1
                0.5 0.5
                1.5 0.5
        }
}

pcm.!default {
    type pulse
}


# check /etc/pulse/default.pa
cat /etc/pulse/default.pa

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.nofail

### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
load-sample-dir-lazy /usr/share/sounds/ubuntu/stereo

.fail

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif


### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore

### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
load-module module-alsa-sink channels=6 device=out
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
.ifexists module-hal-detect.so
load-module module-hal-detect tsched=0
.else
### Alternatively use the static hardware detection module (for systems that
### lack HAL support)
load-module module-detect
.endif

### Automatically load driver modules for Bluetooth hardware
#.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
#.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP reciever module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
#load-module module-rtp-send source=rtp.monitor

### Automatically restore the default sink/source when changed by the user during runtime
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
load-module module-console-kit

### Enable positioned event sounds
load-module module-position-event-sounds

# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.

### Load X11 bell module
#load-module module-x11-bell sample=bell-windowing-system

### Register ourselves in the X11 session manager
#load-module module-x11-xsmp

### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif

### Make some devices default
#set-default-sink output
#set-default-source input

-- 
Left speaker doesn't work, controls mixed up on Apple MacBook[Pro] (5,1)
https://bugs.launchpad.net/bugs/337314
You received this bug notification because you are a member of Mactel
Support, which is the registrant for Mactel Support.

Status in ALSA driver: Unknown
Status in Mactel Support: Confirmed
Status in “alsa-driver” source package in Ubuntu: New

Bug description:
Reporting this bug for another user...

In MacBook and MacBookPro 5,1 (aluminium, late 2008) the soundcard works out of the box only with headphones, and to turn speakers on it is necessary to manually set the 6 channels. In that case, sound is heard both on headphones and right and center speaker; the left speaker doesn't work yet.

This bug is confirmed by several users, see the additional information attached.

della@raker:~$ lspci | grep -i audio
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
della@raker:~$ grep Codec /proc/asound/card0/codec#*
Codec: Realtek ALC889A



Follow ups

References