Help - Search - Members - Calendar
Full Version: [GUIDE] Making a CPU Specific DSDT.aml for Dell XPS M1330 and XPS M1530
InsanelyMac Forum > OSx86 Project > Tutorials (The Genius Bar)
Pages: 1, 2, 3
immo
Making a CPU Specific DSDT.aml for Dell XPS M1330 and XPS M1530
October 5, 2009

Modified November 17, 2009
This guide shows the steps necessary to dump, assemble, patch, and compile a DSDT.aml for your M1330 or M1530. This DSDT.aml will allow vanilla speed stepping, vanilla sleep, enable the clamshell lid, inject NVidia graphics, and allow the use of a custom AppleHDA.kext. Tested by myself under Leopard 10.5.8, and I understand it is being used under Snow Leopard, as a copy of a DSDT.aml using this method (with unpatched HDEF audio) is on SuperHai's Snow Leopard install DVD. The DSDT.aml will vary depending on your CPU, and your graphics option (NVidia or Intel).

Prerequisits

- A working Vanilla install of Leopard
You can use wingrunr's guide as a reference:
http://www.insanelymac.com/forum/index.php...mp;#entry847294

or Snow Leopard
You can use Superhai's guide as a reference:
http://www.projectosx.com/forum/index.php?showtopic=561

- Installed and working copy of Chamelleon RC1 or higher (RC3 required for Snow Leopard).

Posting Rules:

1. Please keep this topic specific to making custom DSDT.aml files for Dell XPS M1330/M1530. More general M1330/M1530 questions can be posted in MacGirl's topic:
http://www.insanelymac.com/forum/index.php?showtopic=83039

2. If you'd like to request help about issues with a DSDT.aml that is known to work and you are running a distro, please try it on a vanilla install first. There is no reason to use a distro on these machines as vanilla works great, and there's a very good chance that issues are related to something non-standard about the distro. It is very hard to offer help on distros because it's near impossible to know what has been changed from vanilla on the distro.

Contributing:

- If you successfully use this guide on a configuration different from a DSDT.aml posted here, post it! This will help others with your configuration.

- If you find a patch that works better or adds more functionality than what is shown here, share it!

Credits

Chrysaor for his DSDT.aml for M1530. This motivated me to figure out how to do it on my M1330, and I used his DSDT.aml as a reference.
Wingrunr and MacGirl for their awesome threads.
Superhai for his great kexts and snow leopard work.
Zhell for his guide on dumping the ACPI tables.
ApexDE for his work on the USB fix.
I'm not sure who came up with the NVidia and HDEF fixes, but whoever did, thanks.

2009/11/17
Alternative to Step One and Step Two: No Linux BootCD Required


It's been found that it is possible to get Vanilla SpeedStep and sleep working without SSDT tables (thanks Brett Whinnen). The DSDT table can be dumped from OS-X, so a boot CD is not required. The only disadvantage is that you will be unable to customize your speed stepping. You will still need to apply the patches listed in Section 3.

1. Download and unzip DSDT Patcher from this thread.
http://www.insanelymac.com/forum/index.php?showtopic=133683

2. Under the "Tools" subfolder, copy "iasl" and "getDSDT.sh" to the /sbin directory (this is the compiler/decompiler, and the DSDT dumping script respectively).

3. In the folder where you want to work, execute the command:
getDSDT.sh

A file called DSDT.dat will appear in the working folder.

4. Decompile the DSDT.dat using the following command:
iasl -d dsdt.dat

The file will be decompiled to dsdt.dsl in the same folder.

5. Open the dsdt.dsl file in TextEdit.

6. In the DefinitionBlock line near the top of the file, replace the filename with the name "DSDT.aml" with no path. Otherwise it will overwrite the original.

7. Continue on to Step 3: Patching the DSDT. When installing the finished DSDT (Step 4), do NOT use the DropSSDT=y flag.


Step One: Dumping the ACPI Tables

The DSDT is built by assembling and compiling ACPI tables dumped from the computer's bios. This is best done from Linux as the complete tables cannot be dumped from OS-X. Don't worry you don't have to install linux, you can use an Ubuntu Live-CD (allows you to boot Ubuntu from your CD drive). After this step is done, we do the remainder in OS-X (although it is possible to do most of the remaining steps in Linux if you really wanted to). Here's the steps involved.

1. Download an Ubuntu Live CD (9.04 Jaunty Jackalope is the current version, I used the 64 bit version)
http://www.ubuntu.com/getubuntu/download
and burn it to CD.
EDIT 2009/10/22 -> It's been reported that Ubuntu 9.10 beta did not work for this, but 9.04 definately does (thanks Jisare).

2. Boot from the CD, and choose the option "Try Ubuntu without any change to your computer".

3. Open a terminal window (under Accessories).

4. Enable "Universe" repositories (this allows you to install the required software to do your dump)
CODE
sudo nano /etc/apt/sources.list

Uncomment the "Universe" lines, exit and save.

5. Install the ACPIDump package.
CODE
sudo apt-get update
sudo apt-get install acpidump


6. Change to root (sudo su) and dump the tables and store them in ACPI-Tables.zip (thank you zhell)

mkdir ACPI && dmesg | perl -we '$n=0; while (<>) { if (($t,$a,$l,$o) = (/^[^a-zA-Z]*ACPI: ([-._A-Z0-9]{4,4}) +([0-9A-F]{8,8}), ([0-9A-F]{4,4})+(?:\s*\(([^)]+))?/)) { $o && $o=~s/[^-._a-zA-Z0-9]+/-/g; ($cmd="acpidump -a $a -l $l > \"ACPI/${t}".($o?"_$o":"").".aml\""); print "Running command: \"$cmd\"\n"; system($cmd); ++$n; } } die("No match") unless $n;' && zip -r ACPI-Tables.zip ACPI


7. Copy the ACPI-Tables.zip to a USB drive or network share where you can access it later from OS-X.

Step Two: Decompiling and Assembling the Tables
Look at the contents of the ACPI-Tables.zip files. The ones that are needed are the DSDT table and the SSDT PmRef tables (there are five). These six have to be assembled into a single DSDT.aml file. Each one must be decompiled, assembled together.

1. Download and unzip DSDT Patcher from this thread.
http://www.insanelymac.com/forum/index.php?showtopic=133683

2. Under the "Tools" subfolder, copy "iasl" to the /sbin directory (this is the compiler/decompiler)

3. Decompile each of the required .aml files using the following command:
CODE
iasl -d [file.asl]

A [file].dsl file will be created in the same folder.

4. Open the DSDT dsl file (called DSDT_r2-INT430-SYSFexxx-1001-INTL-20050624.aml on my computer) in TextEdit.

5. In the DefinitionBlock line near the top of the file, replace the long unfriendly filename with the name "DSDT.aml" (this is so when you compile the file it will have the name DSDT.aml. Otherwise it will overwrite the original)

6. Remove the last curly brace } at the bottom of the file.

7. Open the first SSDT file in another TextEdit window (SSDT_r1-PmRef-Cpu0Cst-3001-INTL-20050624.dsl on my computer, I don't believe the order is important, but I did them in alphabetical order).

8. Copy starting AFTER the first curly brace { (probably an "EXTERN" line) to the end of the file, and paste it to the end of the DSDT file.

9. Repeat steps 6 to 8 for the remaining SSDT files.

10. Save the DSDT file with the joined DSDT tables. We'll call it myDSDT.aml.

You may also want to date code and/or version it. The DSDT's are specific not only to the model but to the CPU, and the NVidia graphics are optional.

11. Attempt to compile the file with the following command. It will fail, but it will also tell us what we have to fix.
CODE
iasl myDSDT.dsl


12. All the errors at "External" lines e.g.:

DSDT.dsl 6026: External (\_PR_.CPU0, DeviceObj)
Error 4056 - Name already exists in scope ^ (\_PR_.CPU0)


are there because the same external was specified in multiple tables, but should only be specified once. Simply delete the offending lines, leaving each external defined only once. A few cannot even be defined once, because they are defined elsewhere as code in the file (therefore they are not external).

13. You will get an error like this on the M1330, and I'm pretty sure the M1530 as well:

DSDT.dsl 5706: Name (_HID, "*pnp0c14")
Error 4001 - ^ String must be entirely alphanumeric (*pnp0c14)


I'm not sure why that asterisk is there, but simply remove the asterisk and it will compile fine.

14. You will get a number of warnings that look like this:

DSDT.dsl 5016: And (Local0, 0x0F)
Warning 1105 - ^ Result is not used, operator has no effect


Replace all of these with:

And (Local0, 0x0F, Local0)

15. Try to compile again, and if it compiles, great! But it's not ready to be used yet. If it doesn't compile, you probably messed up a step (note to anyone not using an M1330 or M1530: some bioses actually ship with acpi tables with errors!)

Step Three: Patching the DSDT


Required: DTGP Method
This method is required for the USB fix and the NVidia injection to work. If you use don't use these you don't need it.
Insert this method under the _WAK method.

CODE
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (One)
}


Required for Snow Leopard: Fix USB Devices Randomly Not Working - Added 2009/20/14
Reportedly, some are having issues with USB randomly not working on startup, but then trying again will bring the USB back. I haven't actually experienced this. Perhaps it is Snow Leopard specific? Jkbuha and FMulder have come up with this fix (thanks!):
EDIT 2009/10/22 -> I've now updated to Snow Leopard, and sure enough this is REQUIRED for proper USB function.
Remove the following two lines from the Device (TMR) section:
CODE
IRQNoFlags ()
{2}



Optional: USB Drive Sleep Fix
Reportedly this fix will allow M1530s to sleep and wake up without causing USB drives to disconnect, but it does not work on my M1330 sad.gif
Find the EHC2 and EHCI sections and insert this method before the _PWR method in both sections:
CODE
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0B)
{
"AAPL,clock-id",
Buffer (One)
{
0x01
},

"device_type",
Buffer (0x05)
{
"EHCI"
},

"AAPL,current-available",
0x04B0,
"AAPL,current-extra",
0x02BC,
"AAPL,current-in-sleep",
0x03E8,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}


