Compiling errors with iasl

Discussion in 'DSDT' started by cryptbear, Dec 12, 2014.

  1. cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Dec 12, 2014 at 12:38 PM #1
    cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Hello!

    I'm trying to get the dsl files from my laptop.

    What I did:

    1) Boot from Ubuntu Live USB
    2) Open Terminal
    3) sudo acpidump > acpidata.out
    4) acpixtract -sSSDT acpidata.out
    5) acpixtract -sDSDT acpidata.out
    6) iasl -da dsdt.dat ssdt*.dat

    I don't know why in dsdt.dsl, ssdt1.dsl, ssdt4.dsl i get errors like this:

    iASL Warning: There were 18 external control methods found during

    disassembly, but only 11 were resolved (7 unresolved). Additional

    ACPI tables may be required to properly disassemble the code. The

    resulting disassembler output file may not compile because the

    disassembler did not know how many arguments to assign to the

    unresolved methods.




    If necessary, the -fe option can be used to specify a file containing

    control method external declarations with the associated method

    argument counts. Each line of the file must be of the form:

    External (<method pathname>, MethodObj, <argument count>)

    Invocation:

    iasl -fe refs.txt -d dsdt.aml


    My laptop is a HP Envy 15-j101el.

    I tried to update the BIOS and redo the process. But the errors remained. At the moment i have the BIOS version F.63

    I tried some different version of iasl, but with no success.

    Can anybody explain me what I'm doing wrong?

    I attached the original ACPI tables (dsdt and ssdt* only) taken from ubuntu.

    Thank you in advance!
     

    Attached Files:

  2. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Dec 12, 2014 at 3:47 PM #2
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    You will get a better disassembly if you disassemble all at once...

    You will need to extract all DSDT/SSDT from Linux. They are available in /sys/firmware/acpi/tables and /sys/firmware/acpi/tables/dynamic. Place them on USB or otherwise transfer to OS X.

    It is not necessary to install Linux. Simply run it from USB: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows

    In Linux Terminal:
    Code (Text):

    # substitute DEST with the mountpoint of a FAT32 formatted USB stick
    sudo cp -R /sys/firmware/acpi/tables DEST
     
    Place all SSDT/DSDT in a single directory (rename them to *.aml as you move them) and use a recent build of iasl to disassemble:
    https://bitbucket.org/RehabMan/acpica/downloads
    Code (Text):

    cd "to directory where you placed all SSDT/DSDT"
    iasl -da -dl *.aml
     
    Then work with the resulting *.dsl. You'll find you have less errors to deal with.
     
  3. cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Dec 12, 2014 at 6:06 PM #3
    cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Thank you for the response!

    I also have tried this method before and your latest iasl from 2014-11-13. The result is exactly the same. To be sure I retried the same procedure for another time, but the result is always the same.

    DDST.aml, SSDT1.aml and SSDT4.aml are having compiling problems:

    DSDT.aml
    iASL Warning: There were 18 external control methods found during
    disassembly, but only 11 were resolved (7 unresolved).

    SSDT1.aml
    iASL Warning: There were 4 external control methods found during
    disassembly, but only 2 were resolved (2 unresolved).

    SSDT4.aml
    iASL Warning: There were 7 external control methods found during
    disassembly, but only 4 were resolved (3 unresolved).



    The other tables don't have errors.

    Also the .dsl files in MaciASL show me the same number of errors, warnings, remarks and optimizations.

    I attached the complete tables folder and the AML folder I used to disassemble

    Laptop model:
    HP envy 15-j101el

    View attachment 117786 View attachment ACPI tables with cp command.zip

    Any clue what I can try to do?
     
  4. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Dec 12, 2014 at 10:08 PM #4
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    It is normal. Some methods are defined in Windows or are not defined at all and thus not available to the disassembler.
     
  5. cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Dec 12, 2014 at 11:31 PM #5
    cryptbear

    cryptbear

    Joined:
    Jan 31, 2014
    Messages:
    12
    Mobo:
    HP Envy 15 j-101el (Clover)
    CPU:
    Intel Core i7-4700MQ (2.40 / 3.40 GHz, 4 core, 6 MB CACHE L3)
    Graphics:
    Intel HD Graphics 4600 + NVIDIA GeForce GT 740M 2 GB DDR3, 1366x768
    Thank you very much for the information! :thumbup:
     
  6. coloradoblues

    coloradoblues

    Joined:
    Feb 10, 2018
    Messages:
    1
    Feb 10, 2018 at 4:13 PM #6
    coloradoblues

    coloradoblues

    Joined:
    Feb 10, 2018
    Messages:
    1
    Hello,
    I will try to make suspend/resume working (I know that is a long way)
    and now I try to make DSDT.asl syntax free.
    What is wrong with these lines? To remove any noise, this is only the relevant part from DSDT.asl.

    Code (Text):

    DefinitionBlock ("test.aml", "DSDT", 1, "OEMID ", "TABLEID  ", 0x00000000)
    {
        Scope (_SB)
        {
            Device (PCI0)
            {
                Name (_HID, EisaId ("PNP0A03"))
                //Zero
                //Zero
                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    RefOf (\_SB.PCI0.LPCB.H_EC.PLMX) = \_SB.PCI0.LPCB.H_EC.ECRD /* External reference */
                    Local0
                    Local0 = (0x0AAC + (Local0 * 0x0A))
                    PTMP = Local0
                    Return (Local0)
                }
            }
        }
    }
     
    $ iasl -n test2.asl
    Compiler aborting due to parser-detected syntax error(s)
    test2.asl 14: Local0 = (0x0AAC + (Local0 * 0x0A))
    Error 6126 - syntax error ^

    Thanks, Attila
     
    Last edited: Feb 10, 2018
  7. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Feb 10, 2018 at 4:35 PM #7
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    170,047
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    See guide for correct tools and disassembly procedures:
    https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
     

Share This Page