Compaq 8510p ACPI Fan fix for Linux (OpenSUSE 11.1)
With this fix the fan is not constant blowing on linux.
We have to fix the temparature values to a new DSDT file and let the kernel use it. It realy works!!
** Copy the binary DSDT to your home directory:
# cat /proc/acpi/dsdt > /home/jim/dsdt.dat
** Disassemble the DSDT file (you just copied)
/usr/bin/iasl -d /home/jim/dsdt.dat
this tool produces a text file called: dsdt.dsl
** Edit the dsdt.dsl file and change the temperature values.
You can find then near row 14498 and change them to these values:
Name(xxx, Package(0x6)
{
0x64,
0x4b,
0x32,
0x1E,
0x14,
0x0
})
or when it is still not enough, you can use these:
Name(xxx, Package(0x6)
{
0x64,
0x4b,
0x23,
0x1E,
0x14,
0x0
})
** Compile the changed dsdt.dsl
./iasl -tc dsdt.dsl
this tool is producing a dsdt.aml. This file is going to be used by the kernel for the better values. For that you need a scipt. On OpenSuse 11.1 i needed to install the kernel sources.
** Install the kernel sources
** Use scrtipt to tell kernel to use that new .aml file:
# /usr/src/linux/Documentation/acpi # sh initramfs-add-dsdt.sh
initramfs-add-dsdt.sh: too few arguments
Usage: initramfs-add-dsdt.sh initrd-name.img DSDT-to-add.aml
Adds a DSDT file to an initrd (in initramfs format)
initrd-name.img: filename of the initrd in initramfs format
DSDT-to-add.aml: filename of the DSDT file to add
# cd /usr/src/linux/Documentation/acpi
# sh initramfs-add-dsdt.sh /boot/initrd-2.6.25.5-1.1-default /home/jim/DSDT.aml
** Reboot
We have to fix the temparature values to a new DSDT file and let the kernel use it. It realy works!!
** Copy the binary DSDT to your home directory:
# cat /proc/acpi/dsdt > /home/jim/dsdt.dat
** Disassemble the DSDT file (you just copied)
/usr/bin/iasl -d /home/jim/dsdt.dat
this tool produces a text file called: dsdt.dsl
** Edit the dsdt.dsl file and change the temperature values.
You can find then near row 14498 and change them to these values:
Name(xxx, Package(0x6)
{
0x64,
0x4b,
0x32,
0x1E,
0x14,
0x0
})
or when it is still not enough, you can use these:
Name(xxx, Package(0x6)
{
0x64,
0x4b,
0x23,
0x1E,
0x14,
0x0
})
** Compile the changed dsdt.dsl
./iasl -tc dsdt.dsl
this tool is producing a dsdt.aml. This file is going to be used by the kernel for the better values. For that you need a scipt. On OpenSuse 11.1 i needed to install the kernel sources.
** Install the kernel sources
** Use scrtipt to tell kernel to use that new .aml file:
# /usr/src/linux/Documentation/acpi # sh initramfs-add-dsdt.sh
initramfs-add-dsdt.sh: too few arguments
Usage: initramfs-add-dsdt.sh initrd-name.img DSDT-to-add.aml
Adds a DSDT file to an initrd (in initramfs format)
initrd-name.img: filename of the initrd in initramfs format
DSDT-to-add.aml: filename of the DSDT file to add
# cd /usr/src/linux/Documentation/acpi
# sh initramfs-add-dsdt.sh /boot/initrd-2.6.25.5-1.1-default /home/jim/DSDT.aml
** Reboot
Comments
Post a Comment