Optional: NVidia Injection (also required for clamshell and sleep):
Insert this code under the Device (VID) section within the Device (AGP) section (not in the independent (VID) section) under Name (_ADR, 0x00) and above the _DOS section. The "8400M GS" is the card found within the M1330. M1530 users will want to replace this with "8600M GT". If you do not use this patch and you have a NVidia card you can use an injector instead.

CODE
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x18)
{
"@0,built-in",
Buffer (One)
{
0x01
},

"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},

"@0,device_type",
Buffer (0x08)
{
"display"
},

"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},

"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},

"@1,device_type",
Buffer (0x08)
{
"display"
},

"@0,display-cfg",
Buffer (0x04)
{
0x03, 0x01, 0x00, 0x00
},

"@1,display-cfg",
Buffer (0x04)
{
0xFF, 0xFF, 0x00, 0x01
},

"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},

"NVCAP",
Buffer (0x18)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
/* 0008 */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},

"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},

"model",
Buffer (0x18)
{
"NVIDIA GeForce 8400M GS"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}


Optional: HD Audio Patching
This patch allows the sound card to be detected as an HDEF audio card rather than an Azilla Audio card. Replace the Device (AZAL) section with this:
CODE
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"codec-id",
Buffer (0x04)
{
0x16, 0x76, 0x84, 0x83
},

"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}


You will also have to change any references to AZAL to HDEF. In my experience, this does nothing useful, although from what I understand real Macs have this HDEF section. With either the AZAL or HDEF section, a patched AppleHDA.kext can be used without HDAEnabler.kext (Leopard only solution at this time I believe), or alternatively VoodooHDA can be used. If you use this patch and VoodooHDA.kext, AppleHDA.kext must be removed otherwise it will conflict. It seems that you need this patch for working sleep if you do not include the SSDT tables (2009/11/17). Perhaps someday this section can be improved to allow vanilla audio...

Optional: Adding SBUS Device (Added 2009/10/22)

jkbuha came up with this fix using a guide made by Master Chief (thank you). This allows the detection of the SBUS device, and it can be confirmed as detected using IORegistry Explorer by searching for SBUS. This device is required to get C-states working, however we still do not have working C-states even with this patch.

Add this under the first curly brace under Scope (\_SB):
CODE
Method (DBEN, 0, NotSerialized)
{
}


And this under the DTGP method we added:
CODE

OperationRegion (GPIO, SystemIO, 0x0500, 0x3C)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GU00, 8,
GU01, 8,
GU02, 8,
GU03, 8,
GIO0, 8,
GIO1, 8,
GIO2, 8,
GIO3, 8,
Offset (0x0C),
GL00, 8,
GL01, 8,
GL02, 8,
GL03, 8,
Offset (0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset (0x2C),
GIV0, 8,
GIV1, 7,
GI15, 1,
GIV2, 8,
GIV3, 8,
GU04, 8,
GU05, 8,
GU06, 8,
GU07, 8,
GIO4, 8,
GIO5, 8,
GIO6, 8,
GIO7, 8,
GL04, 8,
GL05, 8,
GL06, 8,
GL07, 8
}

OperationRegion (BSKU, SystemMemory, 0xFFBC0100, 0x01)
Field (BSKU, ByteAcc, NoLock, Preserve)
{
, 1,
BPHP, 3,
Offset (0x01)
}

OperationRegion (GPE0, SystemIO, 0x042C, 0x04)
Field (GPE0, ByteAcc, NoLock, Preserve)
{
, 1,
GPEH, 1,
, 7,
PEEN, 1,
, 1,
PMEE, 1,
Offset (0x03),
PCIX, 1,
Offset (0x04)
}


And finally this above the section Device (ISAB):
CODE
Device (SBUS)
{
Name (_ADR, 0x001F0003)

// pci8086,283e -> pci8086,3a30
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"name",
"pci8086,3a30",

"device-id",
Buffer (0x04)
{
0x30, 0x3a, 0x00, 0x00
} /* ,

"subsystem-id",
Buffer (0x04)
{
0x70, 0x72, 0x00, 0x00
},

"subsystem-vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00
} */
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
, 2,
I2CE, 1
}

OperationRegion (SMBE, PCI_Config, 0x04, 0x02)
Field (SMBE, AnyAcc, NoLock, Preserve)
{
IOSE, 1
}

OperationRegion (SMBI, SystemIO, 0x4000, 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
HCON, 8,
HCOM, 8,
TXSA, 8,
DAT0, 8,
DAT1, 8,
HBDR, 8,
PECR, 8,
RXSA, 8,
SDAT, 16
}

Name (SBOK, 0x00)
Method (ENAB, 0, NotSerialized)
{
Store (0x01, IOSE)
Store (One, SBOK)
}

Method (DISB, 0, NotSerialized)
{
Store (Zero, SBOK)
}

Method (SSXB, 2, Serialized)
{
If (STRT ())
{
Return (0x00)
}

Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}

Return (0x00)
}

Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}

Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (0x44, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}

Return (0xFFFF)
}

Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (0x00)
}

Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (Arg2, DAT0)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}

Return (0x00)
}

Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}

Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}

Return (0xFFFF)
}

Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (0x00)
}

Store (Arg3, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (SizeOf (Arg2), DAT0)
Store (0x00, Local1)
Store (DerefOf (Index (Arg2, 0x00)), HBDR)
Store (0x54, HCON)
While (LGreater (SizeOf (Arg2), Local1))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}

If (LNot (Local0))
{
KILL ()
Return (0x00)
}

Store (0x80, HSTS)
Increment (Local1)
If (LGreater (SizeOf (Arg2), Local1))
{
Store (DerefOf (Index (Arg2, Local1)), HBDR)
}
}

If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}

Return (0x00)
}

Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100) {})
If (STRT ())
{
Return (0x00)
}

Store (Arg2, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x54, HCON)
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}

If (LNot (Local0))
{
KILL ()
Return (0x00)
}

Store (DAT0, Index (TBUF, 0x00))
Store (0x80, HSTS)
Store (0x01, Local1)
While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}

If (LNot (Local0))
{
KILL ()
Return (0x00)
}

Store (HBDR, Index (TBUF, Local1))
Store (0x80, HSTS)
Increment (Local1)
}

If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (TBUF)
}

Return (0x00)
}

Method (STRT, 0, Serialized)
{
Store (0xC8, Local0)
While (Local0)
{
If (And (HSTS, 0x40))
{
Decrement (Local0)
Sleep (0x01)
If (LEqual (Local0, 0x00))
{
Return (0x01)
}
}
Else
{
Store (0x00, Local0)
}
}

Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x01))
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
Else
{
Return (0x00)
}
}

Return (0x01)
}

Method (COMP, 0, Serialized)
{
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x02))
{
Return (0x01)
}
Else
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
}

Return (0x00)
}

Method (KILL, 0, Serialized)
{
Or (HCON, 0x02, HCON)
Or (HSTS, 0xFF, HSTS)
}

