Jump to content

[GUIDE]: The MacBookPro18 Project


valv
 Share

499 posts in this topic

Recommended Posts

...

Mal, am pretty sure you going to love that one. I didn't try it yet, but looks promising to rest of us (also).

 

WOW!! That's amazing!

I installed it and it seems to work nice ... but I will try to use it more deeply and i will tell u my results! For now it's working great... and one less voodoo stuff in the system ... :lol:

 

Perhaps it can go automatically to sleep and hibernate automatically when i am at zero battery ... who knows :)

...It'd be a dream! :)

THANKS!

Mal

 

PS: I am trying to remove voodoohda too (the hardest part i guess), but i noticed I cannot use any applehda (patched or not) anymore after upgrading to 10.6.6 ... is it normal ? I don't see any applehda audio device with any applehda device.

Link to comment
Share on other sites

WOW!! That's amazing!

I installed it and it seems to work nice ... but I will try to use it more deeply and i will tell u my results! For now it's working great... and one less voodoo stuff in the system ... :)

 

Perhaps it can go automatically to sleep and hibernate automatically when i am at zero battery ... who knows :)

...It'd be a dream! :)

THANKS!

Mal

 

PS: I am trying to remove voodoohda too (the hardest part i guess), but i noticed I cannot use any applehda (patched or not) anymore after upgrading to 10.6.6 ... is it normal ? I don't see any applehda audio device with any applehda device.

Instead of using a patched one, try to use AppleHDA from 10.6.2.

And also, 10.6.6 doesn't touch AppleHDA so it should be ok if you have it while running 10.6.5.

 

Please do test the battery kext and let us know.

Link to comment
Share on other sites

Instead of using a patched one, try to use AppleHDA from 10.6.2.

And also, 10.6.6 doesn't touch AppleHDA so it should be ok if you have it while running 10.6.5.

 

Please do test the battery kext and let us know.

 

I installed such battery kext and it's a bit better ... now the battery starts flashing at 8-7%(perhaps a bit early?), but it doesn't go to sleep/hibernate automatically when it reaches 0%, unfortunately :D ; the computer powers off and you lose everything,at least here. Who has any clue why such internal powermanagement options for auto-sleep, battery,ac etc doesn't work well and why it doesn't hibernate like true macs when it reaches zero? IMHO it's really much important having a good handling of battery/acpower/sleep features in a laptop.

 

Did you try applehda from 10.6.2 ? it doesn't work here in 10.6.6 ... gray volume icon.

 

Mal

Link to comment
Share on other sites

I installed such battery kext and it's a bit better ... now the battery starts flashing at 8-7%(perhaps a bit early?), but it doesn't go to sleep/hibernate automatically when it reaches 0%, unfortunately :) ; the computer powers off and you lose everything,at least here. Who has any clue why such internal powermanagement options for auto-sleep, battery,ac etc doesn't work well and why it doesn't hibernate like true macs when it reaches zero? IMHO it's really much important having a good handling of battery/acpower/sleep features in a laptop.

 

Did you try applehda from 10.6.2 ? it doesn't work here in 10.6.6 ... gray volume icon.

Mal

Try the following files alongside with the DSDT patch below. Please note that Layout id id 888 in my case.

