Permette di ridurre la temperatura Usando lo Speedstep nativo del sistema (Appleintelcpupowermanagement.kext).
Necessario:
Update!
- 19-02-2011
corretto riconoscimento patch da applicare
sostituzione metodo DTGP con MCDP (codice migliore)
iniziato a inserire prima parte automatizzare la scelta del id da inserire
aggiunte opzioni -i e-z e mini help - 17-02-2011 Aggiunti SMBus fix e download automatico iasl in caso mancasse
Qua l'ultima versione aggiornata in tempo reale (possibili errori a ondate)
Qui invece uno zip con li ultime modifiche o aggiunte stabili
- Iaslme per de/compilare il file dsdt da modificare;
- TextEdit per modificare dsdt.dsl
- lspci per conoscere i nostri device id
OTTENERE DSDT.DSL
- DA Terminale postate questo codice:
perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }' - avrete un nuovo file dsdt.aml sul desktop
- Trascinate il file sull'icona di IaslMe e vi apparirà dsdt.dsl sul desktop
- Apritelo con un text editor per effettuare le patch
Prima cosa verificate se nel dsdt.dsl c'e questa parte (che serve per far funzionare le iniezioni tramite dsdt):
// New Method V1.3 – By Master Chief. USE: MCDP (Arg2, RefOf (Local0))\
Method (MCDP, 2, NotSerialized) {If (LEqual (Arg0, Zero)) /*Function index: 0*/\
{Return (Buffer (One) { 0x03 })} Return (DeRefOf (Arg1))}// Modified return value!\
Se non c'è aggiungetela prima dell'ultima parentesi grafa }Poi cercate nel vostro dsdt.dsl:
Name (_ADR, 0x001F0000)
E nella linea subito sotto incollate:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
/*SOSTITUIRE_CON_ID_VOLUTO*/
}
}, Local0)
MCDP (Arg2, RefOf (Local0))
Return (Local0)
}
Ora la parte importante, otteniamo il nostro device id da terminale con
lspci -nn
dopo aver installato il pacchetto lspci.
Quindi dobbiamo sceglierne uno il più simile possibile tra questi (cioè quelli riconosciuti da AppleLPC.kext):
INTEL :
pci8086,2811 -> 0x11, 0x28, 0x86, 0x80
pci8086,2815 -> 0x15, 0x28, 0x86, 0x80
pci8086,27b9 -> 0xb9, 0x27, 0x86, 0x80
pci8086,27bd -> 0xbd, 0x27, 0x86, 0x80
pci8086,2670 -> 0x70, 0x26, 0x86, 0x80
pci8086,8119 -> 0x19, 0x81, 0x86, 0x80
pci8086,2916 -> 0x16, 0x29, 0x86, 0x80
pci8086,3a18 -> 0x18, 0x3a, 0x86, 0x80
pci8086,3b00 -> 0x00, 0x3b, 0x86, 0x80
pci8086,3b01 -> 0x01, 0x3b, 0x86, 0x80
pci8086,3b02 -> 0x02, 0x3b, 0x86, 0x80
pci8086,3b09 -> 0x09, 0x3b, 0x86, 0x80
NVIDIA
pci10de,aac -> 0x0C, 0xAA, 0xDE, 0x10
pci10de,aae -> 0x0E, 0xAA, 0xDE, 0x10
pci10de,aaf -> 0x0F, 0xAA, 0xDE, 0x10
pci10de,d80 -> 0x80, 0x0d, 0xDE, 0x10
pci10de,d81 -> 0x81, 0x0d, 0xDE, 0x10
pci10de,d82 -> 0x82, 0x0d, 0xDE, 0x10
pci10de,d83 -> 0x83, 0x0d, 0xDE, 0x10
ad esempio per un LPC che ha come ID pci10de,aab useremo pci10de,aac
deciso che id vogliamo usare sostituiamo nella parte appena incollata nel dsdt
/*SOSTITUIRE_CON_ID_VOLUTO*/
con l'id che vogliamo iniettare ma scritto così:
0x0C, 0xAA, 0xDE, 0x10
Altro es. ID pciABCD,EFGH -> 0xGH 0xEF 0xCD 0xAB
COMPILAZIONE DSDT.AML
salvate dsdt.dsl e trascinatelo sull'icona di IaslMe, otterrete una cartella sessions con dentro un'altra cartella contenete il dsdt.aml compilato
Trascinate dsdt.aml in /Extra sostituendolo se già presente (avete già un backup vero?)
Riavviando dovrebbe venir caricato AppleLPC.kext
Usate da terminale
kextstat -k | grep LPC
per verificarlo, se non ottenete nulla vuol dire che non c'è nessun driver caricato e quindi LPC non è riconosciuto
Se viene riconosciuto il driver viene caricato e otteniamo un messaggio tipo:
76 0 0x5d4e4000 0x3000 0x2000 com.apple.driver.AppleLPC (1.4.12) <14 5 4 3>
I numeri posson cambiare l'importante è che com.apple.driver.AppleLPC sia visualizzato e quindi caricato
SPIEGAZIONE COMANDO:
kextstat -k | grep LPC
kextstat serve per visualizzare i kext caricati dal sistema, mentre grep cerca (nel risultato di kextstat che gli passiamo con il carattere "|") una linea che contenga LPC e se la trova la visualizza (-k serve per non includere info sul kernel che non ci interessano)



Sign In
Create Account
