Device (BUS0)
{
Name (_CID, "smbus")
Name (_ADR, 0x00)
Device (MKY0)
{
Name (_ADR, 0x00)
Name (_CID, "mikey")
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x07)
{
"refnum",
0x00,
"address",
0x39,
"device-id",
0x0CCB,
Buffer (0x01)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

Method (H1EN, 1, Serialized)
{
If (LLessEqual (Arg0, 0x01))
{
If (LEqual (Arg0, 0x01))
{
Or (GL04, 0x04, GL04)
}
Else
{
And (GL04, 0xFB, GL04)
}
}
}

Method (H1IL, 0, Serialized)
{
ShiftRight (And (GL00, 0x02), 0x01, Local0)
Return (Local0)
}

Method (H1IP, 1, Serialized)
{
Store (Arg0, Local0)
}

Name (H1IN, 0x11)
Scope (\_GPE)
{
Method (_L11, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x80)
}
}

Method (P1IL, 0, Serialized)
{
ShiftRight (And (GL00, 0x40), 0x06, Local0)
Return (Local0)
}

Method (P1IP, 1, Serialized)
{
If (LLessEqual (Arg0, 0x01))
{
Not (Arg0, Arg0)
And (GIV1, 0x0B, Local0)
ShiftLeft (Arg0, 0x02, Local1)
Or (Local1, Local0, GIV1)
}
}

Name (P1IN, 0x16)
Scope (\_GPE)
{
Method (_L16, 0, NotSerialized)
{
XOr (GIV1, 0x04, GIV1)
Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x81)
}
}
}

Device (DVL0)
{
Name (_ADR, 0x57)
Name (_CID, "diagsvault")
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x03)
{
"address",
0x57,
Buffer (0x01)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
}


Optional: IDE Fix (added 2009/11/17)
This fix allows you to use Snow Leopard with the vanilla IOATAFamily.kext (Thank you The King).

Under the both the Device (IDE1) and Device (IDE2) sections under the first Name line the add:
CODE
OperationRegion (IDET, PCI_Config, 0x40, 0x04) // IDE Timing Register
Field (IDET, WordAcc, NoLock, Preserve)
{
Offset (0x00),
M1, 8,
Offset (0x01),
M2, 8,
Offset (0x02),
M3, 8,
Offset (0x03),
M4, 8
}

Method (_DSM, 4, NotSerialized)
{
Store (0x07, M1)
Store (0xE3, M2)
Store (Zero, M3)
Store (0xC0, M4)
Return (Zero)
}


Required: Using DSDT Patcher to do Final Patches:
In the DSDT Patcher directory run the following command:
CODE
./DSDT\ Patcher -newHPET myDSDT.dsl


WARNING! If you name your dsl file DSDT.dsl, copy it to the folder, and run this command it will be DELETED!
This will make a few more patches and compile it to DSDT.aml in the patcher folder. Read the output to ensure that there is no errors and that it reads New HPET written. This is the final product! If it works, congratulations!

Step Four: Testing and Using the DSDT
I use Chamelleon RC2 so that's what I will give instructions for (no reason to upgrade to RC3 yet because I'm still using Leopard). Chamelleon installs an /Extra folder that contains the configuration information and can also contain your finished DSDT.aml. I don't recommend installing it there yet however because it might not work!

To prepare your machine to test/use the DSDT.aml

1. Edit the file /Extra/com.apple.Boot.plist. I use "sudo nano /Extra/com.apple.Boot.plist"

2. Under the key "Kernel Flags", add the flag "DropSSDT=Y" (flags are space separated if you already have another flag).
EDIT 2009/10/22 -> I ran into an interesting problem here. I installed 10.6 Snow Leopard on a second partition leaving 10.5 intact on it's partition, and Snow Leopard was looking at the com.apple.Boot.plist on the 10.5 partition! This appears to be a Chameleon bug.

3. Copy the attached smbios.plist file to the /Extra folder and edit it to match your hardware. Set SMmaximalclock to your processor speed in MHz, your SMexternalclock to your bus speed, and SMSerial to something unique but with the same number of characters. If you do not know the bus speed you can use the utility CPU-X to look it up.

4. If you use SMBIOSResolver.kext or something similar remove it. The smbios.plist takes the role of it.

5. Copy your DSDT.aml to the /Extra folder, and rename it to something different such as "DSDT_Test.aml" This is so that it does not load by default, so if it doesn't work, it's not that big a deal.

6. Correct all the permissions in the /Extra folder with the following commands:
CODE
sudo chmod -R 755 /Extra
sudo chown root:wheel /Extra


7. If you use IntelCPUPMDisabler.kext (or NullCPUPowerManagement.kext), VoodooPower.kext, VoodooUSBEHCI.kext, and/or SleepEnabler.kext remove them. Also remove the patch necessary to make VoodooUSBEHCI.kext work. You can also remove HDAEnabler.kext if you have it, and if you did the NVidia patch you should remove your injector. Clear the kext cache if you removed any kexts. Repair permissions. Kext Utility comes in really helpful here.

8. Reboot

9. When the boot loader comes up, arrow over to the OS-X partition, and type:
CODE
DSDT=/Extra/[testdsdt.aml]


10. Press [ENTER] and cross your fingers!

11. If you are happy with the results, rename your test DSDT file to DSDT.aml in the /Extra folder, and it will load by default from now on.

Kexts I use for Snow Leopard (added 2009/11/17)
fakesmc.kext
VoodooTSCSync.kext
VoodooBattery.kext
(these first three from Superhai's boot CD)
IOATAFamily.kext (if you do not apply the IDE fix, also on Superhai's boot CD)
AppleACPIPS2Nub.kext and VoodooPS2Controller.kext (these two from here: http://www.insanelymac.com/forum/index.php?showtopic=175372), or alternatively you can use the two PS2 kexts included on Superhai's boot CD)
VoodooSDHC.kext (From VoodooProjects)
VoodooHDA.kext (from here: http://www.projectosx.com/forum/index.php?...c=355&st=0)

Kexts that must be removed if you have them:
IntelCPUPMDisabler.kext
NullCPUPowerManagement.kext
SleepEnabler.kext
SMBIOSResolver.kext
AppleHDA
(if you use the HDEF sound patch)

Hints
1. There is a great tool called MSR Tools that can be used to verify that your vanilla speed step is working.
EDIT 2009/10/22 -> MSR Tools does not work under Snow Leopard! Instead you can use CoolBook (thanks FMulder).
2. To see what other people of done, decompile other people's DSDT.aml files by using the same iasl command you used to decompile the dumped tables.
3. If you haven't tried Kext Utility, it's great. Just make whatever changes you want to your kexts (add/delete to/from your /Extra/Extensions or /System/Library/Extensions folders) and run the utility and it will take care of fixing permisions and updating your caches. (Added 2009/10/22)

Files
Click to view attachment - DSDT.aml for an M1330 with NVidia graphics and a T8300 (2.4GHz) CPU ONLY with USB fix, USB sleep fix, and audio fix. (2009/10/14).
Click to view attachment - Above DSDT with SBUS added (2009/10/22)
Click to view attachment - DSDT for M1330 with any CPU and NVidia graphics with all fixes listed in this guide (2009/11/17)
Click to view attachment - DSDT for M1530 with any CPU and NVidia graphics with all fixes listed in this guide by Brett Whinnen. Details Here. (2009/11/17)
*You must use the DropSSDT=y boot flag if you use a DSDT meant for a specific CPU, and you must NOT use it if you use a DSDT meant for any CPU.

Click to view attachment - smbios.plist. Edit for your machine.
jkbuha
Great guide immo!

I'm now running native speedstep (with an undervolted T8300)! I've attached my DSDT for anyone who's interested in running their T8300 @ 2.4GHz on 0.975V (WARNING: this may not work for everyone!!!)

Questions:

1) I still cannot get C-states to work even using your posted dsdt file. Using MacBookPo5,1 in smbios.plist the kernel spits out an "ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized" error, and changing it to MacBookPro4,1 produces an "incorrect p-states" error. Any ideas?

2) How do you enable SLFM to work in a T8300? IMO The p-state tables just drop the cpu down to a 600Mhz clock with the same voltage - am I missing something here?

Cheers
jkbuha
immo
Thanks for your DSDT! Unfortunately I haven't attempted to get the C-states working yet. Here's a guide for getting it to work, but I haven't tried it. It involves borrowing C-states from a real mac.

http://www.insanelymac.com/forum/index.php?showtopic=181631

About the P-States, apparently you can add more to the _PSS section (and it looks like SPSS contains a clone of the data). What I know is that the first number beside Package (0x06 on mine, 0x05 on yours) is the number of P-states, and the first value in each P-state is the frequency. I never tried changing these values. Actually mine does not drop lower than 800MHz. Is this where you under-volted yours? Looking at yours, you only have 5 p-states, and the lowest speed is 1000MHz, which confuses me because you say you're getting as low as 600. Did you edit these or do you have an older bios? I'm running A15. Here's a link with more details on what the values mean:
http://www.ztex.de/misc/c2ctl.e.html#c1

Another thing that may be useful is checking out the tables that I do not talk about in the guide. Perhaps there's something useful in them?

Immo


QUOTE (jkbuha @ Oct 12 2009, 07:33 PM) *
Great guide immo!

I'm now running native speedstep (with an undervolted T8300)! I've attached my DSDT for anyone who's interested in running their T8300 @ 2.4GHz on 0.975V (WARNING: this may not work for everyone!!!)

Questions:

1) I still cannot get C-states to work even using your posted dsdt file. Using MacBookPo5,1 in smbios.plist the kernel spits out an "ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized" error, and changing it to MacBookPro4,1 produces an "incorrect p-states" error. Any ideas?

2) How do you enable SLFM to work in a T8300? IMO The p-state tables just drop the cpu down to a 600Mhz clock with the same voltage - am I missing something here?

