Contribute
Register

Arrandale/Calpella USB lost after wake From Sleep DSDT

Status
Not open for further replies.
Joined
Apr 14, 2010
Messages
12
Motherboard
Lenovo T510i
CPU
i3 330M
Graphics
NVS 3100M
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I have Lenovo T510i laptop, chipset is QM57, defined as macbook pro 6.2 in smbios. LenovoT410/420/520 and Lenovo W510/520 also suffer from this problem.

Beginning of the story

When 10.7 is out to get working battery I used AppleACPIPlatform.kext v1.3.5 from Snow Leopard + VoodooBattery.kext. Battery works fine and sleep works also fine.

After a while I decided to reformat DSDT to 8 bit addresation to get battery indication with native AppleACPIPlatform.kext 1.4 form Lion.

Battery was recognized with native next, but I'v got new problem - all my external USB devices lost after sleep(mouse, keyboard, card reader, web camera, usb flash drives), but what is interesting - all internal devices - bluetooth, internal web cam and fingerprint sensor working after sleep

To get external USB working after big fail I need complete shutdown laptop and start again, simply reboot doesn't work for me - USB not recognized

Also screen doesn't wake normal with native AppleACPIPlatform.kext, I need to press any key on keyboard to wake it up.


I've also explored some other laptops on arrandale chipset with native AppleACPIPlatform.kext

Lenovo Z560, G560 on arrandale

USB not lost

MSI CX620 on sandy

USB not lost

To get sleep working with DSDT I used following code for EHC1/2 devices
Code:
EHC1

Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x13)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x26, 0x1C, 0x00, 0x00
                        }, 
                        "built-in", 
                        Buffer (One)
                        {
                            0x00
                        }, 
                        "AAPL,clock-id", 
                        Buffer (One)
                        {
                            0x01
                        }, 
                        "device_type", 
                        Buffer (0x05)
                        {
                            "EHCI"
                        }, 
                        "AAPL,current-available", 
                        0x0834, 
                        "AAPL,current-extra", 
                        0x0898, 
                        "AAPL,current-extra-in-sleep", 
                        0x0640, 
                        "AAPL,device-internal", 
                        0x02, 
                        "AAPL,max-port-current-in-sleep", 
                        0x0834, 
                        Buffer (One)
                        {
                            0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }


EHC2

Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x13)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x26, 0x1C, 0x00, 0x00
                        }, 
                        "built-in", 
                        Buffer (One)
                        {
                            0x00
                        }, 
                        "AAPL,clock-id", 
                        Buffer (One)
                        {
                            0x02
                        }, 
                        "device_type", 
                        Buffer (0x05)
                        {
                            "EHCI"
                        }, 
                        "AAPL,current-available", 
                        0x0834, 
                        "AAPL,current-extra", 
                        0x0898, 
                        "AAPL,current-extra-in-sleep", 
                        0x0640, 
                        "AAPL,device-internal", 
                        0x02, 
                        "AAPL,max-port-current-in-sleep", 
                        0x0834, 
                        Buffer (One)
                        {
                            0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

DSDT's from my T510, Lenovo G560/Z560, MSI and macbook pro 6.2 is included

I appreciate if someone can figure out how to deal with this problem

T510i-dsdt-v1.48-converted_8_bit_access-.dsl.zip

z560-dsdt.aml.zip

CX620-dsdt.aml.zip

macbook-ehc-ssdt.zip
 

Attachments

  • T510i-dsdt-v1.48-converted_8_bit_access-.dsl.zip
    52.1 KB · Views: 65
  • z560-dsdt.aml.zip
    20.8 KB · Views: 70
  • CX620-dsdt.aml.zip
    29 KB · Views: 62
  • macbook-ehc-ssdt.zip
    1.1 KB · Views: 62
Did you ever make or find a good patched DSDT for your lenovo G560-0679? I have the same model and wanted to know if you did patch it right to get things like battery, ect.. Also if you did can I get a copy of it?
 
Status
Not open for further replies.
Back
Top