Help - Search - Members - Calendar
Full Version: SOLVED: CX20549 (Conexant Venice) headphone output (also for other AppleAzaliaAudio.kext cards without headphones)
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > Sound
Memorial
SOLVED (at the bottom of the original post)

// Original

While searching for a solution to turn on headphones for the CX20549 (Conexant Venice), I stumbled upon a solution for the ALC269 on the Ipis Forum (OS X on EeePCs):

http://ipis-osx.wikidot.com/forum/t-100527...ternal-speakers

The solution used there was to send verbs (or commands) to the driver through the developer utility called reggie_se. They turn on the headphone controls, turn on the headphone amplifier, and turn off the internal speakers to get audio.

For a beginning demonstration, people with CX20549 can try this:

CODE
sudo reggie_se -D PhysAddr -w 0x0103b080 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


This should turn off your speakers. (adjusting the volume or a reboot will bring everything back)

The way this works is you send a verb to the 0x60 offset (called the Immediate Command Output Interface) in the device memory address (which can be found in the IORegExplorer or through ioreg). Then you activate that command by sending 1 to the 0x68 offset (Immediate Command Status). A verb is a 32-bit sting that has the following structure:

Bits 31:28 are the Codec Address (0000 in our case, I think), bits [27:20] is the NID (in your codec dump), and then bits [19:0] is the verb command. Those last 20 bits are what are important, they are the command. For example the verb command 70500 sets the power state to D0 (to control power states you use the 0x705, followed by the state data and preceded by the Codec Address and NID). For example, if I want to set the headphones in CX20549 to the D0 state we do the following:

CODE
sudo reggie_se -D PhysAddr -w 0x01170500 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


If you do that for the first time (after a reboot lets say) you should hear a pop in your headphones (perhaps indicating that they were not powered on before as calling this command again does nothing). Note the Codec Address (CAd) is 0x0, NID is 0x11, verb ID 0x705 and D0 state 0x00. There are more verb commands and you can read about them in the High Definition Audio Specifications on Intel's site (Google it). The ones I think we need to concern ourselves with are:

Power State: 0x705
EAPD/BTL: 0x70c
Volume Knob Control: 0x70f
Pin Widget Control: 0x707
Amplifier Gain/Mute: 0x3 (followed by 16 bits instead of 8)

Now, I have been unable to switch over to the headphone output just yet. CX20549 seems significantly different to ALC269. For example the ALC269 has an EAPD pin on the headphone widget, but the CX20549 does not. I am also at at a loss of being able to turn on the internal speakers through reggie_se after turning them off. In fact, both the 0x3b000 (should turn on speakers) and 0x3b080 (should mute speakers) commands turn internal speakers off (for some odd reason I have not found out yet). I have not tried using Get commands yet, because I hoped everything was in the Linux codec dump, but it may not be. My biggest success is with the pop on the headphone Power State setting.

Any ideas or help with this would be appreciated. Also, if anyone with a EeePC with ALC269 could upload a Linux Codec dump, that would be great. The dump I found seems to be a bit odd and is poorly formatted

//

Solution:

This is a temporary solution to get headphones to output on the CX20549 (The commands below work for SubSysID 0x103C30CD and might be different for other SubSystem ID's If you have your codec dump, try getting the right NID's for your specific version and the correct memory address). Make sure AppleAzaliaAudio.kext is installed and you get output through your speakers. Also, you must install CHUD tools (or the entire Development Tools package). Run these commands in terminal:

CODE
sudo reggie_se -D PhysAddr -w 0x01170500 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32
sudo reggie_se -D PhysAddr -w 0x011707c0 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32
sudo reggie_se -D PhysAddr -w 0x0113b020 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


If you want the commands to turn off the speakers as well, add this:

CODE
sudo reggie_se -D PhysAddr -w 0x0103b080 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


(Note: I have reason to believe that if you get errors about not being able to write to that address, it could be the result of using a non-vanilla kernel that blocks this type of memory editing)