Cheers
jkbuha

FMulder
Hi Immo,

thank you for your great job!! smile.gif

I have followed your guide and everything was perfect, except one thing: I didn't get my USB to work... they worked random: one reboot I had them, one reboot I didn't have.
So I started to compare my previously working DSDT (where everything worked, except battery monitor) to the newly gene one, and I succeded getting one full working, but I have made a LOT of changes and I don't know which one are needed and which one aren't, and I don't know if I have messed something that I should not touch.

Can you give me an help and try to patch my generated DSDT so that USB starts working? Or, at least, try to give me an advice on where I should take a look...

So I attach you two dsdt:
- This one is my "vanilla" DSDT, the one generated following your guide
DSDT_vanilla.dsl.zip
- This other one is the "everything working" one, where I have made really a lot of unnecessary changes.
DSDT.USBworking.dsl.zip

Thank you!!!

[ SOLVED: scroll down to the next posts to find the solution ]
jkbuha
QUOTE (FMulder @ Oct 13 2009, 09:04 AM) *
Hi Immo,

thank you for your great job!! smile.gif

I have followed your guide and everything was perfect, except one thing: I didn't get my USB to work... they worked random: one reboot I had them, one reboot I didn't have.
So I started to compare my previously working DSDT (where everything worked, except battery monitor) to the newly gene one, and I succeded getting one full working, but I have made a LOT of changes and I don't know which one are needed and which one aren't, and I don't know if I have messed something that I should not touch.

Can you give me an help and try to patch my generated DSDT so that USB starts working? Or, at least, try to give me an advice on where I should take a look...

So I attach you two dsdt:
- This one is my "vanilla" DSDT, the one generated following your guide
Click to view attachment
- This other one is the "everything working" one, where I have made really a lot of unnecessary changes.
Click to view attachment

Thank you!!!

For everyone who wants to try my DSDT, my hardware is the one in the signature. The DSDT is fully working, speedstep included.


Hi both,

I've fixed the USB problems in my DSDT (it had to do with assigning the IRQs in declaring HPET, PIC and TMR - have a look at my DSDT source).

For those of you who are interested in undervolting, have a look at my _PSS tables:

Name (_PSS, Package (0x06)
{
Package (0x06) { 2401, 32000, 10, 10, 0x0D15, 0x0D15 },
Package (0x06) { 2400, 31000, 10, 10, 0x0C15, 0x0C15 },
Package (0x06) { 2000, 25000, 10, 10, 0x0A15, 0x0A15 },
Package (0x06) { 1600, 19000, 10, 10, 0x0815, 0x0815 },
Package (0x06) { 1000, 13000, 10, 10, 0x8A09, 0x8A09 },
Package (0x06) { 600, 9000, 10, 10, 0x8609, 0x8609 }
})

The clue lies in the final two pairs of FID and VID numbers for each state:

for instance: 0x0C15 means FID 12 (=0C hex = 2400MHz) and VID 21 (=15 hex = 0.975V)

The lowest voltage my T8300 runs at (so far) is 0.90V at 1000, 800, 600 MHz (so in practice it doesn't matter whether I run it at 1000MHz or 600MHz - it will consume the same amount of juice).

What I still have to figure out is:

1) How do I get the processor to run in IDA and SLFM modes? Is this just a _PSS configuration?
2) Is there any way to get the T8300 to run below 0.9V (ie: VID=0x09?)
3) Any change of getting C-states to work for the T8300?

Cheers
jkbuha
FMulder
QUOTE (jkbuha @ Oct 13 2009, 10:57 AM) *
I've fixed the USB problems in my DSDT (it had to do with assigning the IRQs in declaring HPET, PIC and TMR - have a look at my DSDT source).


Thank you so much jkbuha, it worked!!

RANDOM WORKING USB FIX

in Device (TMR) section I REMOVED:
CODE
            IRQNoFlags ()
                {2}


I had to remove that just from TMR, but there are chances you have to remove something similar also in HPET or PIC sections... just try!

I attach here my final DSDT, so everyone can use it.

Configuration:
- XPS 1330
- T7250 (2.0 ghz)
- Nvidia 8400GS
- Audio Sigmatel STAC9228

What works:
- USB
- Battery
- Speedstep
- Sleep
- Audio (only from jacks and not from speakers, but I don't think it's dsdt related)

What doesn't work:
- C-States
- Shutdown/restart

What isn't perfect:
- Audio problems waking up from the sleep
- USB problem waking up from the sleep, I have to unplug and plug again devices like USB to Ethernet adapter.

[EDIT: I changed a little the DSDT, previously I changed more than needed]

Click to view attachment
jkbuha
QUOTE (FMulder @ Oct 13 2009, 10:52 AM) *
I have made two changes, are both necessary or just one?


From my (limited) understanding of the interrupt handling, it should just be removal of the IRQ declarations that should do the trick - it essentially has to do with the timing of the IRQ assignments on bootup, so depending on the boot order timing the USB ports get a correct IRQ or not - removing the declaration simply leaves it up to the kernel to parse it.

Glad you found it useful!

Cheers
jkbuha
FMulder
QUOTE (jkbuha @ Oct 13 2009, 12:30 PM) *
From my (limited) understanding of the interrupt handling, it should just be removal of the IRQ declarations that should do the trick - it essentially has to do with the timing of the IRQ assignments on bootup, so depending on the boot order timing the USB ports get a correct IRQ or not - removing the declaration simply leaves it up to the kernel to parse it.


Now I had the time to try and yes, it was just the IRQ declaration wink.gif thank you again!

listen, does your audio work? I have a problem with my STAC9228.. I use VoodooHDA, it works fine except that I can't hear anything from speakers, but just from headphones... both mics are also perfectly working...


@immo: maybe you could add the fix I posted to the main post...
jkbuha
QUOTE (FMulder @ Oct 13 2009, 04:21 PM) *
<br />Now I had the time to try and yes, it was just the IRQ declaration <img src="style_emoticons/default/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" /> thank you again! <br /><br />listen, does your audio work? I have a problem with my STAC9228.. I use VoodooHDA, it works fine except that I can't hear anything from speakers, but just from headphones... both mics are also perfectly working...<br /><br /><br />@immo: maybe you could add the fix I posted to the main post...<br />


There's a modified VoodooHDA on the project osx website which allows for mics and speakers working - mine both work fine though I had to adjust the volume settings in the HDA prefpane. Otherwise they work fine (albeit a tad low volume for mic and speakers). Let me know if you'd like the link...

Now - anyone care to explain C-states and how I can enable them in my T8300 wink.gif

Cheers
jkbuha
FMulder
QUOTE (jkbuha @ Oct 13 2009, 05:50 PM) *
There's a modified VoodooHDA on the project osx website which allows for mics and speakers working - mine both work fine though I had to adjust the volume settings in the HDA prefpane. Otherwise they work fine (albeit a tad low volume for mic and speakers). Let me know if you'd like the link...

Now - anyone care to explain C-states and how I can enable them in my T8300 wink.gif


If you mean this one http://www.projectosx.com/forum/index.php?...;st=0#entry1165 I've already tried with both version posted... and nothing to do sad.gif

About C-States, i'm trying to figure out how to make them work too.. I think we should get the CST table of a MacBookPro5,1 (the one specified in the smbios.plist) and use that or use that as a model...
jkbuha
QUOTE (FMulder @ Oct 13 2009, 07:37 PM) *
If you mean this one http://www.projectosx.com/forum/index.php?...;st=0#entry1165 I've already tried with both version posted... and nothing to do sad.gif

About C-States, i'm trying to figure out how to make them work too.. I think we should get the CST table of a MacBookPro5,1 (the one specified in the smbios.plist) and use that or use that as a model...


