joe82
-
Posts
31 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Articles, News and Tips
Forums
Posts posted by joe82
-
-
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
-
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.
-
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.
-
No, the DVI port is still a problem.
I would like to look into this as soon as I get time.
-
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.
Bluetooth reconnect after wake from sleep
in The Archive
Posted
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