Also, note that you cannot use the standard volume controls to make the headphones louder. If you use the standard volume controls (if you make anything louder in them) you will turn on the internal speakers again if you turned them off (tell me if this doesn't work). To change volumes in headphones you have to use this command:

sudo reggie_se -D PhysAddr -w 0x0113b0xx -a 0xf4500060 -B 32

where xx is between 00 and 80 (80 is mute, but anything right below 80 is very loud). 00 is very very quiet (this was actually my original problem, I just couldn't hear that I turned the headphones on, or the speakers back on).

If you have problems turning you speakers back on, run this:

sudo reggie_se -D PhysAddr -w 0x0103b0xx -a 0xf4500060 -B 32

where xx is between 00 and 80 (80 is mute anything right below 80 is very loud , 00 is very quiet).

Note, that all this resets after reboot and sleep.

There is a problem however; I think pushing the Amplifiers like we are doing with these commands produces shitty quality, so there has to be another way to control volume without hurting the quality. Anyway, please test and tell me if I need to clarify anything, or if this even makes sense.
Zip McOccup
Thanks! Real nice progress!
mehdymehdy
QUOTE (Memorial @ Dec 22 2008, 10:32 AM) *
SOLVED (at the bottom of the original post)

// Original

While searching for a solution to turn on headphones for the CX20549 (Conexant Venice), I stumbled upon a solution for the ALC269 on the Ipis Forum (OS X on EeePCs):

http://ipis-osx.wikidot.com/forum/t-100527...ternal-speakers

The solution used there was to send verbs (or commands) to the driver through the developer utility called reggie_se. They turn on the headphone controls, turn on the headphone amplifier, and turn off the internal speakers to get audio.

For a beginning demonstration, people with CX20549 can try this:

CODE
sudo reggie_se -D PhysAddr -w 0x0103b080 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


This should turn off your speakers. (adjusting the volume or a reboot will bring everything back)

The way this works is you send a verb to the 0x60 offset (called the Immediate Command Output Interface) in the device memory address (which can be found in the IORegExplorer or through ioreg). Then you activate that command by sending 1 to the 0x68 offset (Immediate Command Status). A verb is a 32-bit sting that has the following structure:

Bits 31:28 are the Codec Address (0000 in our case, I think), bits [27:20] is the NID (in your codec dump), and then bits [19:0] is the verb command. Those last 20 bits are what are important, they are the command. For example the verb command 70500 sets the power state to D0 (to control power states you use the 0x705, followed by the state data and preceded by the Codec Address and NID). For example, if I want to set the headphones in CX20549 to the D0 state we do the following:

CODE
sudo reggie_se -D PhysAddr -w 0x01170500 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


If you do that for the first time (after a reboot lets say) you should hear a pop in your headphones (perhaps indicating that they were not powered on before as calling this command again does nothing). Note the Codec Address (CAd) is 0x0, NID is 0x11, verb ID 0x705 and D0 state 0x00. There are more verb commands and you can read about them in the High Definition Audio Specifications on Intel's site (Google it). The ones I think we need to concern ourselves with are:

Power State: 0x705
EAPD/BTL: 0x70c
Volume Knob Control: 0x70f
Pin Widget Control: 0x707
Amplifier Gain/Mute: 0x3 (followed by 16 bits instead of 8)

Now, I have been unable to switch over to the headphone output just yet. CX20549 seems significantly different to ALC269. For example the ALC269 has an EAPD pin on the headphone widget, but the CX20549 does not. I am also at at a loss of being able to turn on the internal speakers through reggie_se after turning them off. In fact, both the 0x3b000 (should turn on speakers) and 0x3b080 (should mute speakers) commands turn internal speakers off (for some odd reason I have not found out yet). I have not tried using Get commands yet, because I hoped everything was in the Linux codec dump, but it may not be. My biggest success is with the pop on the headphone Power State setting.

Any ideas or help with this would be appreciated. Also, if anyone with a EeePC with ALC269 could upload a Linux Codec dump, that would be great. The dump I found seems to be a bit odd and is poorly formatted

//

Solution:

This is a temporary solution to get headphones to output on the CX20549. Make sure AppleAzaliaAudio.kext is installed and you get output through your speakers. Also, you must install CHUD tools (or the entire Development Tools package). Run these commands in terminal:

CODE
sudo reggie_se -D PhysAddr -w 0x01170500 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32
sudo reggie_se -D PhysAddr -w 0x011707c0 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32
sudo reggie_se -D PhysAddr -w 0x0113b020 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


If you want the commands to turn off the speakers as well, add this:

CODE
sudo reggie_se -D PhysAddr -w 0x0103b080 -a 0xf4500060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xf4500068 -B 32


(Note: I have reason to believe that if you get errors about not being able to write to that address, it could be the result of using a non-vanilla kernel that blocks this type of memory editing)

Also, note that you cannot use the standard volume controls to make the headphones louder. If you use the standard volume controls (if you make anything louder in them) you will turn on the internal speakers again if you turned them off (tell me if this doesn't work). To change volumes in headphones you have to use this command:

sudo reggie_se -D PhysAddr -w 0x0113b0xx -a 0xf4500060 -B 32

where xx is between 00 and 80 (80 is mute, but anything right below 80 is very loud). 00 is very very quiet (this was actually my original problem, I just couldn't hear that I turned the headphones on, or the speakers back on).

If you have problems turning you speakers back on, run this:

sudo reggie_se -D PhysAddr -w 0x0103b0xx -a 0xf4500060 -B 32

where xx is between 00 and 80 (80 is mute anything right below 80 is very loud , 00 is very quiet).

Note, that all this resets after reboot and sleep.

There is a problem however; I think pushing the Amplifiers like we are doing with these commands produces shitty quality, so there has to be another way to control volume without hurting the quality. Anyway, please test and tell me if I need to clarify anything, or if this even makes sense.


wat a wast of time . go see the applehda patcher sticky and try to make an applehda that can recongniz the soud card properly.
Memorial
QUOTE (mehdymehdy @ Jan 13 2009, 05:12 AM) *
wat a wast of time . go see the applehda patcher sticky and try to make an applehda that can recongniz the soud card properly.


Thanks for your very useful commentary on the subject...
maquiavelo69
hell yes dont worry theres always someone to tell you this kind of things , i dont know why they even make the effort of typing that jaja thats the biggest waste of time that they make. anyway


i have this card the 14f1 5445 and i have sound for my built in speakers but not earphones, i have been reading the forums and i have seen that the apple hda is maybe a solution and yours definetly it is, first of all i tryied aaliza and this killed my built in audio that i was working before i try something else i'd like to know what is better!!!

!!! if i try your method can i end up wihtout sound or something???


thanks!



ah! im not using vanilla kernel
Memorial
If I have time in the next few weeks I might patch the AppleHDA.kext. But we all really should just wait for VoodooHDA, patching kexts is just messy. There is an option to use DSDT patch without touching much of AppleHDA it seems (inject the codec layout and all), but I am not into the DSDT patch yet, until I can see some chameleon source for it.
dell700m
Doesn't work for me. Thinkpad R61. Conexant Venice CX20549 14f1:5045 wacko.gif
Memorial
What happens?
mehdymehdy
QUOTE (maquiavelo69 @ Jan 25 2009, 03:46 PM) *
hell yes dont worry theres always someone to tell you this kind of things , i dont know why they even make the effort of typing that jaja thats the biggest waste of time that they make. anyway


i have this card the 14f1 5445 and i have sound for my built in speakers but not earphones, i have been reading the forums and i have seen that the apple hda is maybe a solution and yours definetly it is, first of all i tryied aaliza and this killed my built in audio that i was working before i try something else i'd like to know what is better!!!

!!! if i try your method can i end up wihtout sound or something???


thanks!



ah! im not using vanilla kernel
thechumdinger
Hey Memorial, I tried both reggie_se turn off speakers and turn on the headphone jack commands; I got no response from either and I didnot have any write errors either. I have apple azaliaaudio.kext installed... do I need to uninstall any kexts?
Any insight? (did I miss something?)

TC

Here's what Everest found:



HD Audio





[ Intel 82801GBM ICH7-M - High Definition Audio Controller [B-0] ]



Device Properties:

Device Description

Intel 82801GBM ICH7-M - High Definition Audio Controller [B-0]

Device Description (Windows)

High Definition Audio Controller

Bus Type

PCI

Device ID

8086-27D8

Subsystem ID

103C-30BB

Revision

02

Hardware ID

PCI\VEN_8086&DEV_27D8&SUBSYS_30BB103C&REV_02



[ Conexant Cx20549 ]



Device Properties:

Device Description

Conexant Cx20549

Device Description (Windows)

Conexant High Definition Audio

Device Type

Audio

Bus Type

HDAUDIO

Device ID

14F1-5045

Subsystem ID

103C-30BB

Revision

1001

Hardware ID

HDAUDIO\FUNC_01&VEN_14F1&DEV_5045&SUBSYS_103C30BB&REV_1001



[ Conexant Cx20549 ]



Device Properties:

Device Description

Conexant Cx20549

Device Description (Windows)

In-Build COnexant HDA Type 2 modem

Device Type

Modem

Bus Type

HDAUDIO

Device ID

14F1-5045

Subsystem ID

103C-30BB

Revision

1001

Hardware ID

HDAUDIO\FUNC_02&VEN_14F1&DEV_5045&SUBSYS_103C30BB&REV_1001

B00 D1B F00:

Intel 82801GBM ICH7-M - High Definition Audio Controller [B-0]



Offset 000:

86 80 D8 27 06 00 10 00 02 00 03 04 10 00 00 00

Offset 010:

04 00 30 DE 00 00 00 00 00 00 00 00 00 00 00 00

Offset 020:

00 00 00 00 00 00 00 00 00 00 00 00 3C 10 BB 30

Offset 030:

00 00 00 00 50 00 00 00 00 00 00 00 16 01 00 00

Offset 040:

03 00 00 03 07 00 00 00 00 00 00 00 00 00 00 00

Offset 050:

01 60 42 C8 00 00 00 00 00 00 00 00 00 00 00 00

Offset 060:

05 70 80 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 070:

10 00 91 00 00 00 00 00 00 00 10 00 00 00 00 00

Offset 080:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 090:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0A0:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0B0:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0C0:

00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0D0:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0E0:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset 0F0:

00 00 00 00 00 00 00 00 86 0F 02 00 00 00 00 00
dell700m
same as thechumdinger. Followed the instructions, tried the commands on my Thinkpad R61. Nothing happened and no error messages.
Memorial
Can you guys get Linux codec dumps for me? Does turning off sound work for you (through reggie_se)? I think it is due to variations in different versions. My exact commands are specific to SubSys ID 0x103C30CD I think. If we can get your codec dump and the proper memory address, this should work.

I guess I should change the title, but I have been using this for months now and it works great for me...
marreco
This is mine codec dump could u post the especified commands?
My english isnt very good

Thanks

<code>
Codec: Conexant CX20549 (Venice)
Address: 0
Vendor Id: 0x14f15045
Subsystem Id: 0x103c30d9
Revision Id: 0x100100
Modem Function Group: 0x2
Default PCM:
rates [0x140]: 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x10 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x9f 0x9f]
Pincap 0x00010014: OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x95170110: [Fixed] Speaker at Int Top
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x11 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x1f 0x1f]
Pincap 0x0000113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x0221101f: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0xc0: OUT HP VREF_HIZ
Unsolicited: tag=37, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x12 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0xab 0xab]
Pincap 0x0000113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x02a11020: [Jack] Mic at Ext Front
Conn = 1/8, Color = Black
DefAssociation = 0x2, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 2
0x19* 0x17
Node 0x13 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x00000010: OUT
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 1
0x18
Node 0x14 [Pin Complex] wcaps 0x400081: Stereo
Pincap 0x00001124: IN Detect
Vref caps: HIZ 80
Pin Default 0x97a7012e: [Fixed] Mic at Int Riser
Conn = Analog, Color = Unknown
DefAssociation = 0x2, Sequence = 0xe
Misc = NO_PRESENCE
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x00000020: IN
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Node 0x16 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0b, mute=1
Amp-Out vals: [0x06]
Node 0x17 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x14, nsteps=0x2b, stepsize=0x05, mute=1
Amp-In vals: [0x0e 0x0e] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Power: setting=D0, actual=D0
Connection: 5
0x19 0x14 0x12 0x11 0x15
Node 0x18 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x40]: 48000
bits [0x6]: 16 20
formats [0x5]: PCM AC3
Node 0x19 [Audio Output] wcaps 0xc11: Stereo R/L
Converter: stream=0, channel=0
PCM:
rates [0x540]: 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Node 0x1a [Audio Input] wcaps 0x100d0b: Stereo Amp-In R/L
Amp-In caps: ofs=0x00, nsteps=0x17, stepsize=0x05, mute=1
Amp-In vals: [0x17 0x17] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Connection: 5
0x17 0x14* 0x12 0x11 0x15
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
</code>
thechumdinger
I could not turn off the speakers either...
(I have an HP dv9000)

