The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    editing the acpi on a lenovo y560

    Discussion in 'Lenovo' started by lenovoy560acpi, Dec 21, 2010.

  1. lenovoy560acpi

    lenovoy560acpi Newbie

    Reputations:
    0
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    5
    * i need help editing the dsdt so anyone who knows how to read and edit the dsdt might be able to help me.

    I have a lenovo y560(labtop). ive done everything i can to reduce power consumption. ive used throttlestop (which works but doesnt lower the tdp) and atitool(but atitool doesnt recognize it. i came across a moral hazard acpi tutorial so i used it to dump the dsdt.asl. On my lenovo y560, using the intel asl compiler in that thread i kept getting errors.

    first error:

    If(PICM)
    {
    Return(AR00()) //changed to ar0 (fixed error)
    }
    Return(PR00())


    Method(_DOS, 0x1, NotSerialized)
    {
    Store(And(Arg0, 0x7, ), DSEN)
    If(LEqual(And(Arg0, 0x3, ), Zero))
    {
    If(CondRefOf(HDOS, )) //unfixable error: cant analyze super variable
    {
    HDOS
    }
    }
    }
    so i upgraded to the latest intel compiler and used acpixtract to dump the acpi.

    error looks like this: acpixtract -s dsdt.dat (error: cannot open dsdt.dat)

    I dualbooted xp and windows 7 and still got cant open dsdt.dat.

    I dont understand how I could get an error in the dsdt. Wouldnt the computer have problems running with a corrupt dsdt.

    additional information:

    configuration:
    acpi/ide harddrive
    i7 740qm
    windows 7 premium lenovo enhanced 64 bit

    acpi p states:
    1.73 ghz 0.800 volts 45 tdp

    900(approx) 0.800 volts 25 tdp (approx) (not seeing much of an increase in battery life in throttlestop)(so i dont think
    its using this p state when underclocked)

    asl errors:

    ln 3416 Ar00 is not a method(Ar0), Pr00 is not a method(Pr0)
    ln 3961 0x6f missing parenthesis
    ln 3971 if Cond Ref of Hdos error: expecting argument type supername
    fixed: If(CondRefOf(HDOS, HDOS )
    ln 3974 error: expecting symbol
    fixed _dod
    Method(_DOD, 0x0, NotSerialized)
    {
    If(CondRefOf(IDAB, IDAB ))
    {
    If (IDAB ("IDAB") )
    {
    IDAB
    }
    Else
    {
     

    Attached Files:

  2. Renee

    Renee Notebook Virtuoso

    Reputations:
    610
    Messages:
    2,645
    Likes Received:
    0
    Trophy Points:
    55
    "i cant get open dsdt.dat."

    How does it fail? What's the error message?

    Renee
     
  3. lenovoy560acpi

    lenovoy560acpi Newbie

    Reputations:
    0
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    5
    with acpixtract on a lenovo y560(64 bit) you get the error when trying to dump the dsdt. you can name the file whatever you want.
     
  4. User Retired 2

    User Retired 2 Notebook Nobel Laureate NBR Reviewer

    Reputations:
    4,127
    Messages:
    7,860
    Likes Received:
    10
    Trophy Points:
    0
    deleted comments on how to minimise power consumption as per next post request.
     
  5. lenovoy560acpi

    lenovoy560acpi Newbie

    Reputations:
    0
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    5
    please only post if you know how to solve this problem (edit a dsdt table). Maybe you think i should install linux that kind of thing.
    edit: thank you nando
     
  6. lenovoy560acpi

    lenovoy560acpi Newbie

    Reputations:
    0
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    5
    lenovo y560 dsdt.asl 3.0 aspi compliant (freezes on flash) (needs editing) (for editing purposes only) (do not use)
     

    Attached Files:

  7. kizwan

    kizwan Lord Pringles

    Reputations:
    1,502
    Messages:
    3,229
    Likes Received:
    10
    Trophy Points:
    106
    The original DSDT (ACPI table which is part of BIOS) is compiled using older IASL/ASL compiler. OR compiled using manufacturer's proprietary compiler. Newer compiler will detect new error, according to latest ACPI specification. Your lenovo's DSDT obviously follow older ACPI specification. The DSDT is not corrupted. You can compiled the DSDT using newer compiler, just need to correct the errors.

    If you have problem using acpixtract to dump the DSDT, you can use Everest (not free version) to dump ACPI tables. Other alternative is by using DSDT Editor. Don't ask help there since they have different objectives. You can dump DSDT using DSDT Editor. You can edit & compile DSDT with it too.
    If you want to modify the P-States, you'll need to look into SSDT tables.

    I just compiled your DSDT (downloaded from the first post) with IASL compiler:-
    1) decompiled DSDT.aml with IASL
    2) compiled using DSDT Editor - found two errors & three warnings
    Line 3621 - Error - Invalid combination of Length and Min/Max fixed flags
    Code:
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0xFEAFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)
    Line 3628 - Error - Invalid combination of Length and Min/Max fixed flags
    Code:
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0xFED40000,         // Range Minimum
                        0xFED44FFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)
    FIX - just need to calculate the Length using this formula (in HEX):-
    Code:
    Length = Range Maximum - Range Minimum + 1
    Other common errors & fixes when compiling DSDT with IASL.

    You can use either Intel's IASL or Microsoft's ASL compiler to compile DSDT. If you decompiled DSDT with ASL, you'll need to compiled it with ASL too. Same thing if you use IASL.

    This is your DSDT, I already fixed it (test compile using IASL compiler).
     

    Attached Files:

  8. lenovoy560acpi

    lenovoy560acpi Newbie

    Reputations:
    0
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    5
    amazing work. It has to be my favorite all time forum post