Re: [alsa-devel] No sound from Mac Pro headphone port
You will need to provide more specific instructions on what you want. I
do not read code.
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
Bingo: the pin-outs are very incorrect. This is the (original) tech specs of the machine. https://support.apple.com/kb/SP506?viewlocale=en_US&locale=en_US Note: 1 x internal speaker 1 x FRONT headphone port
Refer to user manual , Headphone Jack Connect headphones, including Apple Earphone with remote and mic through the headphone mini jack
Is node 0x18 headset mic ? need specific sequence number and parser_flags
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
+#define HDA_PINCFG_HEADSET_MIC (1 << 2) /* Try to find headset mic; mark seq number as 0xc to trigger */
1 x REAR line out port 1 x REAR line in port 1 x REAR optical TOSLINK out port 1 x REAR optical TOSLINK in port The machine does not have a built-in mic port.
you need to use hdajacksensetest to verify hp, line out , line in jacks are node 0x19, 0x14 and 0x1a by plug and unplug those jacks
clear bit 8 of pin default of Line Out Jack if it return correct jack
state
Linux 4. Mac Pro 2009. ACL889A codec. No sound from headphone port. Seems to detect plug / unplug
OK.
Works OK when machine booted to OS X or Windows 7. Have found several bug repors on similar issues with Mac laptops but no fixes. Have written e-mail with David Henningsson on problem but unable to find a solution. ALSA-info output:
http://www.alsa-project.org/db/?f=1dc7146eb34af5ad307d029868f775fac5e2764e
Do your macpro spec support 5.1 ? Simple mixer control 'Channel Mode',0 Capabilities: enum Items: '2ch' '4ch' '6ch' Item0: '2ch'
Channel mode is created when there are three or more jacks at same location
Use hdajackretask to change location of HP and Mic from Ext Rear to Ext Front
Advanced override and set as boot default
http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hdajackretask/README;...
http://voices.canonical.com/david.henningsson/2011/11/29/turn-your-mic-jack-...
http://git.alsa-project.org/?p=alsa-tools.git;a=tree;f=hdajacksensetest;hb=H...
Use hdajacksensetest -a to verify line out support jack detect
clear MISC = NO_PRESENCE bit 8 of pin default of Line out by hdajackretask
Pin Default 0x01010050: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Unknown DefAssociation = 0x5, Sequence = 0x0
Most likely need vendor coefficient to support mono mic of apple earphones
Pin default seem incorrect 1) Headphone at ext Rear 2) Line Out does not support jack detection 3) Mic jack ???? /sys/class/sound/hwC0D0/init_pin_configs: 0x14 0x01010150 0x15 0x400000f0 0x16 0x400000f0 0x17 0x400000f0 0x18 0x01a19070 0x19 0x01214040 0x1a 0x01813010 0x1b 0x90100130 0x1c 0x400000f0 0x1d 0x400000f0 0x1e 0x0145e160 0x1f 0x01c5e120 /sys/class/sound/hwC0D0/driver_pin_configs: [ 4.057250] sound hdaudioC0D0: ALC889A: SKU not ready
0x400000f0
[ 4.057633] sound hdaudioC0D0: autoconfig for ALC889A: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line [ 4.057636] sound hdaudioC0D0: speaker_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 4.057638] sound hdaudioC0D0: hp_outs=1 (0x19/0x0/0x0/0x0/0x0) [ 4.057639] sound hdaudioC0D0: mono: mono_out=0x0 [ 4.057641] sound hdaudioC0D0: dig-out=0x1e/0x0 [ 4.057642] sound hdaudioC0D0: inputs: [ 4.057645] sound hdaudioC0D0: Mic=0x18 [ 4.057646] sound hdaudioC0D0: Line=0x1a [ 4.057648] sound hdaudioC0D0: dig-in=0x1f
Has there been any progress on fixing this issue?
It seems that no matter what combination of settings I try with hdajackretask, I cannot get sound from the headphone port.
Jack in / out plugged status is correctly detected. However, selecting Headphones for output plays sound from the Line Out port. The Line Out port selection works as expected. I can set separate volume levels for both Headphone and Line Out but both selections play through the Line Out port.
I'm surprised that this is so difficult to get right. Both OS X and Windows control all ports perfectly.
l
Has there been any progress on fixing this issue?
It seems that no matter what combination of settings I try with
hdajackretask, I cannot get sound from the headphone port.
Can you post the output after you retasking ?
Jack in / out plugged status is correctly detected. However, selecting
Headphones for output plays sound from the Line Out port. The Line Out port selection works as expected. I can set separate volume levels for both Headphone and Line Out but both selections play through the Line Out port.
Need your patched alsa-info when headpone unpluged and plugged
For the headset mic
Seem need to recompile alsa driver since spec->parser_flags cannot be changed by hint.
spec->parser_flags = HDA_PINCFG_HEADSET_MIC;
It also depend whether you alc889a need any vendor coeff
As I have time to work on this ...
ALSA info headphone unplugged:
http://www.alsa-project.org/db/?f=df059dc59473b812033be118a26a553767879f41
Headphone plugged:
http://www.alsa-project.org/db/?f=b91b9b46a1abe043b9dfc3bc4802b203e6a6c2e5
As I have time to work on this ...
ALSA info headphone unplugged:
http://www.alsa-project.org/db/?f=df059dc59473b812033be118a26a553767879f41
Headphone plugged:
http://www.alsa-project.org/db/?f=b91b9b46a1abe043b9dfc3bc4802b203e6a6c2e5
You did not retask correctly
1) change hp from ext rear to ext front 2) change Mic from ext rear to ext front
The driver don't create channel mode when there is only two jacks at ext rear
3) clear misc bit 8 of pin default of line out
You should use save as boot default instead of dynamic reconfig and reboot
Correct: This was just the raw, unaltered states for baseline.
Will experiment with retaking later.
I will need more instruction on how to accomplish step #3.
"3) clear misc bit 8 of pin default of line out"
Thus far, moving both HP and Mic to "Front" gives no improvement.
I will need more instruction on how to accomplish step 3
"3) clear misc bit 8 of pin default of line out"
Thus far, moving both HP and Mic to "Front" gives no improvement.
Post output of alsa info after you fix hp and mic to ext front
http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hdajackretask/README;...
You previous alsa info show you have changed those unconnected pin complex to connected
You don't need to check show unconnected pin if your three pin complex
line out, line in and hp can be detected by hdajacksensetest -a
You need to use advanced override mode to change ext front and jack detection
http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hdajackretask/main-gt...
gtk_grid_attach(grid, gtk_label_new("Color"), 0, 2, 1, 1); gtk_grid_attach(grid, data->free_override_cb[4], 0, 3, 1, 1); gtk_grid_attach(grid, gtk_label_new("Jack detection"), 1, 2, 1, 1); gtk_grid_attach(grid, data->free_override_cb[5], 1, 3, 1, 1); gtk_grid_attach(grid, gtk_label_new("Channel group"), 2, 2, 1, 1);
Since you have internal speaker, line out and headphone need to support jack detection for auto mute
Seem you have changed the other unconnected pin complexes to line out
The name of playback switch should changed from front to line out
MISC= NO_PRESENCE already removed
Line out phantom jack already changed to line out jack But unsolicited event is not enabled Unsolicited: tag=00, enabled=0
Since you have performed dynamic reconfiguration several times in your dmesg log and the other unconnected pin have changed to line out
You better use set as boot default and reboot instead of dynamic reconfiguration
Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Control: name="Front Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Line Out Phantom Jack", index=0, device=0 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 0x01014010: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x
I will need more instruction on how to accomplish step #3.
"3) clear misc bit 8 of pin default of line out"
Thus far, moving both HP and Mic to "Front" gives no improvement.
Many unconnected pin complex have been changed to line out jack
Seem bug of hdajackretask if it allow you to change pin comple which pincap only support IN to line out jack
Node 0x1d [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x00000100: [Jack] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN
participants (2)
-
Raymond Yau
-
Todd Dailey