I notice that you've configured the 9228 also in your DSDT (I haven't and it works fine) - could you check with my DSDT instead (just swap out the _PSS and NPSS bits for your T7250 as it won't work) and use the VoodooHDA kexts from that forum to see if it works?

Agreed re: MacBookPro5,1 - though I vaguely recall that proper Mac hardware uses MacBookPro4,1 when referring to the T8300. Not sure about the T7250 though, but it's definitely a start...

Cheers
jkbuha
FMulder
QUOTE (jkbuha @ Oct 13 2009, 09:05 PM) *
I notice that you've configured the 9228 also in your DSDT (I haven't and it works fine) - could you check with my DSDT instead (just swap out the _PSS and NPSS bits for your T7250 as it won't work) and use the VoodooHDA kexts from that forum to see if it works?

Agreed re: MacBookPro5,1 - though I vaguely recall that proper Mac hardware uses MacBookPro4,1 when referring to the T8300. Not sure about the T7250 though, but it's definitely a start...


Sorry but.. where? I followed immo's howto so I changed AZAL with HDEF and nothing more... and my HDEF section is the same as your smile.gif

I'm thinking about 5,1 because with 4,1 I couldn't even get speedstep (it gave me an error regarding the P-States during boot, similar to C-states one), so I thought that 5,1 is more similar to our systems.. anyway it's just an idea...

I found DSDT dump from various macbook models here
jkbuha
Ah ok - thought you had injected specific 9228 commands in your DSDT - my bad smile.gif

One quick question - does sleep/wake work on your machine? I implemented the same _WAK and NWAK methods but the laptop attempts to go to sleep and comes back to life after one second! Do you have any sleepenabler or openhaltrestart kexts etc?

Cheers
jkbuha
FMulder
QUOTE (jkbuha @ Oct 13 2009, 09:56 PM) *
Ah ok - thought you had injected specific 9228 commands in your DSDT - my bad smile.gif

One quick question - does sleep/wake work on your machine? I implemented the same _WAK and NWAK methods but the laptop attempts to go to sleep and comes back to life after one second! Do you have any sleepenabler or openhaltrestart kexts etc?

Cheers
jkbuha


I don't have SleepEnabler, OpenHaltRestart or other similar kext, and sleep works fine.. anyway, before this last DSDT revision, I had the same problem! Try to use my DSDT with your SPSS/PSS tables to figure out if it works... the only problem waking up is VoodooHDA that plays strange sounds, but I think it's a VoodooHDA problem smile.gif

I'm giving a quick look at SSDT dumps of CST and they are quite different... in Apple one there is a ACST method that is not present! I'm going to try to copy apple sections to my dsdt... btw, do you know how could I see if C-states are loaded correctly? Surely I will not see the error at boot, but are there other methods?

Oh, another thing... I had problems loading custom DSDT from chameleon command line... if I put, for example, DSDT=/testingDSDT.aml it didn't work.. I don't know what loaded, maybe default settings (but not /DSDT.aml or /Extra one).. maybe I must specify the device name instead of just / ...
I understood this since I always got the same kernel panic when I tried another DSDT... and renaming the testing DSDT to the default name (so without any need for DSDT=...) it worked.
jkbuha
QUOTE (FMulder @ Oct 13 2009, 09:15 PM) *
I don't have SleepEnabler, OpenHaltRestart or other similar kext, and sleep works fine.. anyway, before this last DSDT revision, I had the same problem! Try to use my DSDT with your SPSS/PSS tables to figure out if it works... the only problem waking up is VoodooHDA that plays strange sounds, but I think it's a VoodooHDA problem smile.gif


Yep works like a treat with your DSDT - swapped out my PSS tables and am using your dsl atm.

QUOTE (FMulder @ Oct 13 2009, 09:15 PM) *
I'm giving a quick look at SSDT dumps of CST and they are quite different... in Apple one there is a ACST method that is not present! I'm going to try to copy apple sections to my dsdt... btw, do you know how could I see if C-states are loaded correctly? Surely I will not see the error at boot, but are there other methods?


Mine don't load for sure - have a look in IORegistryExplorer and search for CSTinfo - if they load then you should find an entry somewhere (mine don't!)
FMulder
QUOTE (jkbuha @ Oct 13 2009, 11:33 PM) *
Yep works like a treat with your DSDT - swapped out my PSS tables and am using your dsl atm.

Mine don't load for sure - have a look in IORegistryExplorer and search for CSTinfo - if they load then you should find an entry somewhere (mine don't!)


I found an issue regarding sleep and USB... when the system wake up USB devices don't work, I have to unplug and replug them... this is a problem if you use internal fingerprint scanner (it's usb connected) because when you try to do something that needs authorization, a window pop up asking you for the fingerprint or for a password... fingerprint doesn't work, but the problem is that also if you put the password the authorization window freezes... moreover it should involve also bluetooth device and sdhc adapter (also if I haven't found a way to make it work)
immo
QUOTE (FMulder @ Oct 13 2009, 10:55 PM) *
I found an issue regarding sleep and USB... when the system wake up USB devices don't work, I have to unplug and replug them... this is a problem if you use internal fingerprint scanner (it's usb connected) because when you try to do something that needs authorization, a window pop up asking you for the fingerprint or for a password... fingerprint doesn't work, but the problem is that also if you put the password the authorization window freezes... moreover it should involve also bluetooth device and sdhc adapter (also if I haven't found a way to make it work)

Interestingly enough I got this problem with USB ethernet when I tried testing a DSDT.aml with the DSDT=[file] boot flag, but it works fine normally... I'm not sure if the DropSSDT boot flag stays active when you specify the DSDT= flag at boot. I've tried putting in DropSSDT=y with the DSDT=[file] flag at boot instead of in the boot flags and it gave unstable behaviour (would freeze up for a few seconds then resume). Certainly there's something querky about the DSDT flag...
kahuna0k
Great, using the info in this thread I have now an almost vanilla Snow Leopard on a Dell Precision M4300. I have undervolted the processor and I'm waiting for C-States. Everything but restart/shutdown and broadcom ethernet is working. To make the Quadro FX360M works I need to change the "NVCAP" and add a "reg" entry to the GFX0 device. The info was get using an injector (NVenabler) and looking at IORegistrExplorer.

I am also having similar problems using the DSDT parameter to chameleon RC3, until this is fixed testing new DSDT is really painfull. Once it is solved we could try to get the C-States from the posted real macbook dsdt.

I have attched my patched DSDT (undervolting T9300). You could change the title of the post and add the Del Precision M4300, I suppose that for the Latitude D830 and D630 it should work the same way.
overshoot
QUOTE (FMulder @ Oct 13 2009, 08:15 PM) *
I don't have SleepEnabler, OpenHaltRestart or other similar kext, and sleep works fine.. anyway, before this last DSDT revision, I had the same problem! Try to use my DSDT with your SPSS/PSS tables to figure out if it works... the only problem waking up is VoodooHDA that plays strange sounds, but I think it's a VoodooHDA problem smile.gif


Sure it is.

It's a known bug of VoodooHDA.
You need to unload then reload the kext at wake up.
For now, you can use sleepwatcher to do that but Slice is working on this so a bug fix will certainly be released soon.

Last, thanks guys for making research on how to tweak our DSDT.

I'm looking at this post with much enthusiasm...

Good luck all.

Josh.
jkbuha
Thanks to everyone for all the support and helpful hints/tips!

I've uploaded my latest version of the DSL file for the M1330 (T8300 undervolted but just add your own _PSS values for flavour/flavor). This version also includes SMBusPCI functionality derived from lspci.txt as per immo/FMulder's excellent tips - to verify if correctly loaded search in IORegistry for SMBus and a key with SBus@xx,x (mine is 1f,3) should appear.

The SBUS code was adapted from Master Chief's excellent P5K PRO DSDT guide here

Worth a look for any aspiring dsl gurus.
Let's try and encourage that mindset into evolving our Dell DSDT's similarly!

Cheers
jkbuha
jeepguy_1980
I am unable to create the .aml tables that contain any useful information, through Ubuntu.

The following is a copy of my terminal session. Do you see anything that I may have done wrong? I just get the following error:

acpi_os_map_memory: cannot open /dev/mem



CODE
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

