adhir Posted September 16, 2009 Share Posted September 16, 2009 I finally fixed this {censored}!The fix is HERE! I can confirm this worked on my P6T in Leopard. Bravo! Link to comment Share on other sites More sharing options...
dgobe Posted September 16, 2009 Share Posted September 16, 2009 Since you started the topic here is my gift http://rapidshare.de/files/48357515/jimmydigital00.zip.htmlI will not fix more! P.S. fixed also warnings/remarkss... I diffed jd's decompiled dsdt.aml with yours and see the changes you made. The question I have is could a BIOS update for his motherboard fix some of the error/warnings he was getting? If so, should that be recommended before trying to patch dsdt.dsl? Link to comment Share on other sites More sharing options...
jimmydigital00 Posted September 16, 2009 Author Share Posted September 16, 2009 The King truly is the king Thank you very much. Jim Link to comment Share on other sites More sharing options...
KariNeko Posted September 16, 2009 Share Posted September 16, 2009 That might be problematic. I'm running BIOS 0504 and my HPET and RTC0 methods already had the correct code. I only had to modify the TMR and PIC. I see there is a new BIOS 0610, anyone try it? Motherboard is Asus P6T Deluxe V2 The only differences with the previous version ( 504 ) are at the method "Method (CUPI, 0, NotSerialized)", I only paste the differences seen: starting at line 3988 from If (LLess (Local5, GNVS (0x82A8))) to If (LOr (LLess (Local5, GNVS (0x82A8)), LAnd (LEqual (Local5, GNVS (0x82A8)), LEqual (GNVS (0x1786), One)))) and starting at line 4006 from If (LAnd (LLessEqual (Local5, GNVS (0x82A8)), LEqual (GNVS (0x1786), One))) { Store (0x40000000, Index (G3C2, 0x02)) } Else { If (LAnd (LLess (Local5, GNVS (0x82A8)), LEqual (GNVS (0x1786), Zero))) { Store (0x40000000, Index (G3C2, 0x02)) } } to (nothing, it's no more there) So it should be safe to update ------------------------------------------- jimmydigital00, what about editing the topic title and first post to indicate that it has been fixed by THe KiNG in this same thread Link to comment Share on other sites More sharing options...
jimmydigital00 Posted September 17, 2009 Author Share Posted September 17, 2009 I might have jumped the gun on claiming that this is fixed. I have been transferring files between sata drives a lot tonight and am still experiencing similar problems. They are not as bad as before but still exist. For example. I am in SL and I want to grab a file from my Leopard harddrive. When I click on the drive it takes about 30 seconds to load which may be normal, but when I try to go into another folder I get the spinning wheel icon. It will sit there for a while or until I load a safari page. As soon as I start Safari it immediately loads. I am using the DSDT that The King fixed for me and posted above. Is anyone else seeing this? Is there a kext I should be using? I am using FakeSMC2 maybe that is the problem? Jim Link to comment Share on other sites More sharing options...
jimmydigital00 Posted September 17, 2009 Author Share Posted September 17, 2009 I put the computer in 64bit mode and the problem goes away. Is everyone that this fix worked for running in 64bit? Link to comment Share on other sites More sharing options...
THe KiNG Posted September 17, 2009 Share Posted September 17, 2009 I put the computer in 64bit mode and the problem goes away. Is everyone that this fix worked for running in 64bit? For me works on both 32/64 bit. You forgot to say why you run snow on 32 bit, there could be your answer(a driver that loads on 32 bit only and screw things?) Ok I removed floppy and PS2 {censored} from it and also added HDEF(replacement for enabler) use my AD2000b.kext from HERE with new DSDT.aml Next modds you will do them by yourself. Link to comment Share on other sites More sharing options...
jimmydigital00 Posted September 17, 2009 Author Share Posted September 17, 2009 That fixed it!!!!!!!!!!! It can now connect to all SATA drives with full speed using 32 bit kernel. Sound works as well!!!!!!! I owe you one. Thanks again Link to comment Share on other sites More sharing options...
mitch_de Posted September 17, 2009 Share Posted September 17, 2009 To the king: Whats about the difference in the sight, that SLICE has removed also IRQNoFlags () {0} IRQNoFlags () {8} from dsdt HPET ? I looked in my dsdt and searched for all IRQNoFlags () and so i seen that (as you) i can remove Floppy&PS2 things also (has that IRQNoFlags () used). But do you think that OS X will use them, because they are disabled in my bios ? Also they are not listedas devices in the IOREGISTRYEXPLORER. Have you looked in your dsdt and found also some entries we didnt talked about ? Like that i found in that uploaded bios (DSDTNOCRAP) Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) .... Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} I also have such IRQ (Level, ActiveLow, Shared, ) things in my bios, and the usage looks like really interesting, because Shared word - and shared IRQs are the reason why some have problems using HÜET, USB or have AHCI slow downs. THANKS Link to comment Share on other sites More sharing options...
yibbet Posted September 18, 2009 Share Posted September 18, 2009 I finally fixed this {censored}!The fix is HERE! You star, my box works now! Thanks a million. Link to comment Share on other sites More sharing options...
mitch_de Posted September 18, 2009 Share Posted September 18, 2009 You star, my box works now! Thanks a million. Yes, but whats that with the SLICE information: For PIC I set IRQ 2 - this is help me for brightness control. HPET - no IRQ The kings has that IRQ 0 +8 settings. I cant see/feel any difference using HPET with or without that 0+8 IRQ settings. Link to comment Share on other sites More sharing options...
THe KiNG Posted September 18, 2009 Share Posted September 18, 2009 Why you don't ask Slice? You don't need to feel you have to set it like that in DSDT. Link to comment Share on other sites More sharing options...
harshw Posted September 18, 2009 Share Posted September 18, 2009 Had problems using my SATA DVD reader/writer. Couldn't transfer more than 300MB without machine slowing down to point of uselessness. And I had a lot of the "SerialATAPI device reconfiguration failed ... " messages Used King's info to correct and recompile my dsdt.aml on an Asus P6T SE. Bios 0504 already has correct Length for RTC0, added the other corrections and now I can run comfortably in SL 64 bit. No slowdowns, SATA DVD drive works fine as well Kudos to The King ! Link to comment Share on other sites More sharing options...
mitch_de Posted September 19, 2009 Share Posted September 19, 2009 Why you don't ask Slice?You don't need to feel you have to set it like that in DSDT. Thanks. I leave it standard (0+8 in HPET) because both works. Question was not really urgent. But what do you think about that other IRQ entries, found in dsdt: IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} Is there an depencies to our IRQNo removements / adding ? Ist that an list which IRQs are allowed to share, so if we edit this list may get problems solved by removing some listed here (not listed, not shared ?) ? Link to comment Share on other sites More sharing options...
csharpmac Posted September 19, 2009 Share Posted September 19, 2009 I have already tested the following configurations for IRQ (Level, ActiveLow, Shared, ) on my ASUS Rampage II Extreme X58 DSDT with the DSDT of my real Mac. The procedure that I propose is as follows: (i) Find on your DSDT the following: Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5} }) and replace it with: Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) (ii) Then find: Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) and replace it with: Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) That would do the trick. CSharpMac But what do you think about that other IRQ entries, found in dsdt: IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} Is there an depencies to our IRQNo removements / adding ? Ist that an list which IRQs are allowed to share, so if we edit this list may get problems solved by removing some listed here (not listed, not shared ?) ? Link to comment Share on other sites More sharing options...
THe KiNG Posted September 19, 2009 Share Posted September 19, 2009 Why are doing things w/o any sense? did u saw {5,7,10,11,14,15} on MacPro4,1 DSDT? Also when you try {censored} like that use all board resources(all enabled in BIOS) and try to add extra PCI/PCIE cards, then you will see why I said is {censored}. Link to comment Share on other sites More sharing options...
csharpmac Posted September 19, 2009 Share Posted September 19, 2009 First, I do believe that we just need to be polite in here. This is our forum for the Hard Drive Performance Issues. KiNG as you know, in the beginning you have said that the Hard Drive Performance Issues were not DSDT related (please go and see your post: Post # 78 KiNG: After another tons of tests I got to a conclusion, IMHO is not a DSDT bug but a BIOS one.), and while I politely insisted that it is definitely DSDT related (and we all know that it is the DSDT !) you had insulted me and others who tried to help back then as you are doing now. That is really nice attitude. Second, I did test this configuration and compared it also with the MacPro4,1 DSDT and I have now added the additional IRQs. IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} Thanks? Why are doing things w/o any sense?did u saw {5,7,10,11,14,15} on MacPro4,1 DSDT? Also when you try {censored} like that use all board resources(all enabled in BIOS) and try to add extra PCI/PCIE cards, then you will see why I said is {censored}. Link to comment Share on other sites More sharing options...
mitch_de Posted September 19, 2009 Share Posted September 19, 2009 Thanks csharpmac try this IRQ (Level, ActiveLow, Shared, ) settings out ! I also think that the realitiy (try out) gives OK or NOT. And not only to look "how is that in MacPro DSDT" !!! Why? Simple: I believe that beside the dsdt, also MacPro EFI (BIOS) and Mainboard may use some different settings we cant compare 1:1 to our PC BIOS/Hardware. And of course , KING, why should it be an great deal to change only the IQQNo (0,8) HPET and leave all the IRQ (Level, ActiveLow, Shared, ) settings in DSDT unchanged ? I believe that both depend each other ! So now i show my investigation of Gigabyte EP35-DS3 DSDT csharpmac change (+9),... already there in orig. DSDT and only one times found an IRQ (Level...) in DSDT Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} // 9 already in orig. DSDT }) Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) So, not alle Mainboards(DSDT) needs that change to free IRQs , but maybe usefull to look after that IRQ (Level, ActiveLow, Shared, ) settings. Link to comment Share on other sites More sharing options...
THe KiNG Posted September 19, 2009 Share Posted September 19, 2009 First, I do believe that we just need to be polite in here. This is our forum for the Hard Drive Performance Issues. I have no idea what you mean with "our forum" KiNG as you know, in the beginning you have said that the Hard Drive Performance Issues were not DSDT related (please go and see your post: Post # 78 KiNG: After another tons of tests I got to a conclusion, IMHO is not a DSDT bug but a BIOS one.), I have no problem to recognize that I was wrong and more then that I founded the fix in DSDT and share it... and while I politely insisted that it is definitely DSDT related (and we all know that it is the DSDT !) you had insulted me and others who tried to help back then as you are doing now. That is really nice attitude. Telling you that is a {censored} means I insulted you? LOL Second, I did test this configuration and compared it also with the MacPro4,1 DSDT and I have now added the additional IRQs. IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} Ohh so you found on the end that was a {censored}, is so hard to say I was wrong? Thanks? @ mitch_de If you want to change IRQ's you have to do it on _PRT method returns(that is the IRQ routing table) but is not necessary since it works with IRQ 2 removed, to answer on your older question, when I said that I recommend this on all boards I mean on ICH10 and ICH9 one(dunno for others), not for laptops, and yes since we try to run OS X on unsupported hardware we have to use MP4,1 DSDT as example, and port/fix what is necessary... Link to comment Share on other sites More sharing options...
csharpmac Posted September 19, 2009 Share Posted September 19, 2009 Thanks csharpmac try this IRQ (Level, ActiveLow, Shared, ) settings out ! You are welcome! :-) So now i show my investigation of Gigabyte EP35-DS3 DSDT csharpmac change (+9),... already there in orig. DSDT Note that the Gigabyte EP35-DS3 has Intel P35+ICH9 chipset, and the Asus Rampage II has Intel X58+ICH10 chipset. The "original" factory BIOS of my Asus Rampage II (X58+ICH10) had this values {3,4,6,7,10,11,12,14,15} and the real Mac4,1 IDSDT has {3,4,5,6,7,9,10,11,12,14,15}. In my Asus Rampage II I it makes no difference if I keep the "original" values or apply the Mac4,1 ones. My system runs 10.6.1 perfectly with either. Now if you want to go further, I am presenting below some initial modifications on the DSDT in order to improve the surround sound of my Soundcard. These DSDT modifications are based on Solar (thanks!) Device (HDEF) { Name (_ADR, 0x001B0000) Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x0D, 0x05 }) } Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "codec-id", Buffer (0x04) { 0x89, 0x08, 0xEC, 0x10 }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "device-type", Buffer (0x11) { "CreativeSound" }, "PinConfigurations", Buffer (0x28) { /* 0000 */ 0x50, 0x70, 0x21, 0x01, 0x40, 0x01, 0x13, 0x90, /* 0008 */ 0x20, 0x30, 0x81, 0x01, 0x41, 0x40, 0x01, 0x01, /* 0010 */ 0x30, 0xE0, 0xC5, 0x01, 0x60, 0xE0, 0x45, 0x01, /* 0018 */ 0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40, /* 0020 */ 0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (BUFB, One, IRQV) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (LEqual (Local0, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (BUFA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRQV) Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQ1) FindSetRightBit (IRQ1, Local0) Decrement (Local0) Store (Local0, PIRA) } } Link to comment Share on other sites More sharing options...
mitch_de Posted September 19, 2009 Share Posted September 19, 2009 YOu have also (like my EP35) 889A Codec ? I use near same DSDT, only difference is PinConfig, which has at me "PinConfigurations", Buffer (One) { 0x00 } Worked for me, i will try out yours and look whats changed. NO RISK NO FUN !!! EDIT: Adding your PinConfig (0x28 datas) didnt change anything. All works perfect - same as with Buffer (0x1). I will stay with that very small Pinconfig (only 01 data added) . THE LESS ADDED IN DSDT THE BETTER - if it runs Link to comment Share on other sites More sharing options...
Atmosfear Posted September 19, 2009 Share Posted September 19, 2009 I think wether IRQ 9 is in list of shared interrups depends on the BIOS setting of "assign IRQ for VGA". In the past I've had graphic issues when not enabling that, but don't remember with which OS. Link to comment Share on other sites More sharing options...
orionquest Posted September 20, 2009 Share Posted September 20, 2009 Hi csharpemac and the king. Thanks alot for your edits. But how does a mere mortal like myself (noob I guess) apply these to the DSDT? What editor are you using to edit the DSDP and save the new .aml file? I've been searching around but most of the info is assuming the reader knows what tools to use. Thanks I have a ASUS P6T with a sata DVD on second port I really need to get working. oq Link to comment Share on other sites More sharing options...
csharpmac Posted September 21, 2009 Share Posted September 21, 2009 Hi csharpemac and the king. Thanks alot for your edits. But how does a mere mortal like myself (noob I guess) apply these to the DSDT? What editor are you using to edit the DSDP and save the new .aml file? I've been searching around but most of the info is assuming the reader knows what tools to use. Thanks I have a ASUS P6T with a sata DVD on second port I really need to get working. oq THE STEPS First, you would need to copy the iasl tool to your /usr/bin directory so it can be run from anywhere. IASL is Intels AML Compiler/decompiler. It is extremely strict on the rules of ACPI Specification, which is why I like to use it for OSX86. Unzip iasl.zip and copy it as follows: $ cp iasl /usr/bin/ Operating-systems use tables to get information about hardware. A little light reading ACPI specs Vendor specific ACPI specs DSDT stands for Differentiated System Description Table. It is a part of the ACPI specification and it supplies configuration information about a base system. The DSDT comprises a system description table header, followed by a definition block. The definition block is encoded using ACPI Machine Language (AML), and unlike other definition blocks on the system, the DSDT definition block can not be unloaded, as it provides the basic ACPI namespace scope that all other dynamic definition blocks can later add onto. For the file named dsdt.aml, you would need to decompile it to get it in a readable form. Since you moved iasl to /usr/bin, you can run it from anywhere. Type this code to get the DSDT.dsl file : $ ./iasl -d dsdt.aml Intel ACPI Component Architecture AML Disassembler version 20090730 [Aug 12 2009] Copyright © 2000 - 2009 Intel Corporation Supports ACPI Specification Revision 4.0 Loading Acpi table from file dsdt.aml Acpi table [DSDT] successfully installed and loaded Pass 1 parse of [DSDT] Pass 2 parse of [DSDT] Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) ................................................................................ ............................................................................. Parsing completed Disassembly completed, written to "dsdt.dsl" Now you should have a readable file that you can edit using any good editor named dsdt.dsl. Also, I highly recommend you to download TextWrangler for this job. TextWrangler is fully featured and functional — it will not expire. Right click on the original file and open with TextWrangler Quick key "command+J" and enter the line you want and click "Go To" Note the bracket structure. Follow the if's all the way down... For example: Method (WQAA, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (T2D0, Local0) Return (Local0) } If (LEqual (Arg0, One)) { Store (T2D1, Local0) Return (Local0) } snip..... ......snap If (LEqual (Arg0, 0x21)) { Store (TDBB, Local0) Return (Local0) } } Method (WQAB, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (TD2E, Local1) Return (Local1) In this example there is a need to place return before that closing bracket. The resulting structure is Store (TDBB, Local0) Return (Local0) } Return (Zero) } Method (WQAB, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (TD2E, Local1) Return (Local1) Got it? Good. Remember your start line will shift as you add lines but your in the ballpark and the Method is named in the error if you get confused. Finally, after all your edits, go to the command-prompt console, run the command to make your new fixed dsdt.aml : $ ./iasl -sa dsdt.dsl After you master the above method, you can then use the iASLMe20090730 updated application [iASLMe20090730.app.zip] to easily compile and decompile your edits: i.e from dsdt.dsl ----> dsdt.aml or dsdt.aml ----> dsdt.dsl. To use successfully this application, you would need to actually drop your dsdt file with valid extention (*.dsl; *.aml) on the application icon. It will be Compiled/DeCompiled and placed near your input file. An other application editor that should be also noted is the DSDTSE editor. CSharpMac Link to comment Share on other sites More sharing options...
THe KiNG Posted September 21, 2009 Share Posted September 21, 2009 Hi csharpemac and the king..... Is not the king is THe KiNG, pay attention on the details...if you do the same with your DSDT you may get trouble.. Latest Intel ASL compiler for OS X is 03 September 2009 take a look HERE for latest release. As editor I prefer TextMate. If you are a total n00b you can use DSDTSE.app Good luck! Link to comment Share on other sites More sharing options...
Recommended Posts