IDT 92HD71B7

 

Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_PRW, 0, NotSerialized)
			{
				Return (Package (0x02)
				{
					0x0D, 
					0x05
				})
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0E)
					{
						"built-in", 
						Buffer (One)
						{
							0x01
						}, 

						"subsystem-id", 
						Buffer (0x04)
						{
							0x1B, 0x36, 0x00, 0x00
						}, 

						"subsystem-vendor-id", 
						Buffer (0x04)
						{
							0x3C, 0x10, 0x00, 0x00
						}, 

						"codec-id", 
						Buffer (0x04)
						{
							0xB2, 0x76, 0x1D, 0x11
						}, 

						"layout-id", 
						Buffer (0x04)
						{
							0x78, 0x03, 0x00, 0x00
						}, 

						"device-type", 
						Buffer (0x10)
						{
							"IDT 92HD71B7"
						}, 

						"PinConfigurations", 
						Buffer (Zero) {}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

 

Manmal, can you share your scenario of putting HDX to sleep.

I put mine when I am at university and even in the next day, I still have battery power left.

How do you use yours?

Link to comment
Share on other sites

Manmal, can you share your scenario of putting HDX to sleep.

I put mine when I am at university and even in the next day, I still have battery power left.

How do you use yours?

 

hi JBraddock,

thanks for your suggestions! I will try them as soon as possible.

What do you mean with "scenario" ? The situation/list where sleep works or not ? Or why is it so important for me to use sleep? Or what else?

Thanks!

Mal

Link to comment
Share on other sites

hi JBraddock,

thanks for your suggestions! I will try them as soon as possible.

What do you mean with "scenario" ? The situation/list where sleep works or not ? Or why is it so important for me to use sleep? Or what else?

Thanks!

Mal

I am not much of a person using sleep function so I was wondering how you use it in your case and why you need that functionality.

Link to comment
Share on other sites

I am not much of a person using sleep function so I was wondering how you use it in your case and why you need that functionality.

 

Oh ok ... i try to explain it how i use it, and why:

i am using my laptop almost all the day, but i move from one location to another, and very often i need to be active using laptop in a few seconds (that's the reason why i need sleep over hibernate). Sometimes it happens i leave the computer powered on because i have to move quickly from one part to another of my job and often i leave my computer up and running, while i am moving. That's the reason why i need auto-sleep. Or i am working at the computer and, since i don't hear any beep for low-battery(dunno if you hear it ... me not in my hdx18), it happens my computer powers off while i am working and i lose everything. That are the 3 main reasons why i need sleep working(and autosleep too or better handling of power management with auto-hibernate when battery is low and so on). I would also love to use AppleHDA over VoodooHDA because it is much more compatible and it gives less problems with some software(and it never gives kernel panic at startup ... sometimes in VoodooHDA a kp occurs, much less with new VoodooHDA modded by valv, but it occurs too sometimes).

Hope this explains the reasons why i am so "annoying" about such topic (pm, sleep, etc).

Mal

Link to comment
Share on other sites

Oh ok ... i try to explain it how i use it, and why:

i am using my laptop almost all the day, but i move from one location to another, and very often i need to be active using laptop in a few seconds (that's the reason why i need sleep over hibernate). Sometimes it happens i leave the computer powered on because i have to move quickly from one part to another of my job and often i leave my computer up and running, while i am moving. That's the reason why i need auto-sleep. Or i am working at the computer and, since i don't hear any beep for low-battery(dunno if you hear it ... me not in my hdx18), it happens my computer powers off while i am working and i lose everything. That are the 3 main reasons why i need sleep working(and autosleep too or better handling of power management with auto-hibernate when battery is low and so on). I would also love to use AppleHDA over VoodooHDA because it is much more compatible and it gives less problems with some software(and it never gives kernel panic at startup ... sometimes in VoodooHDA a kp occurs, much less with new VoodooHDA modded by valv, but it occurs too sometimes).

Hope this explains the reasons why i am so "annoying" about such topic (pm, sleep, etc).

Mal

I see. Did you try this script?

Link to comment
Share on other sites

I see. Did you try this script?

 

Yes, thanks for suggestion! I will try it, but i want to be sure everything works as expected : I tried to reply to such thread to know from the author if it supports auto-sleep on low-battery ... i hope he will reply.

thanks!

Mal

Link to comment
Share on other sites

Yes, thanks for suggestion! I will try it, but i want to be sure everything works as expected : I tried to reply to such thread to know from the author if it supports auto-sleep on low-battery ... i hope he will reply.

thanks!

Mal

I think you can at least use it as a precautionary measure.

Just calculate, for example, how many minutes your HDX can run with its battery level is ,say, under %50 and use this value as your sleep timer. This way you can at least rest assured that your HDX will be in sleep if you go on to use it on battery, say, for the next 50 minutes. If not, then no harm will occur. Otherwise, your HDX will go to sleep to save all your files.

 

I think it is better than losing all your files like you do in your current case.

 

BTW, manmal, any apparent benefits of using the other battery solution that Valv'd shared with us?

Link to comment
Share on other sites

I think you can at least use it as a precautionary measure.

Just calculate, for example, how many minutes your HDX can run with its battery level is ,say, under %50 and use this value as your sleep timer. This way you can at least rest assured that your HDX will be in sleep if you go on to use it on battery, say, for the next 50 minutes. If not, then no harm will occur. Otherwise, your HDX will go to sleep to save all your files.

 

I think it is better than losing all your files like you do in your current case.

 

BTW, manmal, any apparent benefits of using the other battery solution that Valv'd shared with us?

 

Yes, you are right but currently such script doesn't seem to work here... i will wait to post there, because i need to reboot and try again... for the moment the sleep-time is ignored. The only actions to put it into sleep is closing lid and/or pressing stop button.

Such battery solution by glsy user seems to work well... no kernel panics, and time calculated correctly. I think it is quite safe. Please try it too, if everything is fine on your side too. You have to modify dsdt too, as you have read.

Mal

Link to comment
Share on other sites

JBraddock : the autosleep script doesn't work here. He (KWS) was so kind to modify it for going into sleep when battery is lower than 3%. I tried it, it seems to work fine but it suddenly awakes itself automatically when it tries to sleep. May you try it to see if it works for you ?

thanks!

Mal

Link to comment
Share on other sites

JBraddock : the autosleep script doesn't work here. He (KWS) was so kind to modify it for going into sleep when battery is lower than 3%. I tried it, it seems to work fine but it suddenly awakes itself automatically when it tries to sleep. May you try it to see if it works for you ?

thanks!

Mal

Which version do you want me to try?

Also I have a relatively good news guys :( Just recently I purchased a headset, Microsoft LifeChat LX-3000, which has a usb input as apposed to normal line-in input. Today, when I woke up the HDX from sleep, I noticed that I had audio working through the headset, both microphone and earbud was working :)

 

So this confirms my previous assumption that no-audio-after-sleep issue in our case was something to do with the legacy kext, pin config or Nod id etc. If only we had a audio genius, we could have solved this.

 

@Valv, do you have any plan to be that genius :)

Link to comment
Share on other sites

Which version do you want me to try?

Also I have a relatively good news guys :) Just recently I purchased a headset, Microsoft LifeChat LX-3000, which has a usb input as apposed to normal line-in input. Today, when I woke up the HDX from sleep, I noticed that I had audio working through the headset, both microphone and earbud was working :angel:

 

So this confirms my previous assumption that no-audio-after-sleep issue in our case was something to do with the legacy kext, pin config or Nod id etc. If only we had a audio genius, we could have solved this.

 

@Valv, do you have any plan to be that genius :D

 

If you try the BatteryMon script, it would be fine. You can find it in one of latest posts, after my msg to KWS... He gave a reply with 3 scripts inside with my request fulfilled(thanks KWS!). It doesn't work well here... may you plz try if it works? In my case, it suddenly goes to sleep and awakes itself always, until battery is off. Please tell me if you have the same behaviour or not using such script.

Yes, sure it's the legacy kext ... or the dsdt itself (perhaps it misses some awake or sleep command in dsdt too ... who knows...).

Mal

Link to comment
Share on other sites

If you try the BatteryMon script, it would be fine. You can find it in one of latest posts, after my msg to KWS... He gave a reply with 3 scripts inside with my request fulfilled(thanks KWS!). It doesn't work well here... may you plz try if it works? In my case, it suddenly goes to sleep and awakes itself always, until battery is off. Please tell me if you have the same behaviour or not using such script.

Yes, sure it's the legacy kext ... or the dsdt itself (perhaps it misses some awake or sleep command in dsdt too ... who knows...).

Mal

@Guys, I made some progress on the native brightness. But I can't change the actual brightness. @Valv, can you please take a look at my post.

 

Manmal, I took note of your post. I'll try that and let you know.

Link to comment
Share on other sites

Guys, could you please check if you have hibernate working. Mine seems to be broken.

I can only use Sleep Only mode. It doesn't wake up from Hibernate. Just before it appears to be waking up, it goes to sleep again.

 

BTW, the battery driver you guys mentioned above seems to work fine.

Link to comment
Share on other sites

@Guys, I made some progress on the native brightness. But I can't change the actual brightness. @Valv, can you please take a look at my post.

Ok, I got the native brightness working, auto dimming etc. ;)

 

