sk1nhead Posted December 19, 2009 Share Posted December 19, 2009 Try this after boot, before first sleep:sudo setpci -s 0:1d.7 0x52.w If the patch is working you should get c802 as result it's working but no al kb wake up.. Link to comment Share on other sites More sharing options...
mm67 Posted December 19, 2009 Share Posted December 19, 2009 it's working but no al kb wake up.. And Ehci controller is seen as built-in like this ? Then I am running out of ideas. Link to comment Share on other sites More sharing options...
sk1nhead Posted December 19, 2009 Share Posted December 19, 2009 And Ehci controller is seen as built-in like this ? YES Then I am running out of ideas. Thanks for trying though.. if it helps this is my original DSDT from 10.5.6 ES2L_10.5.6_dsdt.dsl.zip i'm giving up on the FADT/boot restart fix for now and hoping for the DSDT fix instead (if possible).. to all dsdt gurus, don't get drunk too much this coming holiday season okey- we need you here hehe : D Link to comment Share on other sites More sharing options...
THe KiNG Posted December 19, 2009 Share Posted December 19, 2009 Interesting. Let me check that and report back to you... Nope. Not here. Look on extracted from BIOS(ignore Notebook stuff, that is for SLIC ) No idea why BIOS change it...and where is that to fix it... P6T6.zip Link to comment Share on other sites More sharing options...
blackosx Posted December 19, 2009 Share Posted December 19, 2009 I included both the boot file which is based on the latest Chameleon RC4 and a FADT.aml that should get you started. the aml file should work on all Gigabyte EP45 boards.... Hi Duvel300 Your modified RC4 boot file and FADT.aml work perfectly for me. Thank you very much Link to comment Share on other sites More sharing options...
blackosx Posted December 19, 2009 Share Posted December 19, 2009 I had been using Rekursors modified Chameleon RC4 boot file for the system-id patch, and now that Duvel300 has fixed restart for us with his modified Chameleon RC4 boot file, I wanted to use that. So for the best of both, I have compiled a new RC4 boot file with both fixes. boot_RC4_Duvel_Rekursor.zip Note: This modified boot file is no longer and original Chameleon file. If you have any issues using it (which you shouldn't), don't ask for help at the voodooprojects forum. Just revert back to your original boot file and see if the problem exists with that. EDIT: this has now been superceded by a later version here. Link to comment Share on other sites More sharing options...
sk1nhead Posted December 19, 2009 Share Posted December 19, 2009 I spoke too soon! PROBLEM: when using cparm's FADT.aml and Duvel300 RC4 boot, wake from aluminum keyboard is not working? shutdown and YES automatic sleep seems to be working too (not on time though but it works).. tested it a few times already but didn't tried cparm's PC EFI boot yet since my UUID error 35 will be back.. any ideas? edit: deauthorize my 2 iTunes account just to be sure and tested cparm's PC EFI - restart works as expected but wake from aluminum keyboard also wont work, the same as Duvels RC4.. wohoo! :censored2: can't believe i fixed it - turns out that it's not the "boot" that's the problem but it's FADT that i copied from cparm.. after comparing cparm,duvel and my FACP and saw a lot of difference decided to create my own using Hex Fiend (osx).. changed the ff - dont know though if the other changes are important but i just copied what's in my FACP.. - PM Profile - PM2 Control Block Address - GPE0 Block Address - PM2 Control Block Length - GPE0 Block Length - C2 & C3 latency - FACS Address - Address NOW - wake from aluminum KB is back! Also anyone can please PLEASE check the FADT i made, i'm a noobie when it comes to this so i'm afraid i changed something that i will regret later. Lastly - what did the trick to make my aluminum keyboard work again, a lot of changes but dont know their meaning! FADT.zip Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 And here is the one with ACPI 2.0 support (working great on my Asus board). dsdt_patcher.c.zip Link to comment Share on other sites More sharing options...
snackole Posted December 20, 2009 Share Posted December 20, 2009 You guys have done some good work here, but I think it's turning into a pissing contest. Why not get together and make something great out of this. I don't mean to sound ungrateful I just lack the skills that some of you have. I am however good at following direction I'm just not sure which way this is going. Thanks for Everything! Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 I went one step further and converted my FADT table into this: static uint32_t FADT_table[] = { /* 0000 */ 0x50434146, 0x000000F4, 0x5F41CD03, 0x5F495F4D, /* 0010 */ 0x464D454F, 0x20504341, 0x12000816, 0x5446534D, /* 0020 */ 0x00000097, 0xCFF8E000, 0xCFF80440, 0x00090101, /* 0030 */ 0x000000B2, 0xE2001EE1, 0x00000800, 0x00000000, /* 0040 */ 0x00000804, 0x00000000, 0x00000000, 0x00000808, /* 0050 */ 0x00000820, 0x00000000, 0x04000204, 0xE3000010, /* 0060 */ 0x03E90065, 0x00100400, 0x000D0001, 0x00000332, /* 0070 */ 0x000004A5, 0x00000801, 0x00000CF9, 0x00000000, /* 0080 */ 0x00000006, 0xCFF8E000, 0x00000000, 0xCFF80440, /* 0090 */ 0x00000000, 0x00002001, 0x00000800, 0x00000000, /* 00A0 */ 0x00002001, 0x00000000, 0x00000000, 0x00001001, /* 00B0 */ 0x00000804, 0x00000000, 0x00000000, 0x00000000, /* 00C0 */ 0x00000000, 0x00000000, 0x00000000, 0x00000000, /* 00D0 */ 0x00002001, 0x00000808, 0x00000000, 0x00008001, /* 00E0 */ 0x00000820, 0x00000000, 0x00002001, 0x00000000, /* 00F0 */ 0x00000000 }; Which is now part of my dsdt_patcher.c and thus I can simply point to it, instead of loading a file. Seems a bit quicker this way. Saying goodbye to another useless file Anyway. I am also planning to do the same with my DSDT.aml – which is less than 2K these days, so it should be fine. Hey. It would be nice (awesome even) if someone could write a little script to convert files (hopefully during my sleep period). p.s. Only do/try this when everything works for you. After you have patched your table. Link to comment Share on other sites More sharing options...
helob Posted December 20, 2009 Share Posted December 20, 2009 many thanks !!! my patched fadt.aml => PM2 Control Block Length changed from 01 to 00 cparm, Thank you for sharing your patched fadt.aml I have a GA-P35-DS3 Mobo so I am not sure whether I can use your patch fadt.aml. I like to patch my fadt.aml but not sure how to extract the fadt.aml for my Mobo. Would apprecaite if can provide a guide on how to extract fadt.aml? TQ and have a nice day. Link to comment Share on other sites More sharing options...
ApexDE Posted December 20, 2009 Share Posted December 20, 2009 @mm67 I am using your well-cleaned-up DSDT now for my Board. I adapted the P-States to my Processor and left the C-States as they are. Speedstepping works fine and even C-State Throttling seems to work. Great Work! Link to comment Share on other sites More sharing options...
kdawg Posted December 20, 2009 Share Posted December 20, 2009 I went one step further and converted my FADT table into this: static uint32_t FADT_table[] = { /* 0000 */ 0x50434146, 0x000000F4, 0x5F41CD03, 0x5F495F4D, /* 0010 */ 0x464D454F, 0x20504341, 0x12000816, 0x5446534D, /* 0020 */ 0x00000097, 0xCFF8E000, 0xCFF80440, 0x00090101, /* 0030 */ 0x000000B2, 0xE2001EE1, 0x00000800, 0x00000000, /* 0040 */ 0x00000804, 0x00000000, 0x00000000, 0x00000808, /* 0050 */ 0x00000820, 0x00000000, 0x04000204, 0xE3000010, /* 0060 */ 0x03E90065, 0x00100400, 0x000D0001, 0x00000332, /* 0070 */ 0x000004A5, 0x00000801, 0x00000CF9, 0x00000000, /* 0080 */ 0x00000006, 0xCFF8E000, 0x00000000, 0xCFF80440, /* 0090 */ 0x00000000, 0x00002001, 0x00000800, 0x00000000, /* 00A0 */ 0x00002001, 0x00000000, 0x00000000, 0x00001001, /* 00B0 */ 0x00000804, 0x00000000, 0x00000000, 0x00000000, /* 00C0 */ 0x00000000, 0x00000000, 0x00000000, 0x00000000, /* 00D0 */ 0x00002001, 0x00000808, 0x00000000, 0x00008001, /* 00E0 */ 0x00000820, 0x00000000, 0x00002001, 0x00000000, /* 00F0 */ 0x00000000 }; Which is now part of my dsdt_patcher.c and thus I can simply point to it, instead of loading a file. Seems a bit quicker this way. Saying goodbye to another useless file Anyway. I am also planning to do the same with my DSDT.aml – which is less than 2K these days, so it should be fine. Hey. It would be nice (awesome even) if someone could write a little script to convert files (hopefully during my sleep period). p.s. Only do/try this when everything works for you. After you have patched your table. Would you mind posting your updated version of dsdt_patcher.c? Thanks. Link to comment Share on other sites More sharing options...
Andrew180 Posted December 20, 2009 Share Posted December 20, 2009 Hi, i tried to fix my DSDT using this thread but after several attempts i gave it up. There are those fixed DSDT's, where you don't know WHICH part is HOW fixed and WHAT it does. And when i tried to read all that geeky replies i was more confused than before. Maybe after a month of googling and studying all that stuff i would be able to make it but as an ordinary person i have no chance! Sorry for my English BTW: Example of nice DSDT guide: http://aserebln.blogspot.com/2009/07/20.html only a basic stuff i know but everything is explained and it's nice, step by step. Link to comment Share on other sites More sharing options...
Duvel300 Posted December 20, 2009 Share Posted December 20, 2009 Hi All, after releasing my restart fix I noticed that modifying the "FADT.aml" might not that easy for all us. I came up with a much cleaner solution that will eliminate the FADT.aml file all together. The boot loader will actually patch your own FADT with the information needed for a successful restart. The 'com.apple.Boot.plist' will have to be updated and will need to contain the following key: 'RestartFix=YES' <key>RestartFix</key> <string>YES</string> And copy the included boot loader to your OSX root. It is patched for both ACPI 1.0 and 2.0. I don't have a ACPI 2.0 board so I couldn't test this. Good luck! I hope it works for everyone! RestartFix_v2.1.zip Link to comment Share on other sites More sharing options...
kdawg Posted December 20, 2009 Share Posted December 20, 2009 Hi All, after releasing my restart fix I noticed that modifying the "FADT.aml" might not that easy for all us. I came up with a much cleaner solution that will eliminate the FADT.aml file all together. The boot loader will actually patch your own FADT with the information needed for a successful restart. The 'com.apple.Boot.plist' will have to be updated and will need to contain the following key: 'RestartFix=YES' <key>RestartFix</key> <string>YES</string> And copy the included boot loader to your OSX root. It is patched for both ACPI 1.0 and 2.0. I don't have a ACPI 2.0 board so I couldn't test this. Good luck! I hope it works for everyone! Thinking out loud here. Would it be better if it was enabled by default and required users to turn if off if they didn't want it? It seems more people have this problem than don't. Link to comment Share on other sites More sharing options...
snackole Posted December 20, 2009 Share Posted December 20, 2009 It works but now GraphicsEnabler doesn't. Any way to fix it? Link to comment Share on other sites More sharing options...
Duvel300 Posted December 20, 2009 Share Posted December 20, 2009 Thinking out loud here. Would it be better if it was enabled by default and required users to turn if off if they didn't want it? It seems more people have this problem than don't. Sure, I was thinking about that as well, then again I wasn't (still am) sure if the fix will not cause any problems. When it proves to work properly I will update this. It works but now GraphicsEnabler doesn't. Any way to fix it? Hrmm... that's weird. The changes I made have nothing to do with portion of the code that controls the GraphicsEnabler. Were you using the Chameleon RC04 boot loader before or the PC-EFI version? EDIT: Sorry, I had to update the code, a new version can be downloaded from post 916. Let me know how it works out. Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 Much cleaner this way, but I am getting a bunch of errors: dsdt_patcher.c:245: error: ‘struct acpi_2_fadt’ has no member named ‘Flags’ dsdt_patcher.c:246: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_SpaceID’ dsdt_patcher.c:247: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitWidth’ dsdt_patcher.c:248: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitOffset’ dsdt_patcher.c:249: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_AccessWidth’ dsdt_patcher.c:250: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Address’ dsdt_patcher.c:251: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Value’ dsdt_patcher.c:357: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_SpaceID’ dsdt_patcher.c:358: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitWidth’ dsdt_patcher.c:359: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitOffset’ dsdt_patcher.c:360: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_AccessWidth’ dsdt_patcher.c:361: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Address’ dsdt_patcher.c:362: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Value’ dsdt_patcher.c:131: warning: unused variable ‘facp_filename’ Link to comment Share on other sites More sharing options...
Duvel300 Posted December 20, 2009 Share Posted December 20, 2009 Much cleaner this way, but I am getting a bunch of errors: dsdt_patcher.c:245: error: ‘struct acpi_2_fadt’ has no member named ‘Flags’ dsdt_patcher.c:246: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_SpaceID’ dsdt_patcher.c:247: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitWidth’ dsdt_patcher.c:248: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitOffset’ dsdt_patcher.c:249: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_AccessWidth’ dsdt_patcher.c:250: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Address’ dsdt_patcher.c:251: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Value’ dsdt_patcher.c:357: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_SpaceID’ dsdt_patcher.c:358: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitWidth’ dsdt_patcher.c:359: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_BitOffset’ dsdt_patcher.c:360: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_AccessWidth’ dsdt_patcher.c:361: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Address’ dsdt_patcher.c:362: error: ‘struct acpi_2_fadt’ has no member named ‘Reset_Value’ dsdt_patcher.c:131: warning: unused variable ‘facp_filename’ Hey MC, first of all make sure you use the latest version I just posted, it was overwriting certain offset that it shouldn't. you will need the following file which I forgot to include: acpi.h.zip Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 Thinking out loud here. Would it be better if it was enabled by default and required users to turn if off if they didn't want it? It seems more people have this problem than don't. I second that. A new flag to specify the ACPI version would also be a nice addition. A plus would be if this flag could be set, automatically, after the first boot. I mean why do all ACPI 2.0 boards have to crawl through 1.0 code and vise versa? Link to comment Share on other sites More sharing options...
THe KiNG Posted December 20, 2009 Share Posted December 20, 2009 Hi All, after releasing my restart fix I noticed that modifying the "FADT.aml" might not that easy for all us. I came up with a much cleaner solution that will eliminate the FADT.aml file all together. The boot loader will actually patch your own FADT with the information needed for a successful restart. The 'com.apple.Boot.plist' will have to be updated and will need to contain the following key: 'RestartFix=YES' <key>RestartFix</key> <string>YES</string> And copy the included boot loader to your OSX root. It is patched for both ACPI 1.0 and 2.0. I don't have a ACPI 2.0 board so I couldn't test this. Good luck! I hope it works for everyone! Great job! Still I wanna keep both features(restart fix in plist and FADT table load) since there are more that can be fixed in table... Also f someone can add SSDT, SSDT-1 and so would be great, I hate to spam my DSDT with fixes for that... Well better will be if we can replace other tables also Thanks! Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 Hey MC, first of all make sure you use the latest version I just posted, it was overwriting certain offset that it shouldn't.you will need the following file which I forgot to include: I was about to ask for it yes. Thanks Edit: Problem solved. And... I changed the following code snippet: if (fadt->Length < 0x81 && FixRestart) { fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(0x81); memcpy(fadt_mod, fadt, fadt->Length); fadt_mod->Length = 0x81; } else { fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(fadt->Length); memcpy(fadt_mod, fadt, fadt->Length); } if (FixRestart) { fadt_mod->Flags|= 0x400; fadt_mod->Reset_SpaceID = 0x01; fadt_mod->Reset_BitWidth = 0x08; fadt_mod->Reset_BitOffset = 0x00; fadt_mod->Reset_AccessWidth = 0x01; fadt_mod->Reset_Address = 0x0cf9; fadt_mod->Reset_Value = 0x06; } The one for ACPI 2.0 into: fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(fadt->Length); memcpy(fadt_mod, fadt, fadt->Length); if (FixRestart) fadt_mod->Flags|= 0x400; But I am thinking of checking Flags and patch it when needed (based on the value). The reason for this is that the reset register is missing in ACPI 1.0 tables, while my ACPI 2.0 table just uses a wrong value for Flags. That is all. What do you think? Link to comment Share on other sites More sharing options...
mm67 Posted December 20, 2009 Share Posted December 20, 2009 Anyone else have this in FACP ? Reset Register Supported (V2) : 0 Could that be the reason for restart not working on MSI even though FACP gets Reset register address and value. Link to comment Share on other sites More sharing options...
Master Chief Posted December 20, 2009 Share Posted December 20, 2009 Anyone else have this in FACP ? Reset Register Supported (V2) : 0 Could that be the reason for restart not working on MSI even though FACP gets Reset register address and value. Absolutely. Is this an ACPI 2.0 or 1.0 table? I think so because I had the same problem with my ACPI 2.0 table here! Link to comment Share on other sites More sharing options...
Recommended Posts