Contribute
Register

[solved]AppleHDA problem; audio level not changing in menubar

Status
Not open for further replies.
Then you need to analyze the code more fully if you wish to understand...
There's nothing to understand from the code actually, it's pretty clear imic -> ispk, you must be right... I must have something wrong in the PinConfig data that it's reading my internal speaker as an internal mic, it should have something to do with the jack sense/jack color location, I'll do some testing and see...
 
There's nothing to understand from the code actually, it's pretty clear imic -> ispk, you must be right... I must have something wrong in the PinConfig data that it's reading my internal speaker as an internal mic, it should have something to do with the jack sense/jack color location, I'll do some testing and see...

Yeah... that's what I was thinking. Or further analysis of that function to determine what it is checking.
 
Yeah... that's what I was thinking. Or further analysis of that function to determine what it is checking.
Can you please show me the Connection of your internal speakers? And whether you patched AppleHDA by yourself or used already patched one?

Edit: Nvm... I am 100% sure my PinConfigs are set correctly, the issue cannot be in the PinConfigs part... I am really confused, idk anymore...

How can I investigate in the binary AppleHDA to see what 'ispk' & 'imic' do?
 
Last edited:
How can I investigate in the binary AppleHDA to see what 'ispk' & 'imic' do?

You would have to read the code and try to understand what it is doing (the patched function and code that calls it).
 
You would have to read the code and try to understand what it is doing (the patched function and code that calls it).

I tried spoofing the internal speaker node and made it look like a headphone, the issue did not happen and I didn't need the patch... But in SysPrefs->Sound, it changes to Headphones too, which is something I do not want... I wonder why AppleHDA doesn't want to deal with my internal speaker and so I have to change it to look like an internal mic... It's really confusing... Any ideas? I hope you can help me understand the binaries I disassembled, I really could not understand anything. :(

if 'imic' stands for internal mic, do you know what stands for the headphones? I like to see what happens if I try a different patch, as changing internal speakers to headphones is better than changing internal speakers to an internal mic...
 
I tried spoofing the internal speaker node and made it look like a headphone, the issue did not happen and I didn't need the patch... But in SysPrefs->Sound, it changes to Headphones too, which is something I do not want... I wonder why AppleHDA doesn't want to deal with my internal speaker and so I have to change it to look like an internal mic... It's really confusing... Any ideas? I hope you can help me understand the binaries I disassembled, I really could not understand anything. :(

It might just be weirdness with the Conexant codecs and bugs in AppleHDA. AppleHDA is coded for Apple's products only.

if 'imic' stands for internal mic, do you know what stands for the headphones?

Anybody's guess. Look at the possible return values from the function __ZNK15AppleHDAPathSet31getCharCodeForDefaultDeviceTypeEv.
 
It might just be weirdness with the Conexant codecs and bugs in AppleHDA. AppleHDA is coded for Apple's products only.



Anybody's guess. Look at the possible return values from the function __ZNK15AppleHDAPathSet31getCharCodeForDefaultDeviceTypeEv.

I found:
"spdf", "emic", "imic", "hdmi" and "ispk"

no sign of anything related to headphones... And I'm not sure I caught all the return values... can you tell me where exactly I should look? there are 9 references of __ZNK15AppleHDAPathSet31getCharCodeForDefaultDeviceTypeEv and I'm not sure where each one ends and where its return value is stored.
 
I found:
"spdf", "emic", "imic", "hdmi" and "ispk"

no sign of anything related to headphones... And I'm not sure I caught all the return values... can you tell me where exactly I should look? there are 9 references of __ZNK15AppleHDAPathSet31getCharCodeForDefaultDeviceTypeEv and I'm not sure where each one ends and where its return value is stored.

I just blindly dumped the values shown in __ZN14AppleHDAWidget31getCharCodeForDefaultDeviceTypeEv
Code:
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6c69 6e65                                line
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 7370 6466                                spdf
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6973 706b                                ispk
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6864 706e                                hdpn
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6864 6d69                                hdmi
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6470 7274                                dprt
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 696d 6963                                imic
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 656d 6963                                emic
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none

My guess is 'hdpn' is headphone.
 
I just blindly dumped the values shown in __ZN14AppleHDAWidget31getCharCodeForDefaultDeviceTypeEv
Code:
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6c69 6e65                                line
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 7370 6466                                spdf
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6973 706b                                ispk
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6864 706e                                hdpn
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6864 6d69                                hdmi
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6470 7274                                dprt
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 696d 6963                                imic
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 656d 6963                                emic
u430:Projects Admin$ pbpaste|xxd -r -p|xxd
0000000: 6e6f 6e65                                none

My guess is 'hdpn' is headphone.

Thanks a lot, and sorry, this is the first time I look into a disassembled kext and functions there do not seem like the functions I know in the programming languages, it all seems messed xD I didn't know I could use a terminal command to dump all values directly.

I'll test them all and see.

Thanks again :)
 
Thanks a lot, and sorry, this is the first time I look into a disassembled kext and functions there do not seem like the functions I know in the programming languages, it all seems messed xD I didn't know I could use a terminal command to dump all values directly.

I'll test them all and see.

Thanks again :)

I was using Copy from the disassembly output, and then pbpaste to pipe it into xxd.
 
Status
Not open for further replies.
Back
Top