This code is for the 9600M GT. I slightly modified it according to the values from MacbookPro5,1, which has also 9600M GT.

Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x32)
                           {
                               "@0,AAPL,boot-display", 
                               Buffer (Zero) {}, 
                               "@0,backlight-control", 
                               Buffer (0x04)
                               {
                                   0x01, 0x00, 0x00, 0x00
                               }, 

                               "@0,pwm-info", 
                               Buffer (0x14)
                               {
                                   /* 0000 */    0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00, 
                                   /* 0008 */    0x08, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x04, 0x00, 0x00
                               }, 

                               "AAPL,backlight-control", 
                               Buffer (0x04)
                               {
                                   0x01, 0x00, 0x00, 0x00
                               }, 

                               "AAPL,aux-power-connected", 
                               Buffer (0x04)
                               {
                                   0x01, 0x00, 0x00, 0x00
                               }, 

                               "@0,built-in", 
                               Buffer (Zero) {}, 
                               "@0,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@0,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-A"
                               }, 

                               "@0,use-backlight-blanking", 
                               Buffer (Zero) {}, 
                               "@1,can-hot-plug", 
                               Buffer (Zero) {}, 
                               "@1,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@1,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-B"
                               }, 

                               "NVCAP", 
                               Buffer (0x14)
                               {
                                   /* 0000 */    0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
                                   /* 0008 */    0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0B, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "NVPM", 
                               Buffer (0x1C)
                               {
                                   /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0018 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "VRAM,totalsize", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x20
                               }, 

                               "device_type", 
                               Buffer (0x0D)
                               {
                                   "NVDA,GeForce"
                               }, 

                               "model", 
                               Buffer (0x18)
                               {
                                   "nVidia GeForce 9600M GT"
                               }, 

                               "rom-revision", 
                               Buffer (0x26)
                               {
                                   "nVidia GeForce 9600M GT OpenGL Engine"
                               }, 

                               "AAPL,HasPanel", 
                               Buffer (0x04)
                               {
                                   0x01, 0x00, 0x00, 0x00
                               }, 

                               "AAPL01,DualLink", 
                               Buffer (0x04)
                               {
                                   0x01, 0x00, 0x00, 0x00
                               }, 

                               "@0,EDID", 
                               Buffer (0x80)
                               {
                                   /* 0000 */    0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
                                   /* 0008 */    0x4C, 0xA3, 0x4D, 0x31, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x12, 0x01, 0x03, 0x80, 0x23, 0x14, 0x78, 
                                   /* 0018 */    0x0A, 0x87, 0xF5, 0x94, 0x57, 0x4F, 0x8C, 0x27, 
                                   /* 0020 */    0x27, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 
                                   /* 0028 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
                                   /* 0030 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1D, 0x36, 
                                   /* 0038 */    0x80, 0xA0, 0x70, 0x38, 0x1E, 0x40, 0x30, 0x20, 
                                   /* 0040 */    0x25, 0x00, 0x61, 0xC6, 0x10, 0x00, 0x00, 0x19, 
                                   /* 0048 */    0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0050 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x91, 0x02, 
                                   /* 0058 */    0x64, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53, 
                                   /* 0060 */    0x41, 0x4D, 0x53, 0x55, 0x4E, 0x47, 0x0A, 0x20, 
                                   /* 0068 */    0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 
                                   /* 0070 */    0x00, 0x31, 0x36, 0x30, 0x48, 0x54, 0x30, 0x33, 
                                   /* 0078 */    0x2D, 0x30, 0x30, 0x31, 0x0A, 0x20, 0x00, 0x60
                               }, 

                               "AAPL,slot-name", 
                               Buffer (0x0F)
                               {
                                   "PCI Slot@1,0,0"
                               }, 

                               "reg", 
                               Buffer (0x78)
                               {
                                   /* 0000 */    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02, 
                                   /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
                                   /* 0028 */    0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0038 */    0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02, 
                                   /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
                                   /* 0050 */    0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0060 */    0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02, 
                                   /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }

 

Search for your PWR device and above it, paste the following.

Device (PNLF)
	{
		Name (_HID, EisaId ("APP0002"))
		Name (_CID, "backlight")
		Name (_UID, 0x0A)
		Name (_STA, 0x0B)
	}

 

Look for your Device (LCD) and add Name (_HID, EisaId ("LCD1234")) right after the first line. It should be look like the following.

Device (LCD)
				{
					Name (_ADR, 0x0118)
					Name (_HID, EisaId ("LCD1234")) // Added
					.....

 

Next install GenericBrightness.kext to E/E, repair permission and restart. Use FN+Page up and FN+Insert to change the brightness. You could also use Display Preferences to change the brightness. Right now, I am using AppleACPIBatteryManager and BatteryPollingPeriodOverride is set to 10, which means that OSX will dim the brightness after 10 seconds once you unplug the power. You can change this number of course.

 

I don't have an HDMI device to test it if it gives KP. So please test this if you do so.

 

What's next? ;)

Link to comment
Share on other sites

Hi everyone,

 

as jbraddock knows i am an hp hdx (18, 1080EL) user, i installed osx by iAtkos S3 v2 distro.

I have fixed almost everything, but i have 3 little questions that i hope you can help me with:

 

1) is that real that to make the software update i have to follow this procedure in this order:

 

1) Remove sleepenabler

