Toshiba P100 Serie ACPI-Fix ( Hitze Problem ) Ubuntu 8.04 , 8.10, 9.04, 9.10
ab Ubuntu 9.10 Beta funktioniert der Fix nicht immer oder nicht richtig (Danke K.R. für den Hinweis!): Der Patch ist zumindest bei meinem Notebook (Satellite P100-191) auch mit Ubuntu 9.10 noch notwendig, da der Grafiklüfter ansonsten nie einschaltet. Leider startet er aber mit dem Patch auch erst bei 125 Grad und stellt bei 110 Grad wieder ab, so dass das NB immer im oberen Temperaturbereich arbeitet.
Update Ubuntu 9.10: nach der De- und Neuinstallation des NVIDIA-Treibers funktioniert der Fix bei meinem Notebook (Satego P100-491) wieder problemlos.
z.B.: Satego P100-491 unter Ubuntu 9.10 ( Karmic Koala ) NVIDIA Geforce Go 7900 GS
Temperatur ohne den Fix: 80 – 100 C, Temperatur mit den Fix: max. 65 C.
- Schritt 1 Intel ASL installieren:
sudo apt-get install iasl
- Schritt 2 sichern, dekompilieren & editieren:
sudo cat /proc/acpi/dsdt > dsdt.dat iasl -d dsdt.dat cp dsdt.dsl dsdt.dsl.bak gedit dsdt.dsl
- suche nach _T_0 und ersetze es durch T_0
- suche nach _T_1 und ersetze es durch T_1
- suche nach _T_2 und ersetze es durch T_2
- suche nach _T_3 und ersetze es durch T_3
- suche nach _T_4 und ersetze es durch T_4
- suche nach _T_5 und ersetze es durch T_5
- suche nach _T_6 und ersetze es durch T_6
- suche nach _T_7 und ersetze es durch T_7
- suche nach *PNP0C14 und ersetze es durch PNP0C14
- suche nach Method (BTST, 0, NotSerialized) und füge Return(Package(0×02){0×00, 0×00}) hinzu. Siehe Code:
Method (BTST, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.KSWH, Local0)
XOr (Local0, 0x01, Local0)
Store (\_SB.PCI0.LPCB.EC0.BTHE, Local7)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (Local0)
{
ShiftLeft (Local7, 0x06, Local6)
ShiftLeft (Local7, 0x07, Local7)
Or (Local7, Local6, Local1)
Or (Local0, Local1, Local2)
Return (Local2)
}
Else
{
Return (Zero)
}
}
Return(Package(0x02){0x00, 0x00})
}
- suche nach Method (EVNT, 1, NotSerialized) und füge Return (Zero) hinzu. Siehe Code:
Method (EVNT, 1, NotSerialized)
{
While (VZOK)
{
If (LEqual (VZOK, 0x01))
{
Store (Arg0, VZOK)
Notify (\_SB.VALZ, 0x80)
Return (Zero)
}
Else
{
Sleep (0x05)
Return (Zero)
}
}
}
- Schritt 3 NVIDIA Lüfter Fix:
- suche nach Method (_REG, 2, NotSerialized) und füge, wie es im Code zu sehen ist, die Zeilen ein.
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, Local0)
If (Local0)
{
Store (0x01, ECOK)
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\TMOD, \_SB.PCI0.LPCB.EC0.TMOD)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
Else
{
Store (0x00, ECOK)
}
}
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
If (LEqual (OSYS, 0x07D6))
{
Store (One, \_SB.PCI0.LPCB.EC0.OSTP)
\_SB.PHSR (0x0D, 0x00)
}
Else
{
Store (Zero, \_SB.PCI0.LPCB.EC0.OSTP)
}
Store (0x03, \_SB.PCI0.LPCB.EC0.RG59)
Store (\_SB.CIRE, \_SB.PCI0.LPCB.EC0.CIRE)
Store (\_SB.PHSR (0x05, 0x00), DOFF)
Store (\_SB.PCI0.LPCB.EC0.ACDF, \PWRS)
If (LEqual (OSYS, 0x07D6))
{
Store (0x3C, \_SB.PCI0.LPCB.EC0.VTMP)
}
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
}
- Schritt 4 kompilieren & installieren:
iasl -tc dsdt.dsl
- es sollten jetzt keine Fehlermeldungen & Warnungen kommen! Nun ist die Datei dsdt.aml fertig.
- Diese Datei kopieren wir nach: /etc/initramfs-tools/ und achten dabei auf die Klein- & Großschreibung!!!
- Siehe Code.
sudo cp dsdt.aml /etc/initramfs-tools/DSDT.aml sudo dpkg-reconfigure linux-image-$(uname -r)
- Schritt 5 neustarten & testen! ;o)
- Schritt 6 sichern der Datei dsdt.dsl Das erspart die Schritte 2 & 3 nach der Neuinstallation.
- Alternative:
- Download meine dsdt.dsl ( Satego P100-491 Ubuntu 8.10, Kernel: 2.6.27-9 )
- es müssen nur die Schritte 1, 4 & 5 ausgeführt werden.
