Distribution: Gentoo Problem Description: There are no C-States available for the processor (AMD Turion X2 1600mhz, on ASUS A6Tc laptop). There must be also other power management bugs, because temperature is 10-15 higher than in windows even with reduced clock, and there are also various ACPI bugs in the dmesg. You can download the logs (dmesg, acpidump, ecc) here: http://www.failed.it/crono/acpilogs.tar.gz Steps to reproduce: cd /proc/acpi/processor/cpu1 cat info processor id: 0 acpi id: 1 bus mastering control: yes power management: no throttling control: yes limit interface: yes cat power active state: C1 max_cstate: C8 bus master activity: 00000000 states: *C1: type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000] --------------------------
Please #echo 0x1f >/proc/acpi/debug_level then insmod processor.ko again and attach the dmesg. :) To Bob: There is something strange when I was trying to get DSDT. ACPI Error(psloop-0268): Found unknown opcode FD at AML address 0x58827c, offset 5BA8, ignoring.... could you help me verify what the problem is please? :)
We have seen this before, it is caused by the BIOS incorrectly fussing with the DSDT on the fly. We don't have a workaround, at least yet.
(I have exactly the same problems on my Asus A6Tc.) > Please > #echo 0x1f >/proc/acpi/debug_level > then insmod processor.ko again > and attach the dmesg. :) <pre> scan-0516 [00] bus_driver_init : Driver successfully bound to device acpi_processor-0437 [00] processor_get_info : Bus mastering arbitration control present acpi_processor-0487 [00] processor_get_info : Processor [0:1] acpi_utils-0288 [00] evaluate_integer : Return value [0] acpi_processor-0180 [00] processor_get_throttli: pblk_address[0x00000510] duty_offset[1] duty_width[3] acpi_processor-0227 [00] processor_get_throttli: Found 8 throttling states acpi_processor-0093 [00] processor_get_throttli: Throttling state is T0 (0% throttling applied) nsutils-0876 [03] ns_get_node : _CST, AE_NOT_FOUND acpi_processor-0666 [00] processor_get_power_in: No _CST, giving up acpi_processor-0622 [00] processor_get_power_in: lvl2[0x00000514] lvl3 [0x00000515] acpi_processor-0788 [00] processor_power_verify: latency too large [101] acpi_processor-0817 [00] processor_power_verify: latency too large [1001] ACPI: Processor [CPU1] (supports 8 throttling states) scan-0558 [00] driver_attach : Found driver [ACPI Processor Driver] for device [CPU1] scan-0516 [00] bus_driver_init : Driver successfully bound to device acpi_processor-0437 [00] processor_get_info : Bus mastering arbitration control present acpi_processor-0487 [00] processor_get_info : Processor [1:2] acpi_processor-0490 [00] processor_get_info : No PBLK (NULL address) acpi_utils-0288 [00] evaluate_integer : Return value [0] acpi_processor-0180 [00] processor_get_throttli: pblk_address[0x00000000] duty_offset[0] duty_width[0] acpi_processor-0188 [00] processor_get_throttli: No throttling register nsutils-0876 [03] ns_get_node : _CST, AE_NOT_FOUND acpi_processor-0666 [00] processor_get_power_in: No _CST, giving up scan-0558 [00] driver_attach : Found driver [ACPI Processor Driver] for device [CPU2] </pre>
Look at http://gentoo-wiki.com/HARDWARE_Asus_A6T. "There is still no support for C-States on A6Tc, thus there are no hlt instructions on idle cycles. That's why the cpu runs constantly at higher temperatures than in Windows." I incline to this from what I've gotten from the ACPIDUMP and Dmesg. Maybe you can check if there is a bios update. :)
>ACPI Error(psloop-0268): > Found unknown opcode FD at AML address 0x58827c, > offset 5BA8, ignoring.... On my laptop, I have : ACPI Error (psloop-0268): Found unknown opcode FD at AML address 0x58a3ac offset 5BA8, ignoring [20060912] ACPI Error (psloop-0268): Found unknown opcode FD at AML address 0x58a45b offset 5C57, ignoring [20060912] and the errors are located in the _PSD objects (1 per CPU). Partial hexdump of my dsdt: 00005BB0 08 5F 50 50 43 0A 00 08 5F 50 53 44 12 0F 01 12 ._PPC..._PSD.... 00005BC0 15 05 0A 05 0A 00 0C 00 00 00 00 0C FD 00 00 00 ................ 00005BD0 0C 02 00 00 00 10 4E 0A 5C 2E 5F 50 52 5F 43 50 ......N.\._PR_CP The faulty byte is the one at 0x5BBD, i.e. the length of a Package object. The length of _PSD is not 0xF but 0x18. The dsdt decompiles to: Name (_PSD, Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FD } }) Zero Zero Zero 0x00000002 If we replace 0xF by 0x18, there is no more error and we have a valid _PSD: Name (_PSD, Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FD, 0x00000002 } }) The same thing must be done for the second cpu. Understanding this is interesting because it allows me to recompile (customize) my dsdt: that's a first step to make things better. Unfortunately, all that is about P-States (useless with powernowk8). Not C-states. Do we suppose that C-States are available under Windows ? Is it possible if there's no _CST in the dsdt ??
Hi, first of all thanks for the effort! How do you fix the error in line 6215: Return (Stall (0x0F)) ^Syntax error, unexpected PARSEOP_STALL ? Should it be out of the ()? I also noticed that there's nothing about _CST, maybe the high temperatures are due to the graphic card (nvidia drivers without the cool-thing support?), and the /proc/acpi/processor/cpu1 informations are random.
>Should it be out of the ()? Yes: Stall (0x0F) Return () And for the last error: -Name (_HID, "*pnp0c14") +Name (_HID, EisaId ("PNP0C14")) But I don't know what PNP0C14 is (Windows Management Interface for ACPI?) so I can't tell if that the best way to fix this error.
Since the ACPI Spec revision 3.0a the Return ASL operator definition more exactly says, that "if no Arg object is specified, a Return(Zero) is generated by the ASL compiler". The iASL compiler implements this feature since the 20050309 release. The previous iASL releases were generating no any return value in that case. That old AML code can not be disassembled properly resulting in incorrect ASL expressions like If (LEqual (Local2, 0x00)) { Return (Stall (0x0F)) } It looks like the original ASL code was the following: If (LEqual (Local2, 0x00)) { Return () } Stall (0x0F)
AMD SMP machines do not support C2/C3. BIOS enters an enhanced C1E mode if all cores are set to C1. -> Assigning to myself for closing. Because of high temps: Does this one have an ATI graphics card? Maybe it helps for you to use the fglrx driver. You can even decrease power consumption by using aticonfig --set-powerstate=2 (or even 1, 1 froze for me on a specific card, it might work for you). This setting might be especially helpful when working on battery... You might want to mail me privately whether it helped.