2) Make software update

3) On reboot, start with -f

4) Reinstall sleepenabler.kext

5) Reboot normally

 

2) what are LegacyHdx18.kext and AppleACPIPS2Nub.kext? I mean, what are their functions?

 

3) cannot find out a way to solve sleep problems. There's a way to fix without reinstalling the system?

Link to comment
Share on other sites

Hi everyone,

 

as jbraddock knows i am an hp hdx (18, 1080EL) user, i installed osx by iAtkos S3 v2 distro.

I have fixed almost everything, but i have 3 little questions that i hope you can help me with:

 

1) is that real that to make the software update i have to follow this procedure in this order:

 

2) what are LegacyHdx18.kext and AppleACPIPS2Nub.kext? I mean, what are their functions?

 

3) cannot find out a way to solve sleep problems. There's a way to fix without reinstalling the system?

You use SleepEnabler because you don't use native power management. First of all, go to this topic. MaLd0n created an auto patcher for HDX 18, which includes almost all the necessary fixes i.e usb, graphic cards, power management. Once you have patched your DSDT, please upload it here. I'll do a few more fixes and then I'll tell your which kexts you should use.

 

But before that, while uploading your DSDT file, you must tell me which kexts you did install while using iAtkos. We could easily replace your Extra folder but did you install anything to System > Library> Extensions?

 

