ZenGiga Posted November 6, 2009 Share Posted November 6, 2009 CIA2 is auto-overclock function, it only increase fsb speed. After reading this thread I decided to poke about in the bios settings of my GA-EP45-DS3L with a Q6600 G0. C1E and EIST are enabled (have always been, I think it's the default). I left CIA2 well alone I changed the setting for the CPU Fan from bios controlled (default) to smart control where the mobo alters fan speed according to CPU temp etc. Before CPU-i wasn't reporting any P-States. After changing this fan setting it was! # Frequency Multiplier Voltage Control CID 1 2394 MHz x 9.0 1.276 V 0x924 0x12 2 2128 MHz x 8.0 1.244 V 0x822 0x11 3 1862 MHz x 7.0 1.196 V 0x71F 0xF 4 1596 MHz x 6.0 1.148 V 0x61C 0xD Which is just Bizarre. :/ Link to comment Share on other sites More sharing options...
Matthew L. Posted November 6, 2009 Share Posted November 6, 2009 Hello fellow hack(intosh)ers! I have some questions there, mostly strange ones. Here comes the most important one: If I tell OS X to shutdown my PC, after shutdown, USB power will be still on, so if I press a key on my keyboard I see its' numlock led lighting up (as long as I hold the key pressed), or if I click with my mouse I can see its' red light (just for a fraction of a second, then it goes off). Any ideas there? (And of course, using windows there is no such problem.) I've got a bit of coder's questions, which should be easy ones: in my DSDT there are some really idiotic _CRS methods in device FWHB and PCI0.EXPL, the thing I'm asking you is the return's importancy - wouldn't it be more logical if the code would be there without the need to return? near the above mentioned devices there is a MEM device too. Is there any use of it on Mac OS X, or can I just remove it? I've attached my DSDT there, and thanks in advance to the readers and helpers! P.S: Ah, and Master Chief, thanks for your great methods, especially MCDP! Matthew Source.dsl.zip Link to comment Share on other sites More sharing options...
thiagomorales Posted November 6, 2009 Share Posted November 6, 2009 Hello everybody, firstly thanks for your great works with DSDT fixes and for leave it more clean and understandable.. I have been following the topic(when i can..a lot of work), but what do you think of better organizing the discussion, putting the fixes that have already been tested on the first page, for better visualization of who is reading the topic for the first time .. It's just a suggestion .. Regards for all.. Thiago. Link to comment Share on other sites More sharing options...
FKA Posted November 6, 2009 Share Posted November 6, 2009 Could somebody kindly have a look at this for me: dsdt04_11_09.dsl.zip This has Most of MC's changes - Again everything works apart from CPU PM !! I think I've tried everything but would appreciate any suggestions ! Cheers D. Link to comment Share on other sites More sharing options...
kdawg Posted November 6, 2009 Share Posted November 6, 2009 Here's a problem which I think is a DSDT problem. I just bought a Magic Mouse and wanted to get it to wake via Bluetooth (D-Link DBT-120, hardware revision B4). Currently I don't have a problem waking my machine via wired mouse or keyboard. And this is the only approved Bluetooth dongle that will allow wake from USB. So when I plug the dongle into my MacBook, Mac Mini or eMac the "Allow Bluetooth devices to wake this computer" is available. However when I plug it into my OSX86 machine it's greyed out. Anyone have any ideas? I have all my USB/EHCI/UHCI devices show up as built-in. Anyone have any ideas? Device (USB0) { Name (_ADR, 0x001D0000) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x03, 0x03 }) } Device (USB1) { Name (_ADR, 0x001D0001) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (USB2) { Name (_ADR, 0x001D0002) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) } Device (USB3) { Name (_ADR, 0x001A0000) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (USB4) { Name (_ADR, 0x001A0001) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (USB5) { Name (_ADR, 0x001A0002) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x20, 0x03 }) } Device (EHC1) { Name (_ADR, 0x001D0007) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "AAPL,clock-id", Buffer (0x01) { 0x01 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (EHC2) { Name (_ADR, 0x001A0007) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "AAPL,clock-id", Buffer (0x01) { 0x02 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Link to comment Share on other sites More sharing options...
FKA Posted November 6, 2009 Share Posted November 6, 2009 Hi Kdawg You shouldn't need device id BUT Try this: Device (USB0) { Name (_ADR, 0x001D0000) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x34, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x03, 0x03 }) } Device (USB1) { Name (_ADR, 0x001D0001) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x35, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (USB2) { Name (_ADR, 0x001D0002) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x36, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) } Device (US31) { Name (_ADR, 0x001D0003) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (USB3) { Name (_ADR, 0x001A0000) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x37, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (USB4) { Name (_ADR, 0x001A0001) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x38, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (USB5) { Name (_ADR, 0x001A0002) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x39, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x20, 0x03 }) } Device (EHC1) { Name (_ADR, 0x001D0007) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "AAPL,clock-id", Buffer (One) { 0x01 }, "device_type", Buffer (0x05) { "EHCI" }, "device-id", Buffer (0x04) { 0x3A, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (EHC2) { Name (_ADR, 0x001A0007) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "AAPL,clock-id", Buffer (One) { 0x02 }, "device_type", Buffer (0x05) { "EHCI" }, "device-id", Buffer (0x04) { 0x3C, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Or This (remember you need to replace all USB* with UHC* and EHC* with this one!!) Device (UHC1) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x03, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x34, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHC2) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x04, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x35, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHC3) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x0C, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x36, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHC4) { Name (_ADR, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x0E, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x37, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHC5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x05, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x38, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHC6) { Name (_ADR, 0x001A0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x20, 0x04 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x39, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (EHCI) { Name (_ADR, 0x001D0007) OperationRegion (PMCS, PCI_Config, 0x54, 0x02) Field (PMCS, WordAcc, NoLock, Preserve) { , 15, PMES, 1 } OperationRegion (PWCR, PCI_Config, 0x62, 0x02) Field (PWCR, AnyAcc, NoLock, Preserve) { URE2, 9 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URE2) } If (LEqual (Arg0, One)) { Store (0x01FF, URE2) } } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "device-id", Buffer (0x04) { 0x3A, 0x29, 0x00, 0x00 }, "AAPL,clock-id", Buffer (One) { 0x01 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (UHCI) { Name (_ADR, 0x001A0007) OperationRegion (PMCS, PCI_Config, 0x54, 0x02) Field (PMCS, WordAcc, NoLock, Preserve) { , 15, PMES, 1 } OperationRegion (PWCR, PCI_Config, 0x62, 0x02) Field (PWCR, AnyAcc, NoLock, Preserve) { URE2, 9 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URE2) } If (LEqual (Arg0, One)) { Store (0x01FF, URE2) } } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "device-id", Buffer (0x04) { 0x3C, 0x29, 0x00, 0x00 }, "AAPL,clock-id", Buffer (One) { 0x02 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } D. Link to comment Share on other sites More sharing options...
Master Chief Posted November 6, 2009 Share Posted November 6, 2009 ... I changed the setting for the CPU Fan from bios controlled (default) to smart control where the mobo alters fan speed according to CPU temp etc. Before CPU-i wasn't reporting any P-States. After changing this fan setting it was! ... Which is just Bizarre. :/ That's odd. Can someone else here reproduce this? Link to comment Share on other sites More sharing options...
DB1 Posted November 6, 2009 Share Posted November 6, 2009 That's odd. Can someone else here reproduce this? My CPU fan is off (i'm water cooled) in bios and voodoo monitor works ok. Link to comment Share on other sites More sharing options...
Master Chief Posted November 6, 2009 Share Posted November 6, 2009 Hello fellow hack(intosh)ers! I have some questions there, mostly strange ones. Here comes the most important one: If I tell OS X to shutdown my PC, after shutdown, USB power will be still on, so if I press a key on my keyboard I see its' numlock led lighting up (as long as I hold the key pressed), or if I click with my mouse I can see its' red light (just for a fraction of a second, then it goes off). Any ideas there? (And of course, using windows there is no such problem.) Hi Matthew, Seems like Power Management isn't properly initialized. Maybe your DSDT it a bit too much Asus like now. Let's see if other GB users are having the same kind of problems, or that this "feature" is limited to you DSDT. And this is most likely due to changes to Method _WAK so please check this method once more, and step by step - you might want to wait for now, until someone here confirms it to work properly. I've got a bit of coder's questions, which should be easy ones: in my DSDT there are some really idiotic _CRS methods in device FWHB and PCI0.EXPL, the thing I'm asking you is the return's importancy - wouldn't it be more logical if the code would be there without the need to return? near the above mentioned devices there is a MEM device too. Is there any use of it on Mac OS X, or can I just remove it? Method _CSR might look like mad to you, but that's because the BIOS can change things. That's why you see things like this: CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM) CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM) Add (AMEM, 0x00010000, TCMM) Add (TCMM, 0x00010000, TCMM) Subtract (0xFEC00000, TCMM, TOMM) Return (BUF0) And again, because some of these value, like AMEM for example, can be different (and probably is) in your hack than the one of say fellow GB user mm67. I've attached my DSDT there, and thanks in advance to the readers and helpers! P.S: Ah, and Master Chief, thanks for your great methods, especially MCDP! Matthew Thanks Matthew. And you're welcome anytime. But hopefully next time I have more time to answer your questions per PM, but this way other people can step in and share their thoughts/findings. p.s. DSDT on file for future references. My CPU fan is off (i'm water cooled) in bios and voodoo monitor works ok. Thanks! Note: CPU-i here has to be re-started sometimes in order to get the P-States table data (output) properly initialized. Link to comment Share on other sites More sharing options...
Matthew L. Posted November 6, 2009 Share Posted November 6, 2009 Hi Matthew, Seems like Power Management isn't properly initialized. Maybe your DSDT it a bit too much Asus like now. Let's see if other GB users are having the same kind of problems, or that this "feature" is limited to you DSDT. Hehe, okay, we'll see. Method _CSR might look like mad to you, but that's because the BIOS can change things. That's why you see things like this: CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM) CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM) Add (AMEM, 0x00010000, TCMM) Add (TCMM, 0x00010000, TCMM) Subtract (0xFEC00000, TCMM, TOMM) Return (BUF0) And again, because some of these value, like AMEM for example, can be different (and probably is) in your hack than the one of say fellow GB user mm67. Understood, thanks! Thanks Matthew. And you're welcome anytime. But hopefully next time I have more time to answer your questions per PM, but this way other people can step in and share their thoughts/findings. Oh Sir, you aren't the one who should apologize. I'm a student, a young dude, sometimes with too much free time, and you are the one who's got a job, family, etc. so I'm the one who shouldn't bother you with all those lil' unimportant things. Link to comment Share on other sites More sharing options...
Master Chief Posted November 6, 2009 Share Posted November 6, 2009 Here's a problem which I think is a DSDT problem. I just bought a Magic Mouse and wanted to get it to wake via Bluetooth (D-Link DBT-120, hardware revision B4). Currently I don't have a problem waking my machine via wired mouse or keyboard. And this is the only approved Bluetooth dongle that will allow wake from USB. So when I plug the dongle into my MacBook, Mac Mini or eMac the "Allow Bluetooth devices to wake this computer" is available. However when I plug it into my OSX86 machine it's greyed out. Anyone have any ideas? I have all my USB/EHCI/UHCI devices show up as built-in. Anyone have any ideas? Interesting. Let's start by teaching me something. How do you get that image to show up there? Anyway. We first need the IORegistryExplorer output of both machines. You may PM me if you want to share it privately, in a place where you can remove it afterwards. p.s. I might get one myself, for my hack, but only after it works for you Link to comment Share on other sites More sharing options...
Matthew L. Posted November 6, 2009 Share Posted November 6, 2009 One more thing guys! At the first CPU's C-states I'm seeing different entries. There are two types: Method (_CST, 0, NotSerialized) { Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, One, 0x9D, 0x03E8 }, }) } and Method (_CST, 0, NotSerialized) { Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, One, 0x9D, 0x03E8 } }) } Which one is correct? Link to comment Share on other sites More sharing options...
alexandros7 Posted November 6, 2009 Share Posted November 6, 2009 Hi, I have a gigabyte p35 ds3, E6300, 8600gt.. I have SL 10.6.1 and I would like to know which is the best/latest DSDT.aml I have to use.. I have used the SL package in this post http://www.insanelymac.com/forum/index.php?showtopic=184367 thanks Interesting. Let's start by teaching me something. How do you get that image to show up there? Anyway. We first need the IORegistryExplorer output of both machines. You may PM me if you want to share it privately, in a place where you can remove it afterwards. p.s. I might get one myself, for my hack, but only after it works for you Link to comment Share on other sites More sharing options...
Master Chief Posted November 6, 2009 Share Posted November 6, 2009 Could somebody kindly have a look at this for me: dsdt04_11_09.dsl.zip This has Most of MC's changes - Again everything works apart from CPU PM !! I think I've tried everything but would appreciate any suggestions ! Cheers D. You're not using any of my Methods, which make things a lot easier to read, and yet you write about tidying up your DSDT?!? You lazy... Scope (_PR) { Processor (CPU1, 0x00, 0x00000410, 0x06) { Method (_PSS, 0, NotSerialized) { Return (Package (0x03) { Package (0x06) { Zero, Zero, 10, 10, 0x0820, Zero }, Package (0x06) { Zero, Zero, 10, 10, 0x071C, One }, Package (0x06) { Zero, Zero, 10, 10, 0x061A, 0x02 } }) } Method (_CST, 0, NotSerialized) { Return (Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, 0x02, 0x000, ,) }, 0x01, 0x00, 0x3E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, 0x00, 0x414, ,) }, 0x02, 0x01, 0x1F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, 0x00, 0x415, ,) }, 0x03, 0x55, 0x0FA } }) } } Processor (CPU2, 0x01, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } Processor (CPU3, 0x02, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } Processor (CPU4, 0x03, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } } That any my PNOT block: // Newly added – Power Management Notifier. Method (PNOT, 0, Serialized) { Notify (\_PR.CPU1, 0x80) // Notify OSPM - this triggers a re-evaluation of our _PPC object (all states available). Sleep (0x64) // Let it sleep for 100us - giving it some time to response to our previous notification. Notify (\_PR.CPU1, 0x81) // Notify OSPM once more, this time to trigger a re-evaluation of our _CST object. Notify (\_PR.CPU2, 0x80) Sleep (0x64) Notify (\_PR.CPU2, 0x81) Notify (\_PR.CPU3, 0x80) Sleep (0x64) Notify (\_PR.CPU3, 0x81) Notify (\_PR.CPU4, 0x80) Sleep (0x64) Notify (\_PR.CPU4, 0x81) } One more thing guys!At the first CPU's C-states I'm seeing different entries. There are two types: ... Which one is correct? The one that works for you? Link to comment Share on other sites More sharing options...
Matthew L. Posted November 6, 2009 Share Posted November 6, 2009 You're not using any of my Methods, which make things a lot easier to read, and yet you write about tidying up your DSDT?!? You lazy... Scope (_PR) { Processor (CPU1, 0x00, 0x00000410, 0x06) { Method (_PSS, 0, NotSerialized) { Return (Package (0x03) { Package (0x06) { Zero, Zero, 10, 10, 0x0820, Zero }, Package (0x06) { Zero, Zero, 10, 10, 0x071C, One }, Package (0x06) { Zero, Zero, 10, 10, 0x061A, 0x02 } }) } Method (_CST, 0, NotSerialized) { Return (Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, 0x02, 0x000, ,) }, 0x01, 0x00, 0x3E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, 0x00, 0x414, ,) }, 0x02, 0x01, 0x1F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, 0x00, 0x415, ,) }, 0x03, 0x55, 0x0FA } }) } } Processor (CPU2, 0x01, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } Processor (CPU3, 0x02, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } Processor (CPU4, 0x03, 0x00000410, 0x06) { Alias (\_PR.CPU1._PSS, _PSS) Alias (\_PR.CPU1._CST, _CST) } } How come now you allow the first core to go deeper than C1? The one that works for you? Hehe, okay. Let me ask you something about MCDP: how can I use it for device customizations longer than a package of 2? (For example, HDEF.) Link to comment Share on other sites More sharing options...
Beerkex'd Posted November 6, 2009 Share Posted November 6, 2009 Interesting. Let's start by teaching me something. How do you get that image to show up there? Upload an attachment, click 'manage current attachments', click the green thing and then move the link that appears in your post to where you want the image to appear. Link to comment Share on other sites More sharing options...
Master Chief Posted November 6, 2009 Share Posted November 6, 2009 How come now you allow the first core to go deeper than C1? Dave and I only have C1 support (: Hehe, okay. Let me ask you something about MCDP: how can I use it for device customizations longer than a package of 2? (For example, HDEF.) Good question! And that'll be a next update – already working on it, but I first want to fix MCID (it should accept ID's like: 0x8086269e, too, instead of only 0x269e). Update: I was a bit busy before (setting up Mac OS X Server) but here's an example: // Newly added Method. Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "built-in", Buffer (One) { Zero }, "layout-id", Buffer (0x04) { /* 883 */ 0x73, 0x03, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) { } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } Exactly the same as before, but using my new Method (less arguments), but it might change even more in the (near) future. However, this is how it works right now. Upload an attachment, click 'manage current attachments', click the green thing and then move the link that appears in your post to where you want the image to appear. Great. Let this old fool bookmark it, because I am likely going to forget about it. Thanks for the tip! Link to comment Share on other sites More sharing options...
blackosx Posted November 6, 2009 Share Posted November 6, 2009 I changed the setting for the CPU Fan from bios controlled (default) to smart control where the mobo alters fan speed according to CPU temp etc. Before CPU-i wasn't reporting any P-States. After changing this fan setting it was! I have the same mobo as ZenGiga and have just tried to replicate this and CPU-i reports P-States regardless of the CPU Fan setting in BIOS. But with the BIOS 'CPU Fan' setting set to Auto (BIOS controlled) I had to load CPU-i twice (as MasterChief mentioned) before it displayed the P-States which could be why Zengiga questioned it. Upload an attachment, click 'manage current attachments', click the green thing and then move the link that appears in your post to where you want the image to appear. Thanks Beerkex'd, I didn't know that either.. Link to comment Share on other sites More sharing options...
blackosx Posted November 7, 2009 Share Posted November 7, 2009 Hi Masterchief Ever since switching to using your MCID method for my EHCI & UHCI devices, the USB High-Speed Bus in System Profiler is identified as Expansion Slot again. I have gone back through my archive of DSDT files to where I made the change and attached the before & after .dsl files. Can you point me the error of my ways? Thanks Before___After.zip Link to comment Share on other sites More sharing options...
sk1nhead Posted November 7, 2009 Share Posted November 7, 2009 Ever since switching to using your MCID method for my EHCI & UHCI devices, the USB High-Speed Bus in System Profiler is identified as Expansion Slot again. I have gone back through my archive of DSDT files to where I made the change and attached the before & after .dsl files. Can you point me the error of my ways? Thanks try this below, it works on mine but hey even without the dsdt patch my USB are all built-in except for the flashdisk wake-up issue Device (UHC1) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x03, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A34)) } } Device (UHC2) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x04, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A35)) } } Device (UHC3) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x0C, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A36)) } } Device (UHC4) { Name (_ADR, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x0E, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A37)) } } Device (UHC5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x05, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A38)) } } Device (UHC6) { Name (_ADR, 0x001A0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Name (_PRW, Package (0x02) { 0x20, 0x04 }) Method (_DSM, 4, NotSerialized) { Return (MCID (Arg2, 0x3A39)) } } Device (EHCI) { Name (_ADR, 0x001D0007) OperationRegion (PMCS, PCI_Config, 0x54, 0x02) Field (PMCS, WordAcc, NoLock, Preserve) { , 15, PMES, 1 } OperationRegion (PWCR, PCI_Config, 0x62, 0x02) Field (PWCR, AnyAcc, NoLock, Preserve) { URE2, 9 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URE2) } If (LEqual (Arg0, One)) { Store (0x01FF, URE2) } } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "device-id", Buffer (0x04) { 0x3A, 0x29, 0x00, 0x00 }, "AAPL,clock-id", Buffer (One) { 0x01 } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } } Device (UHCI) { Name (_ADR, 0x001A0007) OperationRegion (PMCS, PCI_Config, 0x54, 0x02) Field (PMCS, WordAcc, NoLock, Preserve) { , 15, PMES, 1 } OperationRegion (PWCR, PCI_Config, 0x62, 0x02) Field (PWCR, AnyAcc, NoLock, Preserve) { URE2, 9 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URE2) } If (LEqual (Arg0, One)) { Store (0x01FF, URE2) } } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "device-id", Buffer (0x04) { 0x3C, 0x29, 0x00, 0x00 }, "AAPL,clock-id", Buffer (One) { 0x02 } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } } question, any gigabyte user using Apple aluminum keyboard who has successfully waken their system from sleep? this is my problem since i changed my old white apple KB to aluminum one? regular USB mouse, PC keyboard and my white apple KB wakes my system fine except this pesky aluminum one hehe.. also how do you enter your bios? i have the slim keyboard w/o numpad and it doesnt have a delete key (only backspace) so i switch keyboard whenever i wanna enter my bios which is really a pain sometime.. also my boards dsdt has only USB0-USB3 (now UHC1-UHC4) and USBE (now UHCI), could that be the reason maybe? Link to comment Share on other sites More sharing options...
kdawg Posted November 7, 2009 Share Posted November 7, 2009 Interesting. Let's start by teaching me something. How do you get that image to show up there? Anyway. We first need the IORegistryExplorer output of both machines. You may PM me if you want to share it privately, in a place where you can remove it afterwards. p.s. I might get one myself, for my hack, but only after it works for you Looks like someone beat me to the "How to post a image tutorial". So I did some research on the Bluetooth issue. It seems I jumped the gun. I had a PM from kmare saying he had the same problem but his worked in Leopard. So I was like wait a minute! I rebooted into my old 10.5.8 Leopard install and sure enough the "allow bluetooth wake" function works. So I took two ioreg dumps. One from 10.6.1 and one from 10.5.8. The best I can make out is they indeed rewrote some of the bluetooth drivers. In 10.5 it's called CSRUSBBluetoothHCIController.kext in 10.6 they're calling it AppleUSBBluetoothHCIController.kext it seems they operate a bit differently. Hopefully this is just a bug Apple will soon fix. MC I sent the ioreg dumps to you via PM for your examination. Link to comment Share on other sites More sharing options...
Master Chief Posted November 7, 2009 Share Posted November 7, 2009 Hi Masterchief Ever since switching to using your MCID method for my EHCI & UHCI devices, the USB High-Speed Bus in System Profiler is identified as Expansion Slot again. I have gone back through my archive of DSDT files to where I made the change and attached the before & after .dsl files. Can you point me the error of my ways? Thanks You are using two and the same device-id's – for both EHCI and UHCI – but some boards want property "AAPL,clock-id" or they won't show up as internal. And thus you'll need to use MCDP instead, but you can use MCID to change the device-id of Device (SATA) for which you now use MCDP. p.s. There are updated Methods available in the P5K PRO Snow Leopard thread! Link to comment Share on other sites More sharing options...
kdawg Posted November 7, 2009 Share Posted November 7, 2009 Origininally posted this in the wrong place. It occurred to me people may be having firewire problems with their Gigabyte boards. FireWire runtime power conservation disabled. (2) This is how to fix that. Method (_L1A, 0, NotSerialized) // <-- Added for firewire { Notify (\_SB.PCI0.PCIB.FRWR, 0x00) Notify (\_SB.PWRB, 0x02) } Within the Device (PCIB) I added another device: Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK) { Name (_ADR, 0x00070000) Name (_GPE, 0x1A) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Let me know what kind of results people get. dsdt_GA_EP45_UD3P.dsl.zip Link to comment Share on other sites More sharing options...
Master Chief Posted November 7, 2009 Share Posted November 7, 2009 Looks like someone beat me to the "How to post a image tutorial". So I did some research on the Bluetooth issue. It seems I jumped the gun. I had a PM from kmare saying he had the same problem but his worked in Leopard. So I was like wait a minute! I rebooted into my old 10.5.8 Leopard install and sure enough the "allow bluetooth wake" function works. So I took two ioreg dumps. One from 10.6.1 and one from 10.5.8. The best I can make out is they indeed rewrote some of the bluetooth drivers. In 10.5 it's called CSRUSBBluetoothHCIController.kext in 10.6 they're calling it AppleUSBBluetoothHCIController.kext it seems they operate a bit differently. Hopefully this is just a bug Apple will soon fix. MC I sent the ioreg dumps to you via PM for your examination. One has PowerOptions set to 0 and the other has 15 which also appears to be the working one, so I would start by adding this property in the Info.plist of AppleUSBBluetoothHCIController.kext and see if it changes anything. Link to comment Share on other sites More sharing options...
FKA Posted November 7, 2009 Share Posted November 7, 2009 Interesting. Let's start by teaching me something. How do you get that image to show up there? Anyway. We first need the IORegistryExplorer output of both machines. You may PM me if you want to share it privately, in a place where you can remove it afterwards. p.s. I might get one myself, for my hack, but only after it works for you I'm using this Logitech Lazer 2.4GHz (none bluetooth wireless!) Works just fine in my Apple Pro keyboard USB Hub. http://www.logitech.com/index.cfm/mice_poi...70&cl=us,en D You're not using any of my Methods, which make things a lot easier to read, and yet you write about tidying up your DSDT?!? You lazy... I dont know what you mean !!! D Link to comment Share on other sites More sharing options...
Recommended Posts