ubuntu@ubuntu:~$ sudo nano /etc/apt/sources.list
ubuntu@ubuntu:~$ sudo apt-get update
Ign cdrom://Ubuntu 9.04 _Jaunty Jackalope_ - Release amd64 (20090420.1) jaunty/main Translation-en_US
Ign cdrom://Ubuntu 9.04 _Jaunty Jackalope_ - Release amd64 (20090420.1) jaunty/restricted Translation-en_US
Get:1 http://security.ubuntu.com jaunty-security Release.gpg [189B]
Ign http://security.ubuntu.com jaunty-security/main Translation-en_US
Get:2 http://archive.ubuntu.com jaunty Release.gpg [189B]
Ign http://archive.ubuntu.com jaunty/main Translation-en_US
Ign http://security.ubuntu.com jaunty-security/restricted Translation-en_US
Ign http://security.ubuntu.com jaunty-security/universe Translation-en_US
Get:3 http://security.ubuntu.com jaunty-security Release [57.9kB]
Ign http://archive.ubuntu.com jaunty/restricted Translation-en_US
Ign http://archive.ubuntu.com jaunty/universe Translation-en_US
Get:4 http://archive.ubuntu.com jaunty-updates Release.gpg [189B]
Ign http://archive.ubuntu.com jaunty-updates/main Translation-en_US
Ign http://archive.ubuntu.com jaunty-updates/restricted Translation-en_US
Ign http://archive.ubuntu.com jaunty-updates/universe Translation-en_US
Get:5 http://archive.ubuntu.com jaunty Release [74.6kB]
Get:6 http://archive.ubuntu.com jaunty-updates Release [57.9kB]
Get:7 http://security.ubuntu.com jaunty-security/main Packages [116kB]
Get:8 http://archive.ubuntu.com jaunty/main Packages [1251kB]
Get:9 http://security.ubuntu.com jaunty-security/restricted Packages [2594B]
Get:10 http://security.ubuntu.com jaunty-security/main Sources [30.3kB]
Get:11 http://security.ubuntu.com jaunty-security/restricted Sources [623B]
Get:12 http://security.ubuntu.com jaunty-security/universe Packages [53.6kB]
Get:13 http://security.ubuntu.com jaunty-security/universe Sources [12.6kB]
Get:14 http://archive.ubuntu.com jaunty/restricted Packages [8858B]
Get:15 http://archive.ubuntu.com jaunty/main Sources [555kB]
Get:16 http://archive.ubuntu.com jaunty/restricted Sources [3156B]
Get:17 http://archive.ubuntu.com jaunty/universe Packages [4732kB]
Get:18 http://archive.ubuntu.com jaunty/universe Sources [2375kB]
Get:19 http://archive.ubuntu.com jaunty-updates/main Packages [193kB]
Get:20 http://archive.ubuntu.com jaunty-updates/restricted Packages [2594B]
Get:21 http://archive.ubuntu.com jaunty-updates/main Sources [54.8kB]
Get:22 http://archive.ubuntu.com jaunty-updates/restricted Sources [623B]
Get:23 http://archive.ubuntu.com jaunty-updates/universe Packages [74.4kB]
Get:24 http://archive.ubuntu.com jaunty-updates/universe Sources [21.2kB]
Fetched 9678kB in 2min 7s (76.0kB/s)
Reading package lists... Done
ubuntu@ubuntu:~$ sudo apt-get install acpidump
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
acpidump
0 upgraded, 1 newly installed, 0 to remove and 253 not upgraded.
Need to get 16.5kB of archives.
After this operation, 94.2kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com jaunty/universe acpidump 20071116-1 [16.5kB]
Fetched 16.5kB in 0s (19.2kB/s)
Selecting previously deselected package acpidump.
(Reading database ... 103503 files and directories currently installed.)
Unpacking acpidump (from .../acpidump_20071116-1_amd64.deb) ...
Processing triggers for man-db ...
Setting up acpidump (20071116-1) ...
ubuntu@ubuntu:~$ mkdir ACPI && dmesg | perl -we '$n=0; while (<>) { if (($t,$a,$l,$o) = (/^[^a-zA-Z]*ACPI: ([-._A-Z0-9]{4,4}) +([0-9A-F]{8,8}), ([0-9A-F]{4,4})+(?:\s*\(([^)]+))?/)) { $o && $o=~s/[^-._a-zA-Z0-9]+/-/g; ($cmd="acpidump -a $a -l $l > \"ACPI/${t}".($o?"_$o":"").".aml\""); print "Running command: \"$cmd\"\n"; system($cmd); ++$n; } } die("No match") unless $n;' && zip -r ACPI-Tables.zip ACPI
Running command: "acpidump -a 000FBC00 -l 0024 > "ACPI/RSDP_r2-DELL-.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF66F200 -l 005C > "ACPI/XSDT_r1-DELL-M08-27D80B13-ASL-61.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF66F09C -l 00F4 > "ACPI/FACP_r4-DELL-M08-27D80B13-ASL-61.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF66F800 -l 5733 > "ACPI/DSDT_r2-INT430-SYSFexxx-1001-INTL-20050624.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF67E000 -l 0040 > "ACPI/FACS.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF66F300 -l 0038 > "ACPI/HPET_r1-DELL-M08-1-ASL-61.aml""
acpi_os_map_memory: cannot open /dev/mem
Running command: "acpidump -a DF66F400 -l 0068 > "ACPI/APIC_r1-DELL-M08-27D80B13-ASL-47.aml""
acpi_os_map_memory: cannot open /dev/mem
cyberbuddhah
Great job. I think we can, together, develop this thread into "SL for Dell XPS M1330 & M1530". There are many other threads on this, but some outdated and too long too convoluted to search for info. DSDT is the crucial part, then come video, sound, networking.
Chrysaor
QUOTE (jeepguy_1980 @ Oct 14 2009, 09:52 AM) *
I am unable to create the .aml tables that contain any useful information, through Ubuntu.

The following is a copy of my terminal session. Do you see anything that I may have done wrong? I just get the following error:

acpi_os_map_memory: cannot open /dev/mem

jeepguy_1980
QUOTE (Chrysaor @ Oct 14 2009, 10:37 AM) *


I'm not sure if that was meant to insult me or not, but it was helpful. After I Googled that picture and learned its meaning, I realized what I was doing wrong. Thanks.

I'm new to the OS X project and have very limited experience with Linux, so I apologize for my stupid question.
immo
QUOTE (Chrysaor @ Oct 14 2009, 03:37 PM) *
Sudo make me a sandwich

Well played Chrysaor!
immo
QUOTE (jkbuha @ Oct 14 2009, 11:28 AM) *
Thanks to everyone for all the support and helpful hints/tips!

I've uploaded my latest version of the DSL file for the M1330 (T8300 undervolted but just add your own _PSS values for flavour/flavor). This version also includes SMBusPCI functionality derived from lspci.txt as per immo/FMulder's excellent tips - to verify if correctly loaded search in IORegistry for SMBus and a key with SBus@xx,x (mine is 1f,3) should appear.

The SBUS code was adapted from Master Chief's excellent P5K PRO DSDT guide here

Worth a look for any aspiring dsl gurus.
Let's try and encourage that mindset into evolving our Dell DSDT's similarly!

Cheers
jkbuha


Hi Jkbuha. What is the effect of adding the SBUS code?

Thanks
Immo
jkbuha
QUOTE (immo @ Oct 15 2009, 05:20 PM) *
Hi Jkbuha. What is the effect of adding the SBUS code?

Thanks
Immo


In conjunction with LPC (Device (LPCB) in DSDT or modded AppleLPC kext to support your own LPC device from lspci.txt) this should provide proper C-state functionality. Once c-states are properly working, which is not my case unfortunately. I tend to be a stickler for proper device declaration smile.gif

On that note, any hints and tips about how to get C-states working properly for my T8300, with MacBookPro5,1 (or should I change this??)

Cheers
jkbuha
immo
QUOTE (jkbuha @ Oct 15 2009, 06:14 PM) *
In conjunction with LPC (Device (LPCB) in DSDT or modded AppleLPC kext to support your own LPC device from lspci.txt) this should provide proper C-state functionality. Once c-states are properly working, which is not my case unfortunately. I tend to be a stickler for proper device declaration smile.gif

On that note, any hints and tips about how to get C-states working properly for my T8300, with MacBookPro5,1 (or should I change this??)

Cheers
jkbuha


Sorry not working for me yet either.

P.S. I was thinking about the whole MacBookPro5,1 thing, and did some research, and it seems that our computers are closer to a MacBookPro3,1, as it has the same north and south bridge as the M1330 (PM965 and ICH8). My guess that the reason we get better functionality with MacBookPro5,1 is because there may be special case handling in OS-X for the MacBookPro3,1 and MacBookPro4,1 that goofs us up. OS-X is probably designed so that it will work with computers newer than it is familiar with using generic methods. This is purely a guess.
Edit: I'm beginning to doubt this theory because I really can't get speed stepping to work with anything but MacBookPro5,1. It looks more like the reverse is true and our computers need the MacBookPro5,1 special case handling.
jkbuha
QUOTE (immo @ Oct 15 2009, 09:47 PM) *
Edit: I'm beginning to doubt this theory because I really can't get speed stepping to work with anything but MacBookPro5,1. It looks more like the reverse is true and our computers need the MacBookPro5,1 special case handling.


From my own experimentation it appears that speedstep will only work natively with those cpus defined in PLimitDict=0 and StepDataDict=1 section in the ACPI_SMC_Plugin kext (MacPro4,1 is by default excluded, ergo no speedstep). More info here.

What I'd like to do (but cannot atm because I don't have a livecd) is to boot into Ubuntu live and see if the SSDT table locations change on runtime as detailed here. If this is true then we would need to do one or more of the following:

1. Change the final destination of the SSDT mapping for CPU0IST, CPU1IST etc
2. Change the mac designation from MacBookPro5,1 to MacPro4,1 in smbios.plist and insert the new designation under PLimitDict and StepDataDict. This worked partially for me (ie: no more cst errors) but the t8300 became very unresponsive once it loaded. At least some progress...
3. Add a kext in E/E to enable vanilla stepping if 2. works but speedstepping doesn't.

However it seems that at least one T8300 user out there has managed to implement this in some form: The King. I haven't tried to ping him/her yet but maybe we could get some advice?

Well that's my 0.02...!