This is of course the first step as I am sure later you will want to install Snow Leopard from an retail DVD with the kexts and DSDT file you'll be provided, which is actually what you must do in the long run.

 

Do let me know when your DSDT file is ready.

 

Edit: I shared the new fixes with MaLd0n so I am sure he'll update the patcher soon. If so, you will not have to upload your DSDT file so I can fix it.

If you know how to patch DSDT file then please do so.

 

In any case, do let me know the result.

Link to comment
Share on other sites

Ok, I have two good and a bad news for you :)

 

First, I have found two perfect fixes for our HDX in Ubuntu forum. One is about the thermal zone, which prevents any os other that Windows 7 and Vista to access thermal zone (I don't know the actual terminology, sorry) properly. With this new fix, the fan seems more stable and quite. Temperature decreases slightly. Second fix is about the hard disk problem which occurs while resuming from suspend. Again, this happens while using a different OS. They are a bit long. I'll share these fixes later.

 

Secondly, I have fixed the black screen issue on wake when sleep mode 3 is used. Apparently, all we have to do is to apply PTS shutdown fix. Open up your DSDT file and locate Method (_PTS, 1, NotSerialized), right after the first bracket add the following.

 If (LEqual (Arg0, 0x05)) {}
	Else
	{

 

Finally, add a } at the end of Method (_PTS, 1, NotSerialized). So you'll add up with the following.

Method (_PTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x05)) {}
       Else
       {
           Store (Zero, \_SB.PCI0.LPC.EC0.RFLE)
           Store (0xE4, DBGD)
           TRAP (TRTI, 0x21)
           TRAP (TRTI, 0x22)
           Store (0x90, DBGD)
           TRAP (TRTI, 0x21)
           If (LEqual (Arg0, 0x04))
           {
               CMSW (0x6E, 0x6E)
           }

           Store (0x91, DBGD)
           TRAP (TRTI, 0x21)
           If (LEqual (Arg0, 0x03))
           {
               If (ECOK)
               {
                   Store (KBWK, \_SB.PCI0.LPC.EC0.PSKB)
                   Store (MUWK, \_SB.PCI0.LPC.EC0.PSTP)
               }
           }
           Else
           {
               If (ECOK)
               {
                   Store (Zero, \_SB.PCI0.LPC.EC0.PSKB)
                   Store (Zero, \_SB.PCI0.LPC.EC0.PSTP)
               }
           }

           Store (0x92, DBGD)
           TRAP (TRTI, 0x21)
           If (ECOK)
           {
               Store (LAWK, \_SB.PCI0.LPC.EC0.PWOL)
           }

           Store (0x93, DBGD)
           TRAP (TRTI, 0x21)
           \_SB.PCI0.SBUS.SWRB (0x38, 0x20, Zero)
           \_SB.PCI0.SBUS.SWRB (0x38, 0x22, 0xC0)
           Store (0x94, DBGD)
           TRAP (TRTI, 0x21)
       }
   }

 

