Jump to content

joe82

Members
  • Posts

    31
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by joe82

  1. ok tried it on a d430... pro's you can activate wake from usb in bios and it sleeps now also will wake from usb mouse.... but for some reason it drives the trackpad crazy it jumps all over the place had to diable it in bios. i have not tried vga, bluetooth. or dock. so your definitely on the right track in getting the little gremlins worked out. have yet to try your original d620 dsdt edits on my d620 intel.... waiting for a new hdd. will report back on that one when i get it back up.

     

    update after a couple reboots trackpad is working again but it will not wake from usb mouse anymore but it can still sleep wile having usb wake enabled in bios wich it would not do previously it had to be off in bios for sleep to work properly before,

     

    I usually do not use the track-pad, or the "eraser" in the keyboard much.

    I prefer a mouse, either wireless, or wired. I have seen signs of what you

    describe happening in the track-pad. I have not had time to look into this.

     

    The only thing that comes to mind is usually there are some parameters

    associated with a mouse, acceleration, for example. Perhaps they are

    not being restored.

     

    Joe

  2. WOW.. thats amazing work dude .. its stuff like that we need onboard our team.

     

    Joe, if you dont mind, could you add the same changes to the D4x0 DSDT so i could give it a test ?

     

     

    Here it is.

     

    First some notes:

     

    For the D4X0, I used the DSDT from EDP 1.9 as a starting point.

     

    I do not know what chipset is used in the D4X0 machines,

    but I do know the D620 uses the ICH7 chipset. So the updates

    to the D4X0 DSDT are based on the D620.

     

    1) The DSDT USB0-3 devices are UHCI devices.

    Using lspci and looking at the data sheet, I found these devices

    DO NOT have a power management capability in the PCI configuration

    space. I believe you can still have a machine that supports power

    management, but these devices are on or off. This is why I did not

    include the _DSM() methods in these devices. They were present in

    the D4X0 DSDT, so I commented them out. I figured it would be best

    to start with what worked for me. I also added the other pieces.

     

    2) The DSDT EHCI device is an EHCI device.

    Using lspci and looking at the data sheet, I found this device

    DOES have a power management capability in the PCI configuration

    space. I did include the _DSM() methods in the EHCI device. The version

    that is in the D4X0 ECHI device was largely a super set of

    my version. Since I am not clear what side effects the additional

    items will cause, I commented out that version, and added my version.

    This may not matter. I also added the other pieces.

     

    3) I changed the AAPL,Haslib to AAPL,HasLid in the _DSM method

    in the VID device.

     

    Lastly I suggest updating the BIOS parameters to match the values I used.

     

    Let me know how it goes.

     

    Joe

    dsdt_d4x0.tar.gz

  3. Hi All,

     

    I have a D620 with a DELL TrueMobile 360 Bluetooth card. Overall it has worked well, but

    I loose the connection to my Bluetooth mouse after a wake from sleep. I have noted others seem to

    have the same problem from the notes in their signatures. I decided to look into this problem.

     

    After reading various forums on other websites, I decided to try some changes to the DSDT,

    specifically the USB* and EHCI devices. I compared the same devices in the DSDT from a

    Macbook1,1. The two machines are largely the same.

     

    I added the following to the USB0-3 devices.

     

    Method (_S3D, 0, NotSerialized)

    {

    Return(0x03)

    }

     

    Method (_S4D, 0, NotSerialized)

    {

    Return(0x03)

    }

     

    and the following to the EHCI device.

     

    Method (_DSM, 4, NotSerialized)

    {

    Store (Package (0x04)

    {

    "AAPL,clock-id",

    Buffer (One)

    {

    One

    },

     

    "device_type",

    Buffer (0x05)

    {

    "EHCI"

    }

     

    }, Local0)

    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

    Return (Local0)

    }

     

    Method (_S3D, 0, NotSerialized)

    {

    Return(0x03)

    }

     

    Method (_S4D, 0, NotSerialized)

    {

    Return(0x03)

    }

     

    With these changes, I am able to get the USB-based Bluetooth adaptor to reconnect with the mouse after a wake from sleep.

    I am also able to change the hibernatemode parameter in pmset back to the default value of 3.

    Here are my pmset values.

     

     

    Active Profiles:

    AC Power -1*

    Battery Power -1

    Currently in use:

    hibernatefile /var/vm/sleepimage

    hibernatemode 3

    disksleep 10

    sleep 10

    displaysleep 3

    lidwake 1

    ttyskeepawake 1

    womp 0

    acwake 0

    halfdim 1

    autorestart 0

     

    To be complete, here are the BIOS parameters I have updated that are related to the USB.

     

    Onboard Devices

    External USB ports: Enabled

    Integrated USB Hub: High Speed

    Power Management

    USB Wake Support: Enabled

    POST Behavior

    USB Emulation: Enabled

     

     

    I am also running 10.6.8 with EDP 1.9. I have not had time to try EDP 1.9.1 or 1.9.2

    When the EDP is configured, I choose all the Apple versions of the drivers.

     

    Although these changes seem to solve my original problem, I believe the DSDT

    is removing the power from the Bluetooth adaptor when going to sleep. This

    makes it hard to get a wake-on-bluetooth-mouse-event to work.

     

    I decided to start with a wired USB-mouse. Using lspci, I was able to verify the

    power management registers were getting set when this mouse was used. I was

    able to get the machine to wake on a usb-mouse button hit.

    Looking at the "Advanced..." tab from the "Open Bluetooth Preferences..." tab,

    wake-on-bluetooth-mouse-event seems to be supported, but the

    "Allow Bluetooth devices to wake this computer" is grayed-out. It seems I do not

    have a supported Bluetooth adaptor. I have been able to "trick" the OS into thinking

    I have a supported adaptor, but with the power being turned-off, it does not work. I

    have seen other people comment on this problem, and they have even found the

    line that disables the power, but their DSDTs are different. I will put this on my list of

    things to look into. If I ever find the way to keep the power connected, I will most

    likely try to get the wake-on-bluetooth-mouse-event to work.

     

     

    I am going to attach my modified dsdt.dsl and the compiled dsdt.aml files. Note this

    DSDT also includes a fix to get the VGA port to work correctly on a docking station.

    dsdt_d620_gma.tar.gz

  4. It has been a while since I updated this, but I have some additional information.

     

    First, using EDP 1.7, I went back to see if I could add back the device-properties

    line in com.apple.boot.plist. After adding it back it still worked correctly when in

    the docking station. It also worked out of the docking station. The only problem

    I observed is then the screen entered display sleep. It does exit display sleep, but

    the screen seems to be at a lower resolution. It is still 1440x900, but it is as if half

    the pixels are not being used. I was able to track the problem to the option

     

    AAPL01,DualLink

     

    It seems with displays of this size, 1440x900, this needs to be set. So I updated

    and added the following

     

    "AAPL01,DualLink",

    Buffer (0x04)

    {

    0x01, 0x00, 0x00, 0x00

    },

     

    "AAPL01,Height",

    Buffer (0x04)

    {

    0x84, 0x03, 0x00, 0x00

    },

     

    "AAPL01,Width",

    Buffer (0x04)

    {

    0xA0, 0x05, 0x00, 0x00

    },

     

    This fixes the display sleep problem, and it still works in the docking station.

     

    I have also moved from 10.6.7 and EDP 1.7 to 10.6.8 and EDP 1.9. I have

    not had time to update to EDP 1.9.1 or 1.9.2. Things have changed in Chameleon

    since EDP 1.7. The com.apple.boot.plist has been changed to org.chameleon,Boot.plist.

    The device-properties is no longer present in the new file. The good news is these

    changes have not been a problem for this docking station fix.

     

    At this point I decided to look back at the fix to this parameter.

     

    "AAPL,HasLid",

    Buffer (0x04)

    {

    0x01, 0x00, 0x00, 0x00

    },

     

    This parameter had been updated from AAPL,Haslid to AAPL,HasLid.

     

    I did a strings on /System/Library/Extensions/AppleIntelIntegratedFramebuffer.kext/AppleIntelIntegratedFramebuffer

     

    After pruning back some of the junk I got.

     

    AAPL,HasPanel

    AAPL,HasLid

    AAPL,NumFramebuffers

    AAPL,NumDisplays

    AAPL,DisplayConfig

    AAPL,SelfRefreshSupported

    AAPL,display-alias

    AAPL,boot-display

    saved-config

    saved-timing0

    saved-timing1

    AAPL00,CurrentDisplay

    AAPL00,IODisplayMode

    AAPL00,Pipe

    AAPL00,BootDisplay

    AAPL00,Depth

    AAPL00,Width

    AAPL00,Height

    AAPL00,Interlace

    AAPL00,Refresh

    AAPL00,EDID

    AAPL00,display-alias

    AAPL00,IgnoreConnection

    AAPL00,no-hotplug-interrupt

    AAPL01,DualLink

    AAPL01,T1

    AAPL01,T2

    AAPL01,T3

    AAPL01,T4

    AAPL01,T5

    AAPL01,T6

    AAPL01,T7

    AAPL01,PixelFormat

    AAPL01,BacklightIntensity

    AAPL01,InverterFrequency

    AAPL01,CurrentDisplay

    AAPL01,IODisplayMode

    AAPL01,Pipe

    AAPL01,BootDisplay

    AAPL01,Depth

    AAPL01,Width

    AAPL01,Height

    AAPL01,Interlace

    AAPL01,Refresh

    AAPL01,EDID

    AAPL01,display-alias

    AAPL01,IgnoreConnection

    AAPL01,no-hotplug-interrupt

     

    So this driver does reference AAPL,HasLid.

     

    I have also found the same string in

     

    /System/Library/Extensions/AppleIntelGMAX3100FB.kext/AppleIntelGMAX3100FB

     

    I am not clear what systems use this driver, but the same fix might work in that case.

     

    Anyway this fix has been stable for me for some time now.

     

    I still have not found a way to get the DVI port to work, but it is still on the list.

  5. Hi all,

     

    First nice work by all. I have not been an Apple user, but now that I have access to a machine running the

    Apple OS, it has given me something to think about.

     

    Since I have an interest in using a D620 in a docking station, I decided to try the solution posted by "Fireman Sam".

    I was able to implement the documented changes, and found it worked at advertised.

     

    I started looking at why the DVI port did now work. I looked over "dumps" from real Apple machines, and found an

    interesting different between the Apple version of a variable, and the one in the D620 DSDT. The variable, from the

    EDP 1.7 DSDT is:

     

    "AAPL,Haslid"

     

    Apple uses

     

    "AAPL,HasLid"

     

    Note the "Capital-L".

     

    I updated the DSDT, and gave it a try. It still worked.

     

    I backed-out the DSDT change (detection of lid/dock), and gave it a try.

    It still worked. Using "system profiler" I was able to note the internal display

    was not "configured" when docked, but was when not docked. This should

    help save on power, I guess.

     

    So my modified fix is;

    1) Remove the device-properties from com.apple.boot.plist (As documented by Fireman Sam).

    2) Change "AAPL,Haslid" to "AAPL,HasLid" in DSDT.

     

    To be accurate, I did update two of the other variables, "subsystem-vendor-id", and "subsystem-id".

    This should not matter. I also noted that there are various other variables, in the Apple version. Most

    I do not know what they do, and I am not clear which should be in DSDT, and which should be in

    com.apple.boot.plist.

     

    This version of the fix, seems to move the decision making from the DSDT, to the OS level. This fix should

    be more portable across laptops, and other VGA chipsets. "Wake from sleep" still works. I did not

    try mirror, and there are still other things to test.

×
×
  • Create New...