Cheers
jkbuha
immo
QUOTE (jkbuha @ Oct 16 2009, 12:04 AM) *
From my own experimentation it appears that speedstep will only work natively with those cpus defined in PLimitDict=0 and StepDataDict=1 section in the ACPI_SMC_Plugin kext (MacPro4,1 is by default excluded, ergo no speedstep). More info here.

What I'd like to do (but cannot atm because I don't have a livecd) is to boot into Ubuntu live and see if the SSDT table locations change on runtime as detailed here. If this is true then we would need to do one or more of the following:

1. Change the final destination of the SSDT mapping for CPU0IST, CPU1IST etc
2. Change the mac designation from MacBookPro5,1 to MacPro4,1 in smbios.plist and insert the new designation under PLimitDict and StepDataDict. This worked partially for me (ie: no more cst errors) but the t8300 became very unresponsive once it loaded. At least some progress...
3. Add a kext in E/E to enable vanilla stepping if 2. works but speedstepping doesn't.

However it seems that at least one T8300 user out there has managed to implement this in some form: The King. I haven't tried to ping him/her yet but maybe we could get some advice?

Well that's my 0.02...!

Cheers
jkbuha



Would moving SSDT addresses even matter to us if we put our SSDT data in the DSDT.aml file and use the "DropSSDT=y" flag? From what I understand, you'd only see those addresses if you did your dump from OS-X, and from the linux dump you actually get the real content that is in the memory rather than the addresses. So by putting the real data dumped from linux into the DSDT.aml and ignoring the SSDT data in memory you work around the problem. At least that's the way I understand it.

Immo
jkbuha
QUOTE (immo @ Oct 16 2009, 02:14 AM) *
Would moving SSDT addresses even matter to us if we put our SSDT data in the DSDT.aml file and use the "DropSSDT=y" flag?


Ah now the DropSSDT flag explains itself smile.gif That said, I don't think the SSDT tables are the only factor - there's a lengthy _CST method after that which may or may not need to be changed as well depending on whether we're selecting MBP5,1 MP4,1 MP3,1 or otherwise. From the look of things the ACPI_SMC_Plugin may also need to be patched depending on which is chosen. At least that's my reading of the various posts. What do you think?

Cheers
jkbuha
immo
QUOTE (jkbuha @ Oct 16 2009, 09:57 AM) *
Ah now the DropSSDT flag explains itself smile.gif That said, I don't think the SSDT tables are the only factor - there's a lengthy _CST method after that which may or may not need to be changed as well depending on whether we're selecting MBP5,1 MP4,1 MP3,1 or otherwise. From the look of things the ACPI_SMC_Plugin may also need to be patched depending on which is chosen. At least that's my reading of the various posts. What do you think?

Cheers
jkbuha


Could very well be. BTW something else I read somewhere is IRQ conflicts can cause issues, and if I recall, our HPET and something else both are set to IRQ 2. I've read of someone fixing their issues by freeing up IRQ's 2 and 8 for the HPET. I'll look into it when I have more time.

Immo
smartmobili
QUOTE (immo @ Oct 16 2009, 02:25 PM) *
Could very well be. BTW something else I read somewhere is IRQ conflicts can cause issues, and if I recall, our HPET and something else both are set to IRQ 2. I've read of someone fixing their issues by freeing up IRQ's 2 and 8 for the HPET. I'll look into it when I have more time.

Immo


Hi,

I have dumped my acpi tables from a Dell XPSM1530 with the following characteristics :

Core2Duo T8300 2.4 GHz
3 GB DDR2
GForce 8600MGT (1680x1050)
120 GB SSD OCZ Vertex
Marvell Yukon 88E8040 + Wifi Intel 4965AGN

but I didn't manage to create a dsdt (actually I think I am not very good in copy/paste). So if someone would be interested to make a dsdt for people using my configuration it would help the community.
You can find my ACPI-tables.zip here
immo
QUOTE (smartmobili @ Oct 17 2009, 01:34 PM) *
Hi,

I have dumped my acpi tables from a Dell XPSM1530 with the following characteristics :

Core2Duo T8300 2.4 GHz
3 GB DDR2
GForce 8600MGT (1680x1050)
120 GB SSD OCZ Vertex
Marvell Yukon 88E8040 + Wifi Intel 4965AGN

but I didn't manage to create a dsdt (actually I think I am not very good in copy/paste). So if someone would be interested to make a dsdt for people using my configuration it would help the community.
You can find my ACPI-tables.zip here


Try this one by Chrysaor:
http://www.insanelymac.com/forum/index.php...t&p=1242766
smartmobili
QUOTE (immo @ Oct 17 2009, 10:09 PM) *


So I have modified superhai preboot cd (v0.4) by using Chrysaor DSDT and I managed to install SL but my resolution is in 1280x800 while it should be 1680x1050 ... However I changed resolution in plist file.
And it seems there is no 2D/3D acceleration because welcome animation at first boot is very slow.
How can I fix that ?
I have also noticed my cpu fan is getting crazy sometimes but maybe this is normal.

Does a DSDT specify display resolution ?
I suppose I need to create custom dsdt for my machine ...

UPDATE : I have started to merge dsdt and ssdt as described in tutorial. Result is here. (see myDSDT.dsl)
Now I am trying to make a diff between your versions and mine and at first glance it seems we don't use the same acpi decompiler because for instance instead of putting 0x00 or 0x01, version on this thread use String Zero and One. Of course it's not important but it make diff more complicated. So I have replaced string by their value (Zero->0x00 and One->0x01) and now I have some slight differences but I don't know what it means.
immo
Hi smartmobili.

I do not believe that the DSDT specifies the resolution at all. My guess is that you have not installed your DSDT.aml correctly. Double-check the last section of installing the DSDT, make sure that you've editted and installed the smbios.plist in the /Extra directory, and that the DSDT is called /Extra/DSDT.aml, and that you've set permissions of your /Extra folder. Also make sure that you've set up the boot flag "DropSSDT=y".

About the decompiler, it makes no difference. When you compile and decompile with iasl you get those Zeros and Ones.
Immo

QUOTE (smartmobili @ Oct 18 2009, 03:29 PM) *
So I have modified superhai preboot cd (v0.4) by using Chrysaor DSDT and I managed to install SL but my resolution is in 1280x800 while it should be 1680x1050 ... However I changed resolution in plist file.
And it seems there is no 2D/3D acceleration because welcome animation at first boot is very slow.
How can I fix that ?
I have also noticed my cpu fan is getting crazy sometimes but maybe this is normal.

Does a DSDT specify display resolution ?
I suppose I need to create custom dsdt for my machine ...

UPDATE : I have started to merge dsdt and ssdt as described in tutorial. Result is here. (see myDSDT.dsl)
Now I am trying to make a diff between your versions and mine and at first glance it seems we don't use the same acpi decompiler because for instance instead of putting 0x00 or 0x01, version on this thread use String Zero and One. Of course it's not important but it make diff more complicated.

smartmobili
QUOTE (immo @ Oct 18 2009, 08:24 PM) *
Hi smartmobili.

I do not believe that the DSDT specifies the resolution at all. My guess is that you have not installed your DSDT.aml correctly. Double-check the last section of installing the DSDT, make sure that you've editted and installed the smbios.plist in the /Extra directory, and that the DSDT is called /Extra/DSDT.aml, and that you've set permissions of your /Extra folder. Also make sure that you've set up the boot flag "DropSSDT=y".

About the decompiler, it makes no difference. When you compile and decompile with iasl you get those Zeros and Ones.
Immo



yes I forgot to add DropSSDT to kernel flags, that might be the reason.
By the way the tutorial is great but why don't you use DSDT Patcher utility from Koala, it seems to do everything.

UPDATE : So I did what you said and now I have good resolution but USB works randomly and sleep/hibernate is broken.
immo
QUOTE (smartmobili @ Oct 19 2009, 03:06 PM) *
yes I forgot to add DropSSDT to kernel flags, that might be the reason.
By the way the tutorial is great but why don't you use DSDT Patcher utility from Koala, it seems to do everything.

UPDATE : So I did what you said and now I have good resolution but I don't have USB nor sleep/hibernate ...


Read the guide through. Your solution is there.

If you or anyone has tried the Koala patcher and it works as well/better please post your results.
smartmobili
QUOTE (immo @ Oct 19 2009, 08:52 PM) *
Read the guide through. Your solution is there.

If you or anyone has tried the Koala patcher and it works as well/better please post your results.


Arghh I thought Chrysaor's version was already including this fix but it wasn't the case.
However other fixes are available and from what I understand it should work with nothing more.
I will check again very carefully if there is not mistake in the DSDT.dsl/

UPDATE : I have checked and here is the results

DTGP Method is not under but above _WAK method but I imagine this is not important
EHC2 and EHCI are available
NVidia Injection available
HD Audio Patching available

Last thing to check is what kext is included and I will do it when back home.