Bad news is that there is still no audio after sleep. I am sure we'll fixed this issue too.

 

Manmal, Valv, where are you guys? I started to feel like I am the only one using HDX.

 

Thank God for giving me another reason for postponing buying a new Macbook Pro. Once I've purchased a SSD drive, that will be another reason. :)

Link to comment
Share on other sites

... Manmal, Valv, where are you guys? I started to feel like I am the only one using HDX.

 

Thank God for giving me another reason for postponing buying a new Macbook Pro. Once I've purchased a SSD drive, that will be another reason. :)

 

Great work jbraddock!!! I still have the hdx and it is my main laptop! The audio after sleep using applehda is our main priority ... voodoohda is not the best , expecially for kp at startup sometimes. Perhaps there is a method in dsdt for preparing sleep or for awake ... i noticed somethng strange also in ethernet when awaking with applehda .. plz try to have an ethernet cable connected to a network and see if after sleep you have connection. perhaps there is something we are missing in dsdt after sleep ... or perhaps it's the legacy not perfectly made for our codec.

About creating legacyhda , did you do by yourself from verbs (from linux codec_dump)? If yes, may you explain me how you did in detail ? I need to make a legacy file for another codec of another computer i have.

Thanks! And let's keep the great work active up !! We have an almost perfect hak! :)

Mal

Link to comment
Share on other sites

DSDT Hacks

 

 

 

Ethernet

 

This hack can help us get rid of an other kext. Reload your DSDTable and search for Device (EXP4), and straight above this one there should be the famous Ethernet card section. So we inject this code at its end, like this

                   Method (_PSW, 1, NotSerialized)
                   {
                       If (LGreaterEqual (MCHD, 0x04))
                       {
                           Store (Arg0, LAWK)
                       }
                   }