Here's mine:


Codec: Conexant CX20549 (Venice)
Address: 0
Vendor Id: 0x14f15045
Subsystem Id: 0x103c30bb
Revision Id: 0x100100
Modem Function Group: 0x2
Default PCM:
rates [0x140]: 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x10 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0xa3 0xa3]
Pincap 0x0810014: OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x95170110: [Fixed] Speaker at Int Top
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x11 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x23 0x23]
Pincap 0x08113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x0221101f: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0xc0: OUT HP VREF_HIZ
Unsolicited: tag=37, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x12 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0xab 0xab]
Pincap 0x08113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x40a190f0: [N/A] Mic at Ext N/A
Conn = 1/8, Color = Pink
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 2
0x19* 0x17
Node 0x13 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x22451130: [Jack] SPDIF Out at Sep Front
Conn = Optical, Color = Black
DefAssociation = 0x3, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 1
0x18
Node 0x14 [Pin Complex] wcaps 0x400081: Stereo
Pincap 0x081124: IN Detect
Vref caps: HIZ 80
Pin Default 0x02a79120: [Jack] Mic at Ext Front
Conn = Analog, Color = Pink
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Node 0x16 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0b, mute=1
Amp-Out vals: [0x06]
Node 0x17 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x14, nsteps=0x2b, stepsize=0x05, mute=1
Amp-In vals: [0x10 0x10] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Power: setting=D0, actual=D0
Connection: 5
0x19 0x14 0x12 0x11 0x15
Node 0x18 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x40]: 48000
bits [0x6]: 16 20
formats [0x5]: PCM AC3
Node 0x19 [Audio Output] wcaps 0xc11: Stereo R/L
Converter: stream=0, channel=0
PCM:
rates [0x540]: 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Node 0x1a [Audio Input] wcaps 0x100d0b: Stereo Amp-In R/L
Amp-In caps: ofs=0x00, nsteps=0x17, stepsize=0x05, mute=1
Amp-In vals: [0x17 0x17] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Connection: 5
0x17 0x14* 0x12 0x11 0x15
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
dell700m
my linux codec dump - Thinkpad R61
Codec: Conexant CX20549 (Venice)
Address: 0
Vendor Id: 0x14f15045
Subsystem Id: 0x17aa20db
Revision Id: 0x100100
Modem Function Group: 0x2
Default PCM:
rates [0x140]: 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x10 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x23 0x23]
Pincap 0x0810014: OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x95170110: [Fixed] Speaker at Int Top
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x11 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x23 0x23]
Pincap 0x08113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x0321401f: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Green
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0xc0: OUT HP VREF_HIZ
Unsolicited: tag=37, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x19 0x17*
Node 0x12 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0xab 0xab]
Pincap 0x08113c: IN OUT HP Detect
Vref caps: HIZ 80
Pin Default 0x21a1902e: [Jack] Mic at Sep Rear
Conn = 1/8, Color = Pink
DefAssociation = 0x2, Sequence = 0xe
Pin-ctls: 0x20: IN VREF_HIZ
Unsolicited: tag=38, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x19* 0x17
Node 0x13 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x2144f1f0: [Jack] SPDIF Out at Sep Rear
Conn = RCA, Color = Other
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 1
0x18
Node 0x14 [Pin Complex] wcaps 0x400081: Stereo
Pincap 0x081124: IN Detect
Vref caps: HIZ 80
Pin Default 0x03a15021: [Jack] Mic at Ext Left
Conn = 1/8, Color = Red
DefAssociation = 0x2, Sequence = 0x1
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x95a70120: [Fixed] Mic at Int Top
Conn = Analog, Color = Unknown
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Node 0x16 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0b, mute=1
Amp-Out vals: [0x06]
Node 0x17 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x14, nsteps=0x2b, stepsize=0x05, mute=1
Amp-In vals: [0x10 0x10] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Power: setting=D0, actual=D0
Connection: 5
0x19 0x14 0x12 0x11 0x15
Node 0x18 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x40]: 48000
bits [0x6]: 16 20
formats [0x5]: PCM AC3
Node 0x19 [Audio Output] wcaps 0xc11: Stereo R/L
Converter: stream=0, channel=0
PCM:
rates [0x540]: 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Node 0x1a [Audio Input] wcaps 0x100d0b: Stereo Amp-In R/L
Amp-In caps: ofs=0x00, nsteps=0x17, stepsize=0x05, mute=1
Amp-In vals: [0x17 0x17] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Connection: 5
0x17 0x14* 0x12 0x11 0x15
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
Memorial
Ok. So the dumps don't seem to be the problem. I need memory addresses. This is how you get them (you need Azalia loaded):