UPDATE2: Here is my kext
drwxr-xr-x 3 vincent staff 102 4 sep 16:04 AppleACPIPS2Nub.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:30 ApplePS2Controller.kext
drwxr-xr-x@ 3 vincent staff 102 17 sep 17:55 IOATAFamily.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:49 NullCPUPowerManagement.kext
drwxr-xr-x 3 vincent staff 102 5 sep 00:31 VoodooBattery.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:34 VoodooHDA.kext
drwxr-xr-x 3 vincent staff 102 21 sep 23:43 VoodooTSCSync.kext
drwxr-xr-x 3 vincent staff 102 4 sep 16:04 fakesmc.kext

If you have any idea why shutdown/sleep/hibernate doesn't work please let me know
immo
QUOTE (smartmobili @ Oct 20 2009, 08:24 AM) *
UPDATE2: Here is my kext
drwxr-xr-x 3 vincent staff 102 4 sep 16:04 AppleACPIPS2Nub.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:30 ApplePS2Controller.kext
drwxr-xr-x@ 3 vincent staff 102 17 sep 17:55 IOATAFamily.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:49 NullCPUPowerManagement.kext
drwxr-xr-x 3 vincent staff 102 5 sep 00:31 VoodooBattery.kext
drwxr-xr-x 3 vincent staff 102 4 sep 22:34 VoodooHDA.kext
drwxr-xr-x 3 vincent staff 102 21 sep 23:43 VoodooTSCSync.kext
drwxr-xr-x 3 vincent staff 102 4 sep 16:04 fakesmc.kext

If you have any idea why shutdown/sleep/hibernate doesn't work please let me know


Remove NullCPUPowerManagement.kext. This kext blocks the vanilla speed stepping and power management functions. I'll update the first post to include this (the first post mentions another kext that does the same thing). I think you'll find that speed stepping will start to work once you remove this kext.

Shutdown has not worked for anyone on these machines to the best of my knowledge. It'll be big news once someone gets that to work.
jisare
hi guys, thanks to all on the effort.
However, I received an error "No match at -e line 1, <> line 873." when extracting ACPI under ubuntu 9.10 beta installed on my harddrive. I tried both sudo and root
alternatively, i've also extracted ACPI using everest under windows, then use iasl to decompile them and followed the guide to patch dsdt, but sleep / speedstep is broken.
I have a m1330 with cpu t6400 and x3100 for graphics.
Any help is sincerely appreciated.
smartmobili
QUOTE (jisare @ Oct 21 2009, 10:32 AM) *
hi guys, thanks to all on the effort.
However, I received an error "No match at -e line 1, <> line 873." when extracting ACPI under ubuntu 9.10 beta installed on my harddrive. I tried both sudo and root
alternatively, i've also extracted ACPI using everest under windows, then use iasl to decompile them and followed the guide to patch dsdt, but sleep / speedstep is broken.
I have a m1330 with cpu t6400 and x3100 for graphics.
Any help is sincerely appreciated.


I suppose it's due to a bad copy/paste.
About sleep and speedstep, see my posts and you should be able to find your errors ;-)
Check kernelf flags, kexts, permissions, ...
jisare
QUOTE (smartmobili @ Oct 21 2009, 09:50 AM) *
I suppose it's due to a bad copy/paste.
About sleep and speedstep, see my posts and you should be able to find your errors ;-)
Check kernelf flags, kexts, permissions, ...


Thank you for ur reply!
I have tried copy/paste more than 5 times, the result is the same. If it is because of bad copy/paste, how can I resolve it?
My other question is, are the acpi tables extracted under linux different from those extracted under windows and could this be the reason why sleep/speedstep don't work?
kernel flags: dropSSDT=Y
kexts:only left voodooHDA in S/L/E and some kexts from chameleon RC3 in E/E
permissions: I used kextutility to repair. In fact, I've also used diskutil but no avail.
Is the command dependant on version of perl?
jisare
update oct 22 2009, 4pm

sleep/speedstep work now! Thanks to all.
guess i should post my findings as well.

hardware: m1330, T6400, X3100

1. do not use ubuntu 9.10 beta to extract ACPI tables, the command given in this topic will produce an error
2. do not use everest under windows 7 to extract ACPI tables, only five SSDT will be extracted while there will be six if use ubuntu 9.04 liveCD
3. if you have x3100 as graphics, follow this post to avoid black screen http://www.insanelymac.com/forum/index.php...&p=1066381; discard the nvidia patch of course
4. attached is my working DSDT.aml, in case someone needs it.

New update! oct 22, 2009 10am

Sleep works with DSDT.aml patched from ACPI tables extracted under windows. Speed step doesn't. smbios.plist is set to macbook pro 5,1.
Attached is my DSDT.aml.
Anyone who could be kind enough to take a look for me?
sparrowdclxvi
QUOTE (immo @ Oct 6 2009, 04:32 AM) *
2. Under the "Tools" subfolder, copy "iasl" to the /sbin directory (this is the compiler/decompiler)

3. Decompile each of the required .aml files using the following command:
CODE
iasl -d [file.asl]

A [file].dsl file will be created in the same folder.


Take two. My first post seems to have disappeared! wacko.gif

I'm trying to use this guide to create a DSDT.aml file for my M1330. However, I seem to have hit a problem at the above step. It's probably me as I'm new to OS X/Linux but here goes.

When I try to run the above command, I get the following error:
root@alex-laptop:/# iasl -d SSDT_r1-PmRef-Cpu0Cst-3001-INTL-20050624.aml
-bash: /sbin/iasl: cannot execute binary file
root@alex-laptop:/# sudo iasl -d SSDT_r1-PmRef-Cpu0Cst-3001-INTL-20050624.aml
/sbin/iasl: 1: Syntax error: Unterminated quoted string

Any help greatly appreciated.

Thanks
immo
Hi all.

I have updated to Snow Leopard and learned a couple of new things, so I'll update the guide when I get the chance.

One thing that surprised me is that MSR Tools no longer seems to work! How do you guys verify that speed stepping is working without MSR Tools? Or is it actually working for you guys?

Immo
FMulder
QUOTE (immo @ Oct 23 2009, 12:16 AM) *
Hi all.

I have updated to Snow Leopard and learned a couple of new things, so I'll update the guide when I get the chance.

One thing that surprised me is that MSR Tools no longer seems to work! How do you guys verify that speed stepping is working without MSR Tools? Or is it actually working for you guys?

Immo


Hi immo, i'm currently using CoolBook and it works great for checking speedstep wink.gif
Do you have STAC9228 as audio controller? Do your internal speakers work? Mine are not working, I can hear sound only from frontal jacks...
immo
QUOTE (FMulder @ Oct 22 2009, 11:17 PM) *
Hi immo, i'm currently using CoolBook and it works great for checking speedstep wink.gif
Do you have STAC9228 as audio controller? Do your internal speakers work? Mine are not working, I can hear sound only from frontal jacks...


Coolbook works great thank you. Kinda miss MSR Tools though because it gave separate readouts for each core. I'll update the guide.

About the audio:
100% working. Internal mic too! Left jack works as headphone jack that cancels the speakers, and middle as line out that can be selected as an alternate output. Audio over HDMI does NOT work sad.gif

Use this VoodooHDA:
http://www.projectosx.com/forum/index.php?...ic=355&st=0

I've heard that AppleHDA conflicts with it, so I've removed it to be safe.

Only catch is that if it is enabled when you put your lappy to sleep, the sound will become VERY staticy when it wakes up. To work around this, use sleepwatcher to unload the kext on sleep, and reload it on wake up.
FMulder
QUOTE (immo @ Oct 23 2009, 02:10 AM) *


I already use that one, but nothing sad.gif thank you anyway
golden3159
EDIT: never mind, it was a very noob problem.

But I do have some questions here. What, exactly is supposed to work after this is done? I have done all the steps and here is a run down of what works and doesn't work:

Works:
USB
GFX
Sound (with Voodoo kext)
Webcam
Keyboard (works but is not recognized)
Battery (installed VodooBattery)

Doesn't work:
Speedstep
Bluetooth
Trackpad scrolling
Ethernet


This actually leads me to another question - I was under the impression that a properly made DSDT.aml would eliminiate the need for kexts. Isn't it supposed to make the hardware work with OSX? Specifically, I was wondering if the sound/battery should have at least worked with my modified kext. I'm not quire sure what went wrong with the speedstep, i'll have to give it another try. In fact, the only thing that really was fixed in my dsdt modification was the USB.

Question 2 : The only step I skipped was the following:
QUOTE
Required: Using DSDT Patcher to do Final Patches:
In the DSDT Patcher directory run the following command:


Do you think not using DSDT patcher was responsible for my problems? I thought that was just an optional tool to automatically apply fixes.

Question 3: I had to AppleIntelCPUPowerManagement (otherwise I got kernel panics). Did I do something wrong here?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.