Subscribe to our RSS news feed
AAPL 199.94 (-1.25)

2 Pages V   1 2 >  
Reply to this topic Start new topic
SOLVED: CX20549 (Conexant Venice) headphone output (also for other AppleAzaliaAudio.kext cards without headphones), Using Reggie SE to enable Headphones
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
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.
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 5
  • Joined: 8-October 08
  • Member No.: 300,341
Thanks! Real nice progress!
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 122
  • Joined: 2-March 08
  • Member No.: 194,164
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.
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
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...
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 20
  • Joined: 23-January 09
  • Member No.: 362,455
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
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
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.
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 23
  • Joined: 12-March 06
  • Member No.: 28,113
Doesn't work for me. Thinkpad R61. Conexant Venice CX20549 14f1:5045 wacko.gif
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
What happens?
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 122
  • Joined: 2-March 08
  • Member No.: 194,164
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

Attached File(s)
Attached File  AppleHDA.kext.rar ( 362.44K ) Number of downloads: 49
 
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 3
  • Joined: 18-February 09
  • Member No.: 379,534
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
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 23
  • Joined: 12-March 06
  • Member No.: 28,113
same as thechumdinger. Followed the instructions, tried the commands on my Thinkpad R61. Nothing happened and no error messages.
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
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...
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 6
  • Joined: 2-August 06
  • Member No.: 48,932
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>
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 3
  • Joined: 18-February 09
  • Member No.: 379,534
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
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 23
  • Joined: 12-March 06
  • Member No.: 28,113
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
PM Profile Card
Go to the top of the page
+ Quote Post
***
  • Group: Members
  • Posts: 120
  • Joined: 9-May 08
  • Member No.: 227,853
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).
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 23
  • Joined: 12-March 06
  • Member No.: 28,113
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.
PM Profile Card
Go to the top of the page
+ Quote Post
**
  • Group: Members
  • Posts: 85
  • Joined: 18-March 09
  • Member No.: 395,632
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.
PM Profile Card
Go to the top of the page
+ Quote Post
**
  • Group: Members
  • Posts: 53
  • Joined: 19-June 08
  • Member No.: 246,418
@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.
PM Profile Card
Go to the top of the page
+ Quote Post
*
  • Group: Members
  • Posts: 23
  • Joined: 12-March 06
  • Member No.: 28,113
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
PM Profile Card
Go to the top of the page
+ Quote Post
2 Pages V   1 2 >
Reply to this topic Start new topic

1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

RSS Lo-Fi Version Time is now: 22nd November 2009 - 05:12 AM