[color="#006400"][b]                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x08)
                           {
                               "AAPL,slot-name", 
                               Buffer (0x0F)
                               {
                                   "PCI Slot@3,0,0"
                               }, 

                               "built-in", 
                               Buffer (One)
                               {
                                   0x01
                               }, 

                               "device_type", 
                               Buffer (0x09)
                               {
                                   "Ethernet"
                               }, 

                               "name", 
                               Buffer (0x24)
                               {
                                   "Realtek RTL8111/8168B PCI-E Gigabit"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
[/b][/color]                }
           }

           Device (EXP4)
           {

Take care that the device we injecting to is named Device (PXSX). And since there is another device with the same name (more probably it is the wi-fi card), don't do a search for that one, instead search for Device (EXP4) like we said above. This way u are sure it is the good one to edit. If for any reason, your DSDTable is not the same as mine, u can differentiate those two devices by that string in blue

                Device (PXSX)
               {
                   Name (_ADR, Zero)
                   OperationRegion ([color="#0000ff"][b]RTLD[/b][/color], PCI_Config, Zero, 0x02)
                   Field (PXCS, AnyAcc, NoLock, WriteAsZeros)

seems to reference a "Realtek" device. If we have not the same LAN cards look for something there that resembles to the name of the manufacturer of your card. Remove the r1000.kext or whatever it is named and reboot. To be sure it worked (when u cannot test connection), go to the "System Profiler" and tick on "PCI Cards". Once there, u should find something like the picture below

post-498884-1273796233_thumb.png

And now up to fine tuning. bring "System Preferences" forth, go to "Network", select your Ethernet card and push "Advanced" (bottom rights). Now click on last tab "Ethernet". Once there, change Configuration to "manually", then change Speed to 1000baseT and Duplex to full-duplex keeping the MTU on Standard (1500). This way you gain about additional 30Mbs.

post-498884-1273834026_thumb.png

It still depends on the router speed though.

 

hello valv,

you can put your full DSDT?, I put the lan RTL8111/8168B but dont have the Driver? Whats is the problem? Can you help me?

Thaks a lot

post-548427-1298667913_thumb.jpg

Link to comment
Share on other sites

Great work jbraddock!!! I still have the hdx and it is my main laptop! The audio after sleep using applehda is our main priority ... voodoohda is not the best , expecially for kp at startup sometimes. Perhaps there is a method in dsdt for preparing sleep or for awake ... i noticed somethng strange also in ethernet when awaking with applehda .. plz try to have an ethernet cable connected to a network and see if after sleep you have connection. perhaps there is something we are missing in dsdt after sleep ... or perhaps it's the legacy not perfectly made for our codec.

About creating legacyhda , did you do by yourself from verbs (from linux codec_dump)? If yes, may you explain me how you did in detail ? I need to make a legacy file for another codec of another computer i have.

Thanks! And let's keep the great work active up !! We have an almost perfect hak! :P

Mal

I am not really sure if it is something related to the DSDT code as I have examined tens of DSDT codes to see if they have something different in terms of HDEF. I believe the problem is the way that our Legacy kext is created and also weird enough is that I have never seen a person who uses AppleHDA and still runs into no audio after sleep issue.

 

So, first we need to find out what might cause this.

 

BTW, I'll share but DSDT code so you can take a look at it with DiffMerger and apply the hacks I'd mentioned above.

 

hello valv,

you can put your full DSDT?, I put the lan RTL8111/8168B but dont have the Driver? Whats is the problem? Can you help me?

Thaks a lot

You should have had network connection even without that DSDT code. It only tweaks it.

Did you try this driver? May be your network card is not completely supported.

Link to comment
Share on other sites

Hi JBraddock!

i still have such probs also after your new dsdt mods (black screen and nvidia)... just a clue... Have you got your system as MacBookPro5,5 or 5,1 ?

I have the suspect that our battery does not go well because macbookpro5,x uses smartbatteries, not old-style batteries like our laptops. Do you think power management may be better using it as macbookpro older versions?

I know MacBookPro5,4 - 5,4 and newer have better power management , speedstep and so on (more recent cpus supported) but perhaps it fails on battery side.

It is just a clue... i may be wrong.

And which bootloader are you using ? Latest AnVal or chameleon?

Mal

Link to comment
Share on other sites

 Share

×
×
  • Create New...