(1) Open Terminal.
(2) Run: ioreg -l
(3) Find the device called HDEF (you can use Command+F if you wish)
(4) Under HDEF there will be something that looks like this:

"IODeviceMemory" = (({"address"=18446744073513467904,"length"=16384}))

(5) I need the above line as it appears in your ioreg dump. Post it, and I will hopefully be able to ive you the commands that will make this work. If this works for you guys, I will edit the first post to reflect this need.

If you guys want to make the commands yourself, note that all you have to do is convert your "address" to hex, and replace 0x0xf4500060 in the commands with the last 8 symbols in the hex explansion of your "address" plus 60 at the end (symilarly with the 0xf4500068, add 68 and replace).
dell700m
My ioreg dump.

HDEF@1B <class IOPCIDevice, registered, matched, active, busy 0, retain 8>
| | | | {
| | | | "IOPCIResourced" = Yes
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "IOName" = "pci8086,284b"
| | | | "subsystem-id" = <ac200000>
| | | | "IODeviceMemory" = (({"address"=18446744073578479616,"length"=16384}))
| | | | "class-code" = <00030400>
| | | | "revision-id" = <03000000>
| | | | "AAPL,HasLid" = <01000000>

Please help. Thanks

It works, thanks so much Memorial!
Just converted the address and did it myself.
Confirmed! It works.
DPyro
Will this work with AppleHDA? I just got everything working with it, but requires a warm boot into windows. As soon as you restart or put the computer to sleep, sound won't work.
Oh the Huge Manatee
@Memorial You, sir, are amazing.

I don't have any HDA entries in my lspci output, but I do have AZAL entries. I've been posting to myself about this all day (getting audio jacks working on C700)

I just ran

sudo reggie_se -D PhysAddr -w 0x0103b080 -a 0xd2400060 -B 32

sudo reggie_se -D PhysAddr -w 1 -a 0xd2400068 -B 32

(note the different hardware address - anyone else with a C700 or C776CA laptop might find that useful)

And holy crap, my sound is muted! I don't have anything to add here (yet), but I'm just blown away that your reggie_se hack is going to work on my laptop. I'm getting a massive geekrection from this. smile.gif


EDIT:

OK, so that first step worked, but I can't seem to toggle headphones on, and the code to disable the speaker amplifier didn't seem to work, either! I'm 95% sure I have a CX20549, so the codes should be right...

Some of the EEE threads mention modified kexts for HDAudio and Azalia. I have an iPC 10.5.6 fresh install, my speakers work fine, and you don't mention it in the original post, so I'm not convinced that those will help. Output of sudo kextstat |grep Azalia:
72 0 0x475f3000 0x6000 0x5000 com.apple.driver.AppleAzaliaController (1.0.0d1) <71 17 6 5 4 2>
94 0 0x68544000 0xc000 0xb000 com.apple.driver.AppleAzaliaAudio (1.0.0d1) <91 71 6 5 4 2>

So I definitely have SOMETHING running there.

You mention "The commands below work for SubSysID 0x103C30CD and might be different for other SubSystem ID's If you have your codec dump, try getting the right NID's for your specific version and the correct memory address". I do have a different subsystem ID. Here's the relevant ioreg output

| | +-o AZAL@1B <class IOPCIDevice, registered, matched, active, busy 0, retain 71>
| | | | {
| | | | "IOPCIResourced" = Yes
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "IOName" = "multimedia"
| | | | "subsystem-id" = <51500000>
| | | | "IOPCIExpressLinkCapabilities" = 0
| | | | "IODeviceMemory" = (({"address"=18446744072941993984,"length"=16384}))
| | | | "class-code" = <00030400>
| | | | "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2}
| | | | "revision-id" = <03000000>
| | | | "IOInterruptSpecifiers" = (<1600000007000000>,<0100000000000100>)
| | | | "assigned-addresses" = <10d8008200000000000040d20000000000400000>
| | | | "built-in" = <00>
| | | | "acpi-device" = "IOACPIPlatformDevice is not serializable"
| | | | "device-id" = <4b280000>
| | | | "vendor-id" = <86800000>
| | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/AZAL@1b0000"
| | | | "subsystem-vendor-id" = <f1140000>
| | | | "name" = "multimedia"
| | | | "IOPCIExpressLinkStatus" = 0
| | | | "reg" = <00d800000000000000000000000000000000000010d8000200000000000000000000000000400
00>
| | | | "compatible" = <"pci14f1,5051","pci8086,284b","pciclass,040300">
| | | | "IOPCIExpressASPMDefault" = 0
| | | | }

Converting the subsystem-id of 51500000 to hex gets me 311d3e0. Does that mean my Subsystem ID is 0x311d3e0 ? and what does that tell me? How do I find the right NIDs for my version, and what does that even mean?

Very very very excited about the progress so far. thank you so much for contributing your knowledge here!


EDIT AGAIN: Here's my codec dump from Kubuntu, in case that helps.
Codec: Generic 14f1 ID 5051
Address: 0
Vendor Id: 0x14f15051
Subsystem Id: 0x103c30d9
Revision Id: 0x100000
Default PCM: rates 0x160, bits 0x0e, types 0x1
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0
Amp-Out vals: [0x3b 0x3b]
PCM: rates 0x560, bits 0x0e, types 0x1
Power: 0x0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0
Amp-Out vals: [0x4a 0x4a]
PCM: rates 0x560, bits 0x0e, types 0x1
Power: 0x0
Node 0x12 [Audio Output] wcaps 0x211: Stereo Digital
PCM: rates 0x160, bits 0x0e, types 0x5
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0
Amp-Out vals: [0x00]
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
Amp-In vals: [0x06 0x06] [0x4a 0x4a]
PCM: rates 0x160, bits 0x0e, types 0x1
Power: 0x0
Connection: 2
0x1d* 0x17
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
Amp-In vals: [0x4a 0x4a]
PCM: rates 0x160, bits 0x0e, types 0x1
Power: 0x0
Connection: 1
0x18
Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x081c: OUT HP Detect
Pin Default 0x01214040: [Jack] HP Out at Ext Rear
Conn = 1/8, Color = Green
Pin-ctls: 0xc0: OUT HP
Power: 0x0
Connection: 2
0x10* 0x11
Node 0x17 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-In vals:
Pincap 0x081224: IN Detect
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
Power: 0x0
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-In vals:
Pincap 0x081224: IN Detect
Pin Default 0x01a19030: [Jack] Mic at Ext Rear
Conn = 1/8, Color = Pink
Pin-ctls: 0x00:
Power: 0x0
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x0814: OUT Detect
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x40: OUT
Power: 0x0
Connection: 2
0x10* 0x11
Node 0x1a [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x0810010: OUT EAPD
Pin Default 0x92170110: [Fixed] Speaker at Int Front
Conn = Analog, Color = Unknown
Pin-ctls: 0x40: OUT
Power: 0x0
Connection: 2
0x10* 0x11
Node 0x1b [Pin Complex] wcaps 0x400500: Mono
Pincap 0x0810010: OUT EAPD
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x40: OUT
Power: 0x0
Connection: 2
0x10* 0x11
Node 0x1c [Pin Complex] wcaps 0x400701: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
Power: 0x0
Connection: 1
0x12
Node 0x1d [Pin Complex] wcaps 0x40040b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-In vals:
Pincap 0x0820: IN
Pin Default 0x97a70120: [Fixed] Mic at Int Riser
Conn = Analog, Color = Unknown
Pin-ctls: 0x20: IN
Power: 0x0
Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono



Really not sure where to go from here. Any advice would be welcome.
dell700m
linguini6699
Your hardware ID says you have a CX20561.
Vendor Id: 0x14f15051

You might want try this.
http://www.insanelymac.com/forum/index.php?showtopic=149517
Memorial
Dpyro. This can be adopted to other drivers, theoretically, but we will have to get your codex dump and memory address. If you have AppleHDA loadiing, then you don't need this, as it should have headphones (if you inject the right information). This whole thing only works when the driver loads already.

Dell700m, I am glad to hear this worked for you. I recommend you make a simple shell script to turn speakers on (you can also make a script to control headphone levels). I will rewrite the first post to take into account memory address differences.

If anyone want to try and make and AppleHDA kext for this card, it shouldn't be too hard. I am just in no mood for testing kexts and editing plists all day (plus, I have no use for any other components of the sound card). The process is easy and detailed in the sound forum, it should work for this card.
DPyro
Well, my sound works perfectly with warm boot method using HDAEnabler and custom AppleHDA plist I made, I even replaced HDAEnabler with an EFI string using EFIStudio. However the EFI string didn't fix the warm boot problem. I tried the method in the first post to turn amp on, but haven't gotten anywhere with this. The memory address I used was something like, FC300000. So the commands looked something like this:

CODE

0x14 Pin for speakers
sudo reggie_se -D PhysAddr -w 0x01470500 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x014707c0 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32

0x15 Pin for headphones
sudo reggie_se -D PhysAddr -w 0x01570500 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x015707c0 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32


However, I had to add (one of) the following to my ALC889.kext as 'dummy pins' in order to get sound working originally:
[N/A] Speaker at Ext Rear [22] - [Mixer] 14 - [Stereo] 4
[N/A] Speaker at Ext Rear [23] - [Mixer] 15 - [Stereo] 5
[N/A] Speaker at Ext Rear [27] - [Mixer] 38 - [Stereo] 37

I'm wondering if I also have to send verb commands to these for sound to work on cold boot?

EDIT: Just tried sending verbs to 0x16, 0x17, and 0x1b and still nothing. But still, I'm thinking in linux I had to run alsa-mixer command-line and crank up the volume on the speakers.

FYI, I ran this to get the memory address:
ioreg -d 1 -r -n $(ioreg -x | grep 'AppleHDA' -B 1 | head -n 1 | cut -d 'o' -f 2- | cut -d '<' -f 1) -x | grep "IODeviceMemory" | cut -d '=' -f 3 | cut -d ',' -f 1 | cut -b 11-
dell700m
Memorial,
About the shell script part, i made myself a AppleScript Application to autorun @ login, saved me some typing. Although i can not change volume in headset by the slide on the upper right corner, I still can change it using volume slide in itunes or MPlayer, so no need for the volume change shell script. When i plug my headset, it will disable the internal speak, so no need for the speaker disable script neither. For Mic, i am using a USB mic now, basicly i am all set.

Memorial, Thanks again for your help.
Memorial
Sounds great Dell700m.

Dpyro, AppleHDA should still conform to Intel HDA specifications, is that correct? If you can get a codec dump posted, maybe we could look at it to see where things go wrong. What are you trying to do anyway? If you want to enable speakers, you should make your EFI strings reflect the right NIC's for the headphones.
DPyro
QUOTE (Memorial @ Apr 6 2009, 04:58 PM) *
Sounds great Dell700m.

Dpyro, AppleHDA should still conform to Intel HDA specifications, is that correct? If you can get a codec dump posted, maybe we could look at it to see where things go wrong. What are you trying to do anyway? If you want to enable speakers, you should make your EFI strings reflect the right NIC's for the headphones.


I'm trying to activate the amp as I think it doesn't turn on in OSX. The plist I created works well in OSX but requires me to boot into vista first with Microsoft UAA drivers installed. So basically, I have to use windows to send power to the audio bridge, and when I reboot, power is still sent so the drivers I created work.

Here is my codec dump.
Memorial
Ok, sounds weird. So you don't get any sound when powered first with OS X? This sounds odd, as a reboot should kill all that (except maybe amp settings... I guess). You have AppleHDA loading right? It looks like your NIC for speakers is 0x14. Are you turning on your EAPD? It should be 0x01470c02 for you to turn on EAPD. Do it after PowerState and before PinControls (I think). Try then setting the amp setting by hand with Reggie.

You should get the High Definition Audio Specifications supplied by Intel and read that (mostly look at the verb lists at the end) to get a hand of what you can do with this techinque.
DPyro
Ok, so which commands would I send to get sound?

Is this correct:
CODE

sudo reggie_se -D PhysAddr -w 0x01470500 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x01470c02 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32


EDIT:

What I had first was correct, I was just missing the last command, thanks for that biggrin.gif

CODE

0x14 Pin for speakers
sudo reggie_se -D PhysAddr -w 0x01470500 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x014707c0 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x01470c02 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32


Speakers and headphones enabled with that code thumbsup_anim.gif

How would I go about automating this so I get sound after cold boot or wake from sleep? I see you can edit the Audiee program here but not sure how.
Oh the Huge Manatee
@Dell700m Thanks for the reply... I found that post already, and it looks PERFECT! ... except that the guy never attached his kexts. doh! I PM'ed him about it, but meantime I'm just going to work on rolling my own AppleHDA. Should be fun!
dell700m
Tested and confirmed, VoodooHDA works for Conexant Venice CX20549 14f1:5045. Both Speaker and Headphone, did not test Mic.
Memorial
Just as an update. There are reports of VoodooHDA beta working for this codec. It didn't work for me, but I have some ideas to try out that may make it work. I guess the person with success has a different subsys id than me.
JLN
Hi DPyro,

I just want to double check with you about this code: does it enable both speakers and headphones on Intel Macbook running Leopard? I am having the following problem: headphone jack snapped right off and the tip is stuck inside now. Because it is pushed all the way, it disabled the speakers. I tried everything, but it doesn't want to come out. Apple wants to charge me $500 for a new logic board, so I thought I'd give a try with a different approach: enabling both speakers and headphones at the same time seems like a nice option.
Do you think your code applies in my case?
Thanks!
-JL

QUOTE (DPyro @ Apr 7 2009, 05:21 PM) *
CODE

0x14 Pin for speakers
sudo reggie_se -D PhysAddr -w 0x01470500 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x014707c0 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
sudo reggie_se -D PhysAddr -w 0x01470c02 -a 0xfc300060 -B 32
sudo reggie_se -D PhysAddr -w 1 -a 0xfc300068 -B 32
Memorial
Wait? An actual MacBook? Everything should work. If your speakers are not working because you have a broken headphone jack, that could actually be fixed by this method (I think), we would need to figure out the right commands.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.