Jump to content

Fix for no Audio issue after Sleep in Realtek codecs


EMlyDinEsH

Recommended Posts

Is it possible to make this as a standalone kext that wouldn't require rewrites and recompilation with every major source release from Apple?

I mean, it's actually possible to make a power state hook that would execute the update method when power state changes and boolean that EAPD felt asleep is equal to one. This would be a much cleaner solution and won't require any user input after updating ... I'm not skilled enough to code a kext like that, but I've attempted nonetheless but PM state hook wasn't successful on my part and all I achieved was that audio was enabled upon boot up whilst EAPD verb wasn't included in pinconfig.. 

Link to comment
Share on other sites

Sorry, I don't have Lion installed. It is easier if you install xcode under Lion and just press the build button - then you get the code compiled for 10.7 automatically. I am not a programer so and I don't know where to download the SDKs. If you can tell me, where to download I can do the compile for you.

 

can you tell me to audio issue fix compile tutorial? if you tell me, i try to compile fix for 10.7

Link to comment
Share on other sites

Is it possible to make this as a standalone kext that wouldn't require rewrites and recompilation with every major source release from Apple?

I mean, it's actually possible to make a power state hook that would execute the update method when power state changes and boolean that EAPD felt asleep is equal to one. This would be a much cleaner solution and won't require any user input after updating ... I'm not skilled enough to code a kext like that, but I've attempted nonetheless but PM state hook wasn't successful on my part and all I achieved was that audio was enabled upon boot up whilst EAPD verb wasn't included in pinconfig.. 

 

Based on the sources of the current kext I would say that it should be possible. Basically you just need a kext with access to IORegistry (I read that there is some tutorial for writing kext for IOKit, that should be good for this purpose)

Link to comment
Share on other sites

Just tried, but not work with on my Asus UX31A. My headphone work great after wake with no need patch IOAudioFamily, but Speaker not work even after reload AppleHDA.kext.

Check two things:

   ioreg output -> what is the path to HDEF

   speaker node -> is it 0x14?

Link to comment
Share on other sites

can you tell me to audio issue fix compile tutorial? if you tell me, i try to compile fix for 10.7

 

Install XCode and open up the project file: IOAudioFamily.xcodeproj

In XCode there is the product menu. Here you find the Clean and the Build commands. The project should automatically use the existing SDK so all you have to do is press clean and after that press build. xcode_retina_1.png

Link to comment
Share on other sites

Is it possible to make this as a standalone kext that wouldn't require rewrites and recompilation with every major source release from Apple?

I mean, it's actually possible to make a power state hook that would execute the update method when power state changes and boolean that EAPD felt asleep is equal to one. This would be a much cleaner solution and won't require any user input after updating ... I'm not skilled enough to code a kext like that, but I've attempted nonetheless but PM state hook wasn't successful on my part and all I achieved was that audio was enabled upon boot up whilst EAPD verb wasn't included in pinconfig.. 

 

Quoting myself here...

Well, I felt like having another kext in the system is pretty pointless, considering I already have a kext that is able to determine power state transitions.. and it just happens to be opensource. So I went ahead and modified it, so no more IOAudioFamily sources are required and no hassle for me after every updated (you don't generally update your PS/2 kexts that often, do you?).

The kext is made configurable and can handle both speaker and headphone nodes if they are defined properly. You still need to have the EAPD codec verb in your pinconfig for sound to be enabled upon boot though. Not anymore...

My codec only has EAPD on speaker node 0x14 (20) so I can't test headphones alone or headphones plus speakers for EAPD command verb updating. 

 

People who are using RehabMan's VoodooPS2Controller can give this a go, I've documented the settings I've added (as well what has been modified from RehabMan's sources) in the readme:

https://github.com/Dolnor/VoodooPS2Controller_EAPD_Handler

 

Cheers!

- Dolnor a.k.a TimeWalker

  • Like 1
Link to comment
Share on other sites

Quoting myself here...

Well, I felt like having another kext in the system is pretty pointless, considering I already have a kext that is able to determine power state transitions.. and it just happens to be opensource. So I went ahead and modified it, so no more IOAudioFamily sources are required and no hassle for me after every updated (you don't generally update your PS/2 kexts that often, do you?).

The kext is made configurable and can handle both speaker and headphone nodes if they are defined properly. You still need to have the EAPD codec verb in your pinconfig for sound to be enabled upon boot though. My codec only has EAPD on speaker node 0x14 (20) so I can't test headphones alone or headphones plus speakers for EAPD command verb updating. 

 

People who are using RehabMan's VoodooPS2Controller can give this a go, I've documented the settings I've added (as well what has been modified from RehabMan's sources) in the readme:

https://github.com/Dolnor/VoodooPS2Controller_EAPD_Handler

 

Cheers!

- Dolnor a.k.a TimeWalker

 

If it is possible, can you consider making it a separate kext? As an owner of a laptop with an Elan touchpad, I can't use PS2 controller without kext conflicts.

Link to comment
Share on other sites

Check two things:

   ioreg output -> what is the path to HDEF

   speaker node -> is it 0x14?

 

Path: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/HDEF@1B

Speak node: 0x14 (exactly)

 

I try to change path on startUpdate function and rebuild but no luck. 10.8.4 work great, 10.8.5 and 10.9 not work.

 

PS: Check Console.log has "EAPD: Enabled Successfully" but still not work. 

Link to comment
Share on other sites

×
×
  • Create New...