![]() |
|
|
|
#1
|
|||
|
|||
|
Hi Guys,
Im in a fix.. Everywhere there is a DSDT Fix for getting the USB port to be displayed as Built-in but i need the opposite.. USB - 3 shows as built-in, but it has bluetooth. hence on sleep i loose bluetooth.. if i remove the entry altogether, i have it as external but my sleep fails.. Any help would be greatly appreciated. Am having Lenovo T60p. with ICH7-M chipset. Thanks, Xavier |
|
#2
|
|||
|
|||
|
Shutdown & Restart with sleep fix-Thanks to Sweaty & mm67
Many thanks to Sweaty and mm67. You are really nice. This resolve the problem I thought it would never be resloved.
I just made a small change to Method (_PTS, 1, NotSerialized) in order to resolve sleep issue on my notebook CQ60-202TX. Now let me put all together step by step as a guide. This might help newbie. 1 Add OperationRegion below before Method (_PTS, 1, NotSerialized) OperationRegion (DEBG, SystemIO, 0x80, One) Field (DEBG, ByteAcc, NoLock, Preserve) { DBG1, 8 } OperationRegion (PMRS, SystemIO, 0x0430, 0x13) Field (PMRS, ByteAcc, NoLock, Preserve) { , 4, SLPE, 1, Offset (0x08), GPSE, 16, GPSS, 16, Offset (0x12), , 1, SWGC, 1 } 2 Check Device (LPC) if there is a similar Operation Region "LPC" like below. If you don't have LPC device, just search Name (_ADR, 0x001F0000), sometimes the device name is different. Device (LPC) { Name (_ADR, 0x001F0000) OperationRegion (LPC0, PCI_Config, 0xA4, 0x02) Field (LPC0, ByteAcc, NoLock, Preserve) { AG3E, 1 } If there is no OperationRegion LPC, please add code above. In my dsdt's OperationRegion LPC0, there is an EXPE instead of AG3E. So I did not modify it, but had to change a bit in Method (_PTS, 1, NotSerialized) . See mine below: OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x60), , 10, EXPE, 1 } 3 Add code below in Method (_PTS, 1, NotSerialized) like this Method (_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DBG1) Store (Zero, \_SB.PCI0.LPC.EXPE) //Please change to \_SB.PCI0.LPC.AG3E if you don't have the EXPE, but add AG3E. If (LEqual (Arg0, 0x05)) { Store (Zero, SLPE) Sleep(0x10) } Else { //**Original Code, this resolved my sleep issue. } } //This is written by mm67. You are really nice. This address 0x0430 is also motherboard specific, it is PMBASE+30h. Address of PMBASE is defined in FACP, on most boards it can also be checked from processor definitions. For example I have this in my dsdt: Processor (CPU0, 0x00, 0x00000410, 0x06) Here 0x00000410 is referring to PMBASE+10h so I use 0x430 on my Gigabyte board. On my MSI board's dsdt I have this: Processor (P001, 0x01, 0x00000810, 0x06) {} So in MSI shutdown code I use this: OperationRegion (PMRS, SystemIO, 0x0830, 0x13) 4 Add these in your com.apple.Boot.plist and then put "boot_RC4_Duvelv2.1_Rekursor" under your boot partition. <key>DeviceID</key> <string>******XX-***X-***X-***X-************</string> <key>RestartFix</key> <string>YES</string> Now you can remove OpenHaltRestart.kext and PlatformUUID.kext or other similar kexts. |
|
#3
|
|||
|
|||
|
Sorry of reviving this and cutting in
@ping99 I have an ASRock x58 Extreme (similar to ASUS boards), and sleep doesn't work OTB. I've been looking around, and it seems I would need to modify Method (_PTS, 1, NotSerialized). I read your post, and it seems that the edits you did are somewhat similar to what I should do in my DSDT, whoever I have a few doubts: Quote:
Code:
OperationRegion (DEBG, SystemIO, 0x80, One)
Field (DEBG, ByteAcc, NoLock, Preserve)
{
DBG1, 8
}
Quote:
Code:
Device (LPCB)
{
Name (_ADR, 0x001F0000)
Device (IELK)
{
Name (_HID, "AWY0001")
OperationRegion (RXA0, PCI_Config, 0xA0, 0x20)
Field (RXA0, ByteAcc, NoLock, Preserve)
{
, 9,
PBLV, 1,
Offset (0x10),
, 1,
PBMS, 1,
, 1,
PMCS, 1,
ECNS, 1,
Offset (0x11),
ECT1, 16,
ELEN, 1,
Offset (0x14)
}
Method (\_GPE._L0A, 0, NotSerialized)....
Quote:
Code:
Method (_PTS, 1, NotSerialized)
{
Or (Arg0, 0xF0, Local0)
Store (Arg0, DBG8)
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
If (LEqual (Arg0, 0x05))
{
Store (0x99, SMIP)
Store (One, \_SB.PCI0.LPCB.IELK.AG3E)
Store (Zero, SLPE)
Sleep (0x10)
}
Else
{
Store (Zero, \_SB.PCI0.LPCB.IELK.AG3E)
}
Store (ASSB, WSSB)
OSYS ()
Store (AOTB, WOTB)
Store (AAXB, WAXB)
Store (Arg0, ASSB)
Store (OSFL (), AOTB)
Store (OSYS (), OSTP)
Store (Zero, AAXB)
}
Code:
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
Store (ASSB, WSSB)
Store (AOTB, WOTB)
Store (AAXB, WAXB)
Store (Arg0, ASSB)
Store (OSFL (), AOTB)
Store (OSYS (), OSTP)
Store (Zero, AAXB)
}
Post Scriptum (P.S.): I attached my DSDT's, CST and IST tables, so if someone could lok at them and tell me if I -for example- managed to insert the C-States, P-States, etc-States into the DSDT correctly, I would be eternally grateful. Last edited by adriangb; 04-01-2010 at 03:11 PM. Reason: Added the P.S. |
|
#4
|
|||
|
|||
|
does anyone have dsdt for EP45-DS5? i'm trying to patch myself and always failed
please help |
|
#5
|
|||
|
|||
|
What you need to find is the method that is called upon a lid switch event, which means it is under EC0, the embedded controller device. On a MacBook, it's typically _Q20, which looks like this:
Code:
Method (_Q20, 0, NotSerialized)
{
Store (LSTE, LIDS)
Notify (\_SB.LID0, 0x80)
}
Code:
Method (_Q8A, 0, NotSerialized)
{
If (LIDE)
{
Store ("_Q8A : LID Switch Event", Debug)
Store (0x01, LIDE)
If (IGDS)
{
Store (0x90, SMIF)
Store (0x00, TRP0)
}
Notify (\_SB.LID0, 0x80)
}
-- MacBook Pro - have allergy to nickel in the aluminum casing. So my kid gets an expensive toy! Gateway MX 8738 - Retail, vanilla Snow Leopard 10.6.2 (thanks kizwan!) with Chameleon RC4, modified DSDT. Upgraded to Core 2 CPU (easy to do). Upgraded to 640GB drive. Everything but SD card working. Minor niggles. GMA950 with QE/CI and *no* artifacts. ![]() iMac (luxo/lamp) G4 with Tiger. |
|
#6
|
|||
|
|||
|
Enabled bluetooth on Acer Aspire 9420
Hi uman,
Do you remember, not a long time a go, I'm pursuing to enable bluetooth in Mac OS X? I'm still unable to get the bluetooth button working but I'm able to make the bluetooth device working via DSDT hacking. I'm still however unable to trigger the bluetooth ON/OFF button. I even trying to re-map the bluetooth ON/OFF button to another button (Fn+..) but unsuccessful. Therefore, I modify System Wake (_WAK) to enable bluetooth. This is for temporary solution. When hot booting the computer, it need to be put to sleep one time only & waking up the computer will turning ON the bluetooth device. To make it working cleanly, I modify both System Wake (_WAK) and Prepare to Sleep (_PTS). In the process, I also fixed the wireless device won't turn ON after waking from sleep. _WAK code:- Code:
Method (_WAK, 1, NotSerialized)
{
Store (Arg0, P80H)
If (LEqual (Arg0, 0x03))
{
Store (CIRT, \_SB.PCI0.LPCB.EC0.CIRE)
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (EEPM, \_SB.PCI0.LPCB.EC0.WEPM)
Store (CAST, \_SB.PCI0.LPCB.EC0.CAME)
Store (WLPW, \_SB.PCI0.LPCB.EC0.WLEN)
Store (BTPW, \_SB.PCI0.LPCB.EC0.BTEN)
Store (WLLE, \_SB.PCI0.LPCB.EC0.WLLD)
Store (BTLE, \_SB.PCI0.LPCB.EC0.BTLD)
}
Store (0x00, \_SB.PCI0.LPCB.EC0.MUTE)
Store (0x00, \_SB.PCI0.LPCB.EC0.KTAF)
Store (0x01, \_SB.PCI0.LPCB.EC0.KTEE)
// start
// Add support for Wireless & Bluetooth devices (power & LED).
// Turned ON Wireless & Bluetooth devices after resume from Sleep.
Store (0x01, \_SB.PCI0.LPCB.EC0.WLEN)
Store (0x01, \_SB.PCI0.LPCB.EC0.WLLD)
Store (0x01, \_SB.PCI0.LPCB.EC0.BTEN)
Store (0x01, \_SB.PCI0.LPCB.EC0.BTLD)
// end
..................
- Preventing the wireless device from turn OFF before goes to sleep. Therefore, the wireless device can be turn ON after waking from sleep. Code:
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, P80H)
Store (0x01, \_SB.PCI0.LPCB.EC0.MUTE)
If (LEqual (Arg0, 0x03))
{
Store (\_SB.PCI0.LPCB.EC0.CIRE, CIRT)
}
If (LEqual (Arg0, 0x04))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.BLNK)
Store (0x00, \_SB.PCI0.LPCB.EC0.CIRE)
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (\_SB.PCI0.LPCB.EC0.WEPM, EEPM)
Store (\_SB.PCI0.LPCB.EC0.CAME, CAST)
Store (\_SB.PCI0.LPCB.EC0.WLEN, WLPW)
Store (\_SB.PCI0.LPCB.EC0.BTEN, BTPW)
Store (\_SB.PCI0.LPCB.EC0.WLLD, WLLE)
Store (\_SB.PCI0.LPCB.EC0.BTLD, BTLE)
}
Store (0x00, \_SB.PCI0.LPCB.EC0.CAME)
Store (0x00, \_SB.PCI0.LPCB.EC0.CIRE)
// Preventing Wireless device from turning OFF when system going to Sleep.
// Store (0x00, \_SB.PCI0.LPCB.EC0.WLEN)
// start
// Add support for Wireless (LED) & Bluetooth (power & LED) devices.
// Turned OFF Wireless (LED) & Bluetooth (power & LED) devices before going to Sleep.
Store (0x00, \_SB.PCI0.LPCB.EC0.WLLD)
Store (0x00, \_SB.PCI0.LPCB.EC0.BTEN)
Store (0x00, \_SB.PCI0.LPCB.EC0.BTLD)
// end
If (LEqual (Arg0, 0x05))
{
PHSR (0x28, 0x00)
}
}
Quote:
Code:
Device (USB4)
{
Name (_ADR, 0x001D0003)
OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
Field (U4CS, DWordAcc, NoLock, Preserve)
{
U4EN, 2
}
Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
// Store (0x03, U4EN)
// Disable USB4 capability to wake a sleeping system
Store (0x00, U4EN)
}
Else
{
Store (0x00, U4EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
kizwan 1) Retail Mac OS X 10.6 ** Acer Aspire 9420 Intel C2D T5600 ** 4GB DDR2 ** NVIDIA GeForce Go 7300 128MB ** Dell Wireless 1395 (rebrand to AirPort Extreme) ** ALC883 2) Windows 7 Home Premium 64-bit ** Dell Studio 1557 Intel Core i7 720QM ** 4GB DDR3 1333Mhz ** ATI HD4570 512MB ** Intel WiFi 5300 ** Seagate Momentus 5400.6 SATA 3Gb/s 320-GB Hard Drive 5400RPM ** WLED 1366x768 15.6" 3) Retail Mac OS X 10.5.6 + Vista Ultimate ** Acer Aspire 3680 Intel Celeron M 440 ** Linksys WPC54G v3.1 ** ALC883 Last edited by kizwan; 03-11-2010 at 02:43 PM. |
|
#7
|
|||
|
|||
|
Hi kizman,
Quote:
regards, Vincent Last edited by barnum; 03-13-2010 at 02:21 PM. |
|
#8
|
|||
|
|||
|
Quote:
Code:
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
// Store (0x03, U4EN)
// Disable USB4 capability to wake a sleeping system
Store (0x00, U4EN)
}
Else
{
Store (0x00, U4EN)
}
}
Quote:
kizwan 1) Retail Mac OS X 10.6 ** Acer Aspire 9420 Intel C2D T5600 ** 4GB DDR2 ** NVIDIA GeForce Go 7300 128MB ** Dell Wireless 1395 (rebrand to AirPort Extreme) ** ALC883 2) Windows 7 Home Premium 64-bit ** Dell Studio 1557 Intel Core i7 720QM ** 4GB DDR3 1333Mhz ** ATI HD4570 512MB ** Intel WiFi 5300 ** Seagate Momentus 5400.6 SATA 3Gb/s 320-GB Hard Drive 5400RPM ** WLED 1366x768 15.6" 3) Retail Mac OS X 10.5.6 + Vista Ultimate ** Acer Aspire 3680 Intel Celeron M 440 ** Linksys WPC54G v3.1 ** ALC883 Last edited by kizwan; 03-13-2010 at 02:48 PM. Reason: better explanation |
|
#9
|
|||
|
|||
|
Nice work! Too bad I don't have bluetooth!
I've come to the conclusion that getting access to keyboard events is impossible in DSDT. I think you have three choices: construct an AMW0 device kext to bind to the AMW0 (which I presume is in your DSDT). This would be a challenge, but might allow you to be straight retail. Two, hack at ApplePS2Keyboard (if PS2) or something else if USB. Or three, do the same with VoodooPS2 (again if PS2). If you have USB, your job may be easier, since you might be able to do it outside kernel space. -- MacBook Pro - have allergy to nickel in the aluminum casing. So my kid gets an expensive toy! Gateway MX 8738 - Retail, vanilla Snow Leopard 10.6.2 (thanks kizwan!) with Chameleon RC4, modified DSDT. Upgraded to Core 2 CPU (easy to do). Upgraded to 640GB drive. Everything but SD card working. Minor niggles. GMA950 with QE/CI and *no* artifacts. ![]() iMac (luxo/lamp) G4 with Tiger. |
|
#10
|
|||
|
|||
|
Battery indicator
Hi uman,
I'm successfully compiled AMW0.kext for SL but got kernel panic while initializing some MethodTerm at boot. Since AMW0.kext project is not finished, I think I'm going to try ACPI4ASUS.kext instead. If ACPI4ASUS.kext developed to works with AMW0 v2 interface (AMW0 and WMID), it should works with other laptop model too. I'm trying to enable battery icon by patching DSDT. It is being done by adjusting ADP1 & BAT0 code according to DSDT from MBP4,1. Not successful yet, but the battery indicator did show up. It said battery is not detected & current power source is power adapter. Do you think it is possible to make it working by just patching the DSDT? EDIT: I have found the right "query method" to automatically turn ON Bluetooth device during boot-up. I just tried all of the "query method" in the DSDT until I found the right one. Code:
Method (_Q3F, 0, NotSerialized)
{
// start
// auto turn ON Bluetooth device during computer startup
Store (0x01, \_SB.PCI0.LPCB.EC0.BTEN)
Store (0x01, \_SB.PCI0.LPCB.EC0.BTLD)
// end
HKEY (0x3F)
}
1) Retail Mac OS X 10.6 ** Acer Aspire 9420 Intel C2D T5600 ** 4GB DDR2 ** NVIDIA GeForce Go 7300 128MB ** Dell Wireless 1395 (rebrand to AirPort Extreme) ** ALC883 2) Windows 7 Home Premium 64-bit ** Dell Studio 1557 Intel Core i7 720QM ** 4GB DDR3 1333Mhz ** ATI HD4570 512MB ** Intel WiFi 5300 ** Seagate Momentus 5400.6 SATA 3Gb/s 320-GB Hard Drive 5400RPM ** WLED 1366x768 15.6" 3) Retail Mac OS X 10.5.6 + Vista Ultimate ** Acer Aspire 3680 Intel Celeron M 440 ** Linksys WPC54G v3.1 ** ALC883 Last edited by kizwan; 03-12-2010 at 10:02 PM. |