[alsa-devel] lockdep warning on 2.6.29-rc1 with pulseaudio
Sorry if you've seen this already, I couldn't find it on gmane.
soemthing is doing mutex_lock(&pcm->open_mutex); but this lock depends on &chip->open_mutex which in turn depends on &codec->spdif_mutex (seems a little odd) and that already depends on mmap_sem, through might_fault()?
[ 49.742444] ======================================================= [ 49.742449] [ INFO: possible circular locking dependency detected ] [ 49.742453] 2.6.29-rc1-wl-11361-g269245b-dirty #15 [ 49.742455] ------------------------------------------------------- [ 49.742458] pulseaudio/3550 is trying to acquire lock: [ 49.742461] (&pcm->open_mutex){--..}, at: [<ffffffffa059f86e>] snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.742479] [ 49.742479] but task is already holding lock: [ 49.742482] (&mm->mmap_sem){----}, at: [<ffffffff802c4a42>] sys_munmap+0x42/0x80 [ 49.742493] [ 49.742493] which lock already depends on the new lock. [ 49.742494] [ 49.742497] [ 49.742497] the existing dependency chain (in reverse order) is: [ 49.742500] [ 49.742501] -> #3 (&mm->mmap_sem){----}: [ 49.742507] [<ffffffff80273427>] check_prev_add+0x3b7/0x770 [ 49.742513] [<ffffffff80273de6>] validate_chain+0x606/0x6c0 [ 49.742518] [<ffffffff802742df>] __lock_acquire+0x43f/0xa10 [ 49.742522] [<ffffffff80274941>] lock_acquire+0x91/0xc0 [ 49.742526] [<ffffffff802bc39f>] might_fault+0x7f/0xb0 [ 49.742532] [<ffffffffa07fb15d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] [ 49.742544] [<ffffffffa0b20bb0>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] [ 49.742557] [<ffffffffa03a30be>] snd_ctl_tlv_ioctl+0x14e/0x1d0 [snd] [ 49.742571] [<ffffffffa03a527b>] snd_ctl_ioctl+0x26b/0x540 [snd] [ 49.742581] [<ffffffff802e82d1>] vfs_ioctl+0x31/0xa0 [ 49.742587] [<ffffffff802e8699>] do_vfs_ioctl+0x89/0x350 [ 49.742592] [<ffffffff802e89aa>] sys_ioctl+0x4a/0x80 [ 49.742597] [<ffffffff8020bd1b>] system_call_fastpath+0x16/0x1b [ 49.742603] [<ffffffffffffffff>] 0xffffffffffffffff [ 49.742608] [ 49.742609] -> #2 (&codec->spdif_mutex){--..}: [ 49.742615] [<ffffffff80273427>] check_prev_add+0x3b7/0x770 [ 49.742619] [<ffffffff80273de6>] validate_chain+0x606/0x6c0 [ 49.742623] [<ffffffff802742df>] __lock_acquire+0x43f/0xa10 [ 49.742628] [<ffffffff80274941>] lock_acquire+0x91/0xc0 [ 49.742632] [<ffffffff805ac5fc>] mutex_lock_nested+0xec/0x380 [ 49.742639] [<ffffffffa07f8d54>] snd_hda_multi_out_analog_open+0x84/0x130 [snd_hda_codec] [ 49.742649] [<ffffffffa0b1ac60>] alc880_playback_pcm_open+0x20/0x30 [snd_hda_codec_realtek] [ 49.742659] [<ffffffffa0897f39>] azx_pcm_open+0x209/0x280 [snd_hda_intel] [ 49.742667] [<ffffffffa05a01b8>] snd_pcm_open_substream+0x58/0xa0 [snd_pcm] [ 49.742677] [<ffffffffa05a038b>] snd_pcm_open+0x18b/0x280 [snd_pcm] [ 49.742687] [<ffffffffa05a04ec>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] [ 49.742697] [<ffffffffa039f7fc>] __snd_open+0x14c/0x270 [snd] [ 49.742707] [<ffffffffa039f947>] snd_open+0x27/0x40 [snd] [ 49.742717] [<ffffffff802dcd47>] chrdev_open+0x137/0x210 [ 49.742722] [<ffffffff802d7a5a>] __dentry_open+0x10a/0x340 [ 49.742727] [<ffffffff802d7d97>] nameidata_to_filp+0x57/0x70 [ 49.742732] [<ffffffff802e69de>] do_filp_open+0x1fe/0x970 [ 49.742737] [<ffffffff802d7868>] do_sys_open+0x78/0x110 [ 49.742742] [<ffffffff802d792b>] sys_open+0x1b/0x20 [ 49.742746] [<ffffffff8020bd1b>] system_call_fastpath+0x16/0x1b [ 49.742751] [<ffffffffffffffff>] 0xffffffffffffffff [ 49.742756] [ 49.742756] -> #1 (&chip->open_mutex){--..}: [ 49.742762] [<ffffffff80273427>] check_prev_add+0x3b7/0x770 [ 49.742767] [<ffffffff80273de6>] validate_chain+0x606/0x6c0 [ 49.742771] [<ffffffff802742df>] __lock_acquire+0x43f/0xa10 [ 49.742775] [<ffffffff80274941>] lock_acquire+0x91/0xc0 [ 49.742780] [<ffffffff805ac5fc>] mutex_lock_nested+0xec/0x380 [ 49.742785] [<ffffffffa0897d78>] azx_pcm_open+0x48/0x280 [snd_hda_intel] [ 49.742792] [<ffffffffa05a01b8>] snd_pcm_open_substream+0x58/0xa0 [snd_pcm] [ 49.742802] [<ffffffffa05a038b>] snd_pcm_open+0x18b/0x280 [snd_pcm] [ 49.742812] [<ffffffffa05a04ec>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] [ 49.742822] [<ffffffffa039f7fc>] __snd_open+0x14c/0x270 [snd] [ 49.742832] [<ffffffffa039f947>] snd_open+0x27/0x40 [snd] [ 49.742841] [<ffffffff802dcd47>] chrdev_open+0x137/0x210 [ 49.742846] [<ffffffff802d7a5a>] __dentry_open+0x10a/0x340 [ 49.742850] [<ffffffff802d7d97>] nameidata_to_filp+0x57/0x70 [ 49.742855] [<ffffffff802e69de>] do_filp_open+0x1fe/0x970 [ 49.742860] [<ffffffff802d7868>] do_sys_open+0x78/0x110 [ 49.742864] [<ffffffff802d792b>] sys_open+0x1b/0x20 [ 49.742869] [<ffffffff8020bd1b>] system_call_fastpath+0x16/0x1b [ 49.742874] [<ffffffffffffffff>] 0xffffffffffffffff [ 49.742882] [ 49.742883] -> #0 (&pcm->open_mutex){--..}: [ 49.742889] [<ffffffff802730c7>] check_prev_add+0x57/0x770 [ 49.742893] [<ffffffff80273de6>] validate_chain+0x606/0x6c0 [ 49.742897] [<ffffffff802742df>] __lock_acquire+0x43f/0xa10 [ 49.742902] [<ffffffff80274941>] lock_acquire+0x91/0xc0 [ 49.742906] [<ffffffff805ac5fc>] mutex_lock_nested+0xec/0x380 [ 49.742911] [<ffffffffa059f86e>] snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.742921] [<ffffffff802dae20>] __fput+0xd0/0x1e0 [ 49.742926] [<ffffffff802daf4d>] fput+0x1d/0x30 [ 49.742931] [<ffffffff802c377a>] remove_vma+0x4a/0x80 [ 49.742936] [<ffffffff802c49b2>] do_munmap+0x342/0x390 [ 49.742940] [<ffffffff802c4a50>] sys_munmap+0x50/0x80 [ 49.742944] [<ffffffff8020bd1b>] system_call_fastpath+0x16/0x1b [ 49.742949] [<ffffffffffffffff>] 0xffffffffffffffff [ 49.742954] [ 49.742954] other info that might help us debug this: [ 49.742955] [ 49.742958] 1 lock held by pulseaudio/3550: [ 49.742961] #0: (&mm->mmap_sem){----}, at: [<ffffffff802c4a42>] sys_munmap+0x42/0x80 [ 49.742969] [ 49.742970] stack backtrace: [ 49.742973] Pid: 3550, comm: pulseaudio Not tainted 2.6.29-rc1-wl-11361-g269245b-dirty #15 [ 49.742976] Call Trace: [ 49.742981] [<ffffffff80272b70>] print_circular_bug_tail+0xe0/0xf0 [ 49.742985] [<ffffffff802730c7>] check_prev_add+0x57/0x770 [ 49.742991] [<ffffffff8026f414>] ? get_lock_stats+0x34/0x70 [ 49.742995] [<ffffffff80273de6>] validate_chain+0x606/0x6c0 [ 49.742998] [<ffffffff802742df>] __lock_acquire+0x43f/0xa10 [ 49.743002] [<ffffffff80274941>] lock_acquire+0x91/0xc0 [ 49.743012] [<ffffffffa059f86e>] ? snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.743017] [<ffffffff805ac5fc>] mutex_lock_nested+0xec/0x380 [ 49.743027] [<ffffffffa059f86e>] ? snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.743036] [<ffffffffa059f86e>] ? snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.743046] [<ffffffffa059f86e>] snd_pcm_release+0x3e/0xb0 [snd_pcm] [ 49.743051] [<ffffffff802dae20>] __fput+0xd0/0x1e0 [ 49.743055] [<ffffffff802daf4d>] fput+0x1d/0x30 [ 49.743059] [<ffffffff802c377a>] remove_vma+0x4a/0x80 [ 49.743063] [<ffffffff802c49b2>] do_munmap+0x342/0x390 [ 49.743067] [<ffffffff802c4a50>] sys_munmap+0x50/0x80 [ 49.743071] [<ffffffff8020bd1b>] system_call_fastpath+0x16/0x1b
Incidentally, sound doesn't work on my macbook5,1, I get lots of controls but no output.
johannes
At Tue, 13 Jan 2009 18:02:01 +0100, Johannes Berg wrote:
Sorry if you've seen this already, I couldn't find it on gmane.
It's on LKML.
soemthing is doing mutex_lock(&pcm->open_mutex); but this lock depends on &chip->open_mutex which in turn depends on &codec->spdif_mutex (seems a little odd) and that already depends on mmap_sem, through might_fault()?
This should have been already fixed in the latest Linus git tree. Please give it a try.
Incidentally, sound doesn't work on my macbook5,1, I get lots of controls but no output.
Could you run alsa-info.sh with --no-upload option on both working and non-working kernels? The script is found in http://www.alsa-project.org/alsa-info.sh
I guess it's either a missing GPIO or a HP-ctrl off by jack sensing. In the latter case, it implies that the pin configuration is basically wrong and has worked incidentally...
thanks,
Takashi
On Tue, 2009-01-13 at 18:12 +0100, Takashi Iwai wrote:
Sorry if you've seen this already, I couldn't find it on gmane.
It's on LKML.
Alright, sorry. I'm not tracking lkml very actively, and lkml.org seems very slow the last couple of days.
soemthing is doing mutex_lock(&pcm->open_mutex); but this lock depends on &chip->open_mutex which in turn depends on &codec->spdif_mutex (seems a little odd) and that already depends on mmap_sem, through might_fault()?
This should have been already fixed in the latest Linus git tree. Please give it a try.
I'll try to find and pull it in, thanks.
Incidentally, sound doesn't work on my macbook5,1, I get lots of controls but no output.
Could you run alsa-info.sh with --no-upload option on both working and non-working kernels? The script is found in
I'm sorry I phrased that wrongly, I'm not aware of any working kernel version.
http://www.alsa-project.org/alsa-info.sh
I guess it's either a missing GPIO or a HP-ctrl off by jack sensing. In the latter case, it implies that the pin configuration is basically wrong and has worked incidentally...
I've tried googling for this macbook 5,1 (13.3") issue, and have found various information, some people claim it should work, but it doesn't seem to for me with the same software versions...
!!################################ !!ALSA Information Script v 0.4.53 !!################################
!!Script ran on: Tue Jan 13 17:44:27 UTC 2009
!!Linux Distribution !!------------------
Debian GNU/Linux 5.0 \n \l
!!Kernel Information !!------------------
Kernel release: 2.6.29-rc1-wl-11361-g269245b-dirty Operating System: GNU/Linux Architecture: x86_64 Processor: unknown SMP Enabled: Yes
!!ALSA Version !!------------
Driver version: 1.0.18a Library version: 1.0.18 Utilities version: 1.0.18
!!Loaded ALSA modules !!-------------------
snd_hda_intel
!!Sound Servers on this system !!----------------------------
Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - No
ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No
!!Soundcards recognised by ALSA !!-----------------------------
0 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0x93380000 irq 16
!!PCI Soundcards installed in the system !!--------------------------------------
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's !!--------------------------------------------------------
00:08.0 0403: 10de:0ac0 (rev b1) Subsystem: 10de:cb79
!!Modprobe options (Sound related) !!--------------------------------
snd-atiixp-modem: index=-2 snd-intel8x0m: index=-2 snd-via82xx-modem: index=-2 snd-pcsp: index=-2
!!Loaded sound module options !!--------------------------
!!Module: snd_hda_intel bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 0 id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> position_fix : 0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : N,N,N,N,N,N,N,N single_cmd : N
!!HDA-Intel Codec information !!--------------------------- --startcollapse--
Codec: Realtek ALC889A Address: 0 Vendor Id: 0x10ec0885 Subsystem Id: 0x106b3f00 Revision Id: 0x100103 No Modem Function Group found Default PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=2, o=0, i=0, unsolicited=1, wake=0 IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Node 0x02 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x03 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x04 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x05 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0x1e]: 16 20 24 32 formats [0x1]: PCM Node 0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x90 0x90] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x24 Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x23 Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Connection: 1 0x22 Node 0x0a [Audio Input] wcaps 0x100391: Stereo Digital Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0x1e]: 16 20 24 32 formats [0x1]: PCM Unsolicited: tag=00, enabled=0 Connection: 1 0x1f Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] Connection: 10 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 Node 0x0c [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x0c 0x0c] Connection: 2 0x02 0x0b Node 0x0d [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x07 0x07] Connection: 2 0x03 0x0b Node 0x0e [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x04 0x0b Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x05 0x0b Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x12 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x012b4050: [Jack] HP Out at Ext Rear Conn = Comb, Color = Green DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x018b3020: [Jack] Line In at Ext Rear Conn = Comb, Color = Blue DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d* 0x0e 0x0f 0x26 Node 0x16 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000003c: IN OUT HP Detect Pin Default 0x400000f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e* 0x0f 0x26 Node 0x17 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000003c: IN OUT HP Detect Pin Default 0x400000f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f* 0x26 Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x90100140: [Fixed] Speaker at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x90a00110: [Fixed] Mic at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x90100141: [Fixed] Speaker at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0x4, Sequence = 0x1 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d* 0x0e 0x0f 0x26 Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000373c: IN OUT HP Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x400000f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x1c [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x400000f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x1d [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x400000f0: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital Pincap 0x00000010: OUT Pin Default 0x014be060: [Jack] SPDIF Out at Ext Rear Conn = Comb, Color = White DefAssociation = 0x6, Sequence = 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x06 Node 0x1f [Pin Complex] wcaps 0x400200: Mono Digital Pincap 0x00000020: IN Pin Default 0x01cbe030: [Jack] SPDIF In at Ext Rear Conn = Comb, Color = White DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono Processing caps: benign=0, ncoeff=17 Processing Coefficient: 0xbbcc Coefficient Index: 0x11 Node 0x21 [Volume Knob Widget] wcaps 0x600080: Mono Volume-Knob: delta=0, steps=32, direct=0, val=0 Unsolicited: tag=00, enabled=0 Connection: 0 Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x24 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x25 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x26 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x40 0x40] Connection: 2 0x25 0x0b --endcollapse--
!!ALSA Device nodes !!-----------------
crw-rw---- 1 root audio 116, 0 Jan 13 18:24 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 4 Jan 13 18:24 /dev/snd/hwC0D0 crw-rw---- 1 root audio 116, 24 Jan 13 18:25 /dev/snd/pcmC0D0c crw-rw---- 1 root audio 116, 16 Jan 13 18:25 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 25 Jan 13 18:24 /dev/snd/pcmC0D1c crw-rw---- 1 root audio 116, 17 Jan 13 18:24 /dev/snd/pcmC0D1p crw-rw---- 1 root audio 116, 26 Jan 13 18:24 /dev/snd/pcmC0D2c crw-rw---- 1 root audio 116, 33 Jan 13 18:24 /dev/snd/timer
!!Aplay/Arecord output !!------------
APLAY
**** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 1: ALC883 Digital [ALC883 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 1: ALC883 Digital [ALC883 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 2: ALC883 Analog [ALC883 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
!!Amixer output !!-------------
!!-------Mixer controls for card 0 [NVidia]
Card hw:0 'NVidia'/'HDA NVidia at 0x93380000 irq 16' Mixer name : 'Realtek ALC889A' Components : 'HDA:10ec0885,106b3f00,00100103' Controls : 26 Simple ctrls : 14 Simple mixer control 'Master',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 37 [58%] [-27.00dB] [on] Simple mixer control 'Headphone',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 39 [61%] [-25.00dB] [on] Front Right: Playback 39 [61%] [-25.00dB] [on] Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 115 [45%] [-28.00dB] Front Right: Playback 115 [45%] [-28.00dB] Simple mixer control 'Front',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 39 [61%] [-25.00dB] [on] Front Right: Playback 39 [61%] [-25.00dB] [on] Simple mixer control 'Surround',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 34 [53%] [-30.00dB] [on] Front Right: Playback 34 [53%] [-30.00dB] [on] Simple mixer control 'Mic',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 0 [0%] [-34.50dB] [off] Front Right: Playback 0 [0%] [-34.50dB] [off] Simple mixer control 'Mic Boost',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 3 Front Left: 0 [0%] Front Right: 0 [0%] Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined cswitch cswitch-joined Playback channels: Mono Capture channels: Mono Mono: Playback [off] Capture [off] Simple mixer control 'IEC958 Default PCM',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 46 Front Left: Capture 0 [0%] [-16.00dB] [on] Front Right: Capture 0 [0%] [-16.00dB] [on] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 46 Front Left: Capture 0 [0%] [-16.00dB] [on] Front Right: Capture 0 [0%] [-16.00dB] [on] Simple mixer control 'Digital',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 120 Front Left: Capture 60 [50%] [0.00dB] Front Right: Capture 60 [50%] [0.00dB] Simple mixer control 'Input Source',0 Capabilities: cenum Items: 'Mic' Item0: 'Mic' Simple mixer control 'Input Source',1 Capabilities: cenum Items: 'Mic' Item0: 'Mic'
!!Alsactl output !!-------------
--startcollapse-- state.NVidia { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -6400 comment.dbmax 0 iface MIXER name 'Front Playback Volume' value.0 39 value.1 39 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Playback Switch' value.0 true value.1 true } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -6400 comment.dbmax 0 iface MIXER name 'Surround Playback Volume' value.0 34 value.1 34 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Surround Playback Switch' value.0 true value.1 true } control.5 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -6400 comment.dbmax 0 iface MIXER name 'Headphone Playback Volume' value.0 39 value.1 39 } control.6 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 true value.1 true } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Mic Playback Volume' value.0 0 value.1 0 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Mic Playback Switch' value.0 false value.1 false } control.9 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Mic Boost' value.0 0 value.1 0 } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 true value.1 true } control.11 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 true value.1 true } control.12 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 46' comment.dbmin -1600 comment.dbmax 3000 iface MIXER name 'Capture Volume' value.0 0 value.1 0 } control.13 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 46' comment.dbmin -1600 comment.dbmax 3000 iface MIXER name 'Capture Volume' index 1 value.0 0 value.1 0 } control.14 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic iface MIXER name 'Input Source' value Mic } control.15 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic iface MIXER name 'Input Source' index 1 value Mic } control.16 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.17 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.18 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.19 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' value false } control.20 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Default PCM Playback Switch' value false } control.21 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Capture Switch' value false } control.22 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Capture Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.23 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -6400 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value 37 } control.24 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.25 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 115 value.1 115 } control.26 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 120' comment.tlv '0000000100000008fffff44800000032' comment.dbmin -3000 comment.dbmax 3000 iface MIXER name 'Digital Capture Volume' value.0 60 value.1 60 } } --endcollapse--
!!All Loaded Modules !!------------------
Module sha256_generic af_packet binfmt_misc rfcomm l2cap bluetooth kvm_intel kvm acpi_cpufreq cpufreq_userspace cpufreq_powersave fuse loop bcm5974 hid_apple usbhid snd_hda_codec_realtek uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 zd1211rw arc4 b43 rfkill snd_hda_intel mac80211 snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss joydev cfg80211 snd_pcm snd_timer applesmc sg hwmon snd input_polldev mbp_nvidia_bl backlight ssb sr_mod ehci_hcd soundcore cdrom snd_page_alloc ohci_hcd usbcore evdev sd_mod unix
johannes
At Tue, 13 Jan 2009 18:46:19 +0100, Johannes Berg wrote:
On Tue, 2009-01-13 at 18:12 +0100, Takashi Iwai wrote:
Incidentally, sound doesn't work on my macbook5,1, I get lots of controls but no output.
Could you run alsa-info.sh with --no-upload option on both working and non-working kernels? The script is found in
I'm sorry I phrased that wrongly, I'm not aware of any working kernel version.
Ah OK, then it's no regression, at least :)
http://www.alsa-project.org/alsa-info.sh
I guess it's either a missing GPIO or a HP-ctrl off by jack sensing. In the latter case, it implies that the pin configuration is basically wrong and has worked incidentally...
I've tried googling for this macbook 5,1 (13.3") issue, and have found various information, some people claim it should work, but it doesn't seem to for me with the same software versions...
Did you try some model options? For example, model=macpro, model=mbp3, or model=imac24.
thanks,
Takashi
On Wed, 2009-01-14 at 07:47 +0100, Takashi Iwai wrote:
I'm sorry I phrased that wrongly, I'm not aware of any working kernel version.
Ah OK, then it's no regression, at least :)
No :)
I've tried googling for this macbook 5,1 (13.3") issue, and have found various information, some people claim it should work, but it doesn't seem to for me with the same software versions...
Did you try some model options? For example, model=macpro, model=mbp3, or model=imac24.
Yes, I'm not sure which ones I tried, so I just went back and tried these, no help. The optical output lights up when I enable it, but I have no way to check if anything is modulated onto it. Your initial comment seems to make sense, some GPIO line that controls the PA is maybe not enabled? Unfortunately Apple hasn't published their driver as open source, afaict.
johannes
At Wed, 14 Jan 2009 11:19:08 +0100, Johannes Berg wrote:
I've tried googling for this macbook 5,1 (13.3") issue, and have found various information, some people claim it should work, but it doesn't seem to for me with the same software versions...
Did you try some model options? For example, model=macpro, model=mbp3, or model=imac24.
Yes, I'm not sure which ones I tried, so I just went back and tried these, no help. The optical output lights up when I enable it, but I have no way to check if anything is modulated onto it. Your initial comment seems to make sense, some GPIO line that controls the PA is maybe not enabled? Unfortunately Apple hasn't published their driver as open source, afaict.
You can try GPIO setup via hda-verb program. ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/misc/hda-verb-0.3.tar.gz
For example, hda-verb /dev/snd/hwC0D0 1 SET_GPIO_MASK 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DIR 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DATA 3 will set GPIO#0 and #1 to 1.
Try the above first without model option.
BTW, looking at your alsa-info output, all volumes are quite low. Try to raise more.
Takashi
On Wed, 2009-01-14 at 11:46 +0100, Takashi Iwai wrote:
You can try GPIO setup via hda-verb program. ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/misc/hda-verb-0.3.tar.gz
For example, hda-verb /dev/snd/hwC0D0 1 SET_GPIO_MASK 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DIR 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DATA 3 will set GPIO#0 and #1 to 1.
Try the above first without model option.
No luck.
BTW, looking at your alsa-info output, all volumes are quite low. Try to raise more.
I played with the volumes before, didn't help. Should I try to look into the Apple driver binary?
johannes
At Wed, 14 Jan 2009 17:18:50 +0100, Johannes Berg wrote:
On Wed, 2009-01-14 at 11:46 +0100, Takashi Iwai wrote:
You can try GPIO setup via hda-verb program. ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/misc/hda-verb-0.3.tar.gz
For example, hda-verb /dev/snd/hwC0D0 1 SET_GPIO_MASK 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DIR 3 hda-verb /dev/snd/hwC0D0 1 SET_GPIO_DATA 3 will set GPIO#0 and #1 to 1.
Try the above first without model option.
No luck.
BTW, looking at your alsa-info output, all volumes are quite low. Try to raise more.
I played with the volumes before, didn't help. Should I try to look into the Apple driver binary?
Maybe better to play with HD-audio verbs. Or do they have any external information file like on Windows *.ini?
Takashi
On Wed, 2009-01-14 at 17:23 +0100, Takashi Iwai wrote:
I played with the volumes before, didn't help. Should I try to look into the Apple driver binary?
Maybe better to play with HD-audio verbs.
Any idea what to try?
Or do they have any external information file like on Windows *.ini?
Yes, Info.plist files, but none seem to contain any useful information, what sort of information would you be looking for?
johannes
At Wed, 14 Jan 2009 17:33:04 +0100, Johannes Berg wrote:
On Wed, 2009-01-14 at 17:23 +0100, Takashi Iwai wrote:
I played with the volumes before, didn't help. Should I try to look into the Apple driver binary?
Maybe better to play with HD-audio verbs.
Any idea what to try?
Well, first off, you need to figure out the pin mapping, which pin-widget NID corresponding to which actual I/O. You'd better start from the output jacks than speaker outputs since speaker outputs often require the special handling like GPIO and/or EAPD.
With hda-verb, you can issue all commands, so free to change the amp volume and reconnect the widgets. Jaroslav's hda-analyzer provides a better interface (GUI) for such a purpose.
See Documentation/sounds/alsa/HD-Audio.txt in the latest kernel git tree.
Or do they have any external information file like on Windows *.ini?
Yes, Info.plist files, but none seem to contain any useful information, what sort of information would you be looking for?
There could be some list of pin ids and flags or sequences. At least, *.INI contains a sort of things like that.
Takashi
On Wed, 2009-01-14 at 18:10 +0100, Takashi Iwai wrote:
Well, first off, you need to figure out the pin mapping, which pin-widget NID corresponding to which actual I/O. You'd better start from the output jacks than speaker outputs since speaker outputs often require the special handling like GPIO and/or EAPD.
With hda-verb, you can issue all commands, so free to change the amp volume and reconnect the widgets. Jaroslav's hda-analyzer provides a better interface (GUI) for such a purpose.
See Documentation/sounds/alsa/HD-Audio.txt in the latest kernel git tree.
Fun, ok.
Or do they have any external information file like on Windows *.ini?
Yes, Info.plist files, but none seem to contain any useful information, what sort of information would you be looking for?
There could be some list of pin ids and flags or sequences. At least, *.INI contains a sort of things like that.
There's some sort of binary information.
Actually, I played with things a little more, and dug a little deeper into what the ubuntu forums say, and it turned out that I made a stupid mistake, I typoed mbp3 as mpb3 when testing it.
Now, I actually get sound with model=mbp3, but the controls are all wrong, e.g. line-out controls the built-in speakers, and the speaker on/off control doesn't do anything to the speakers. Also, I need to turn up the volumes pretty much to max to get any output at all, which seems a little strange. I'll try to figure out what the controls really are and see if I can make a new model that links it all up correctly.
Anyway, sorry for the bother and thanks for all the help.
In other news, I've got a new aoa patch that actually works on the older models, but so far doesn't fix the quiet sound problem either, I'm still working with Andreas on that. And I'm also working with somebody else to get optical output on topaz-based machines.
johannes
At Wed, 14 Jan 2009 18:22:35 +0100, Johannes Berg wrote:
On Wed, 2009-01-14 at 18:10 +0100, Takashi Iwai wrote:
Well, first off, you need to figure out the pin mapping, which pin-widget NID corresponding to which actual I/O. You'd better start from the output jacks than speaker outputs since speaker outputs often require the special handling like GPIO and/or EAPD.
With hda-verb, you can issue all commands, so free to change the amp volume and reconnect the widgets. Jaroslav's hda-analyzer provides a better interface (GUI) for such a purpose.
See Documentation/sounds/alsa/HD-Audio.txt in the latest kernel git tree.
Fun, ok.
Or do they have any external information file like on Windows *.ini?
Yes, Info.plist files, but none seem to contain any useful information, what sort of information would you be looking for?
There could be some list of pin ids and flags or sequences. At least, *.INI contains a sort of things like that.
There's some sort of binary information.
Actually, I played with things a little more, and dug a little deeper into what the ubuntu forums say, and it turned out that I made a stupid mistake, I typoed mbp3 as mpb3 when testing it.
Now, I actually get sound with model=mbp3, but the controls are all wrong, e.g. line-out controls the built-in speakers, and the speaker on/off control doesn't do anything to the speakers. Also, I need to turn up the volumes pretty much to max to get any output at all, which seems a little strange. I'll try to figure out what the controls really are and see if I can make a new model that links it all up correctly.
Ah, good to hear. Then we have really a better hope now.
Anyway, sorry for the bother and thanks for all the help.
In other news, I've got a new aoa patch that actually works on the older models, but so far doesn't fix the quiet sound problem either, I'm still working with Andreas on that. And I'm also working with somebody else to get optical output on topaz-based machines.
Great. I can merge 2.6.30 materials at any time. So feel free to submit patches.
thanks,
Takashi
On Wed, 2009-01-14 at 21:40 +0100, Takashi Iwai wrote:
Now, I actually get sound with model=mbp3, but the controls are all wrong, e.g. line-out controls the built-in speakers, and the speaker on/off control doesn't do anything to the speakers. Also, I need to turn up the volumes pretty much to max to get any output at all, which seems a little strange. I'll try to figure out what the controls really are and see if I can make a new model that links it all up correctly.
Ah, good to hear. Then we have really a better hope now.
Yeah, I just need to figure out the correct set of controls and outputs. Any hints here?
Anyway, sorry for the bother and thanks for all the help.
In other news, I've got a new aoa patch that actually works on the older models, but so far doesn't fix the quiet sound problem either, I'm still working with Andreas on that. And I'm also working with somebody else to get optical output on topaz-based machines.
Great. I can merge 2.6.30 materials at any time. So feel free to submit patches.
The last status looks like we're missing to turn on the "master" amps via a GPIO, so it should be simple to fix, while not so simple to debug :) I'll send you patches separately.
johannes
At Wed, 14 Jan 2009 22:04:42 +0100, Johannes Berg wrote:
On Wed, 2009-01-14 at 21:40 +0100, Takashi Iwai wrote:
Now, I actually get sound with model=mbp3, but the controls are all wrong, e.g. line-out controls the built-in speakers, and the speaker on/off control doesn't do anything to the speakers. Also, I need to turn up the volumes pretty much to max to get any output at all, which seems a little strange. I'll try to figure out what the controls really are and see if I can make a new model that links it all up correctly.
Ah, good to hear. Then we have really a better hope now.
Yeah, I just need to figure out the correct set of controls and outputs. Any hints here?
The most work is to figure out the mapping of I/O pins, as mentioned. You see some fixed numbers in alc885_mbp3_mixer[] and shuffle them to match with the actual device.
Takashi
participants (2)
-
Johannes Berg
-
Takashi Iwai