Contribute
Register

[solved] [DSDT/SSDT] syntax err: unexpected PARSEOP_NAMESEG

Status
Not open for further replies.
Joined
Sep 26, 2012
Messages
79
Motherboard
GA-Z77X-UD5H / HP ProBook 4740s
CPU
i7 3770
Graphics
Radeon R9 290X
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. iOS
Hello everybody,

I'm currently patching a DSDT w/ corresponding SSDTs for an ASUS N750JK (it is not for myself). The system information is as follows:
- Intel® Core™ i7 4700HQ Processor
- Intel® HM86 Express Chipset
- Intel® HD Graphics 4600
- Nvidia GeForce GTX 850M (switching technology)
- Realtek RTL8188CU wireless LAN 802.11n -> replaced with BCM43xx w/ BT 4.0 combo.
- Realtek PCIe GBE ethernet controller
- Realtek PCIE CardReader

There are 8 SSDTs extracted by using a Linux bootable disk, of which the last one (number 8) was in the dynamic folder on the Linux boot. I did include SSDT8 with decompiling as I thought it may help solving some external references (I couldn't find it in the guide exactly whether you'd need to in/exclude the dynamic ones with disassembly, but I included it anyway). So, after that I checked each file for what I think it's 'main purpose' is and SSDT7 is AFAIK mainly responsible for some graphics handling (GFX0 and PEG).

So far I followed the DSDT/SSDT patching guide by Rehabman and extracted everything from Linux (as you could read previously). Also installed latest MacIASL App and CLI binaries from Rehabman's repositories today (support for ACPI 6 spec). Some errors were resolved by using this latest v6.

I've been able to get the DSDT and all SSDTs error-free as that is my first step before I'm starting to patch 'em. However, in SSDT7 is a method and I get a syntax error there (PARSEOP_NAMESEG). The bit I'm referring to is this:
Code:
Method (WMMX, 3, NotSerialized)
{
    CreateDWordField (Arg2, Zero, FUNC)
    If (LEqual (FUNC, 0x534F525F))
    {
        If (LGreaterEqual (SizeOf (Arg2), 0x08))
        {
            CreateDWordField (Arg2, 0x04, ARGS)
            CreateDWordField (Arg2, 0x08, XARG)
            Return (\_SB.PCI0.PEG0.PEGP._ROM (ARGS, XARG))
        }
     }


    If (LEqual (FUNC, 0x4D53445F))
    {
        If (LGreaterEqual (SizeOf (Arg2), 0x1C))
        {
            CreateField (Arg2, Zero, 0x80, MUID)
            CreateDWordField (Arg2, 0x10, REVI)
            CreateDWordField (Arg2, 0x14, SFNC)
            CreateField (Arg2, 0xE0, 0x20, XRG0)
            If (CondRefOf (\_SB.PCI0.GFX0._DSM))
            {
                Return (\_SB.PCI0.GFX0._DSM)
                MUID
                REVI    // This is the problematic line.
                SFNC
                XRG0
            }
        }
    }

    Return (Zero)
}

Thus, the question: What do I need to do to fix the error? I have included all files in a zip, attached to this post, just in case the code snippet is not enough.

In the file are 3 sets:
- Extracted -> raw files from the Linux.
- Decompiled -> the decompiled files from the extracted folder.
- Patched -> patched decompiled files.

Hope somebody can help me with this.
 

Attachments

  • DSDT & SSDTs.zip
    263.9 KB · Views: 181
[DSDT/SSDT] syntax err: unexpected PARSEOP_NAMESEG

I guess I fixed it. I applied the [gfx0] Cleanup/Fix Errors (SSDT) patch from Rehabman's laptop patch repository. Now there are no more errors.
 
[DSDT/SSDT] syntax err: unexpected PARSEOP_NAMESEG

I guess I fixed it. I applied the [gfx0] Cleanup/Fix Errors (SSDT) patch from Rehabman's laptop patch repository. Now there are no more errors.

Marked solved.
 
@Wcool93
Could you please more specific about which patch you used to resolve this error?
I am receiving the same error on one of my SSDTs, and I believe not being able to patch that SSDT with the PNLF patches is preventing me from being able to control monitor brightness.

The line I am getting the error on is "REVI" under "Return (\_SB.PCI0.GFX0._DSM)".


Attached is the SSDT which has been disassembled using the "iasl -da -dl -fe refs.txt *.aml" command


Code:
    Scope (\_SB.PCI0)
    {
        Device (WMI1)
        {
            Name (_HID, "PNP0C14")  // _HID: Hardware ID
            Name (_UID, "OPT1")  // _UID: Unique ID
            Name (_WDG, Buffer (0x14)
            {
                /* 0000 */  0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,
                /* 0008 */  0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,
                /* 0010 */  0x4D, 0x58, 0x01, 0x02                        
            })
            Method (WMMX, 3, NotSerialized)
            {
                CreateDWordField (Arg2, Zero, FUNC)
                If (LEqual (FUNC, 0x534F525F))
                {
                    If (LGreaterEqual (SizeOf (Arg2), 0x08))
                    {
                        CreateDWordField (Arg2, 0x04, ARGS)
                        CreateDWordField (Arg2, 0x08, XARG)
                        Return (\_SB.PCI0.PEG0.PEGP._ROM (ARGS, XARG))
                    }
                }

                If (LEqual (FUNC, 0x4D53445F))
                {
                    If (LGreaterEqual (SizeOf (Arg2), 0x1C))
                    {
                        CreateField (Arg2, Zero, 0x80, MUID)
                        CreateDWordField (Arg2, 0x10, REVI)
                        CreateDWordField (Arg2, 0x14, SFNC)
                        CreateField (Arg2, 0xE0, 0x20, XRG0)
                        If (CondRefOf (\_SB.PCI0.GFX0._DSM))
                        {
                            Return (\_SB.PCI0.GFX0._DSM)
                            MUID
                            REVI
                            SFNC
                            XRG0
                        }
                    }
                }

                Return (Zero)
            }
        }
    }
}





Thanks!
 

Attachments

  • SSDT-11.dsl
    35.9 KB · Views: 349
@Wcool93
Could you please more specific about which patch you used to resolve this error?
I am receiving the same error on one of my SSDTs, and I believe not being able to patch that SSDT with the PNLF patches is preventing me from being able to control monitor brightness.

The line I am getting the error on is "REVI" under "Return (\_SB.PCI0.GFX0._DSM)".


Attached is the SSDT which has been disassembled using the "iasl -da -dl -fe refs.txt *.aml" command


Code:
    Scope (\_SB.PCI0)
    {
        Device (WMI1)
        {
            Name (_HID, "PNP0C14")  // _HID: Hardware ID
            Name (_UID, "OPT1")  // _UID: Unique ID
            Name (_WDG, Buffer (0x14)
            {
                /* 0000 */  0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,
                /* 0008 */  0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,
                /* 0010 */  0x4D, 0x58, 0x01, 0x02                       
            })
            Method (WMMX, 3, NotSerialized)
            {
                CreateDWordField (Arg2, Zero, FUNC)
                If (LEqual (FUNC, 0x534F525F))
                {
                    If (LGreaterEqual (SizeOf (Arg2), 0x08))
                    {
                        CreateDWordField (Arg2, 0x04, ARGS)
                        CreateDWordField (Arg2, 0x08, XARG)
                        Return (\_SB.PCI0.PEG0.PEGP._ROM (ARGS, XARG))
                    }
                }

                If (LEqual (FUNC, 0x4D53445F))
                {
                    If (LGreaterEqual (SizeOf (Arg2), 0x1C))
                    {
                        CreateField (Arg2, Zero, 0x80, MUID)
                        CreateDWordField (Arg2, 0x10, REVI)
                        CreateDWordField (Arg2, 0x14, SFNC)
                        CreateField (Arg2, 0xE0, 0x20, XRG0)
                        If (CondRefOf (\_SB.PCI0.GFX0._DSM))
                        {
                            Return (\_SB.PCI0.GFX0._DSM)
                            MUID
                            REVI
                            SFNC
                            XRG0
                        }
                    }
                }

                Return (Zero)
            }
        }
    }
}





Thanks!

Apply "Fix/Cleanup Errors [SSDT]" from my laptop repo.

But you don't need to patch SSDTs for brightness control. As per guide, you need only "Brightness Fix" to DSDT + IntelBacklight.kext.
 
Thank you very much for the quick reply @RehabMan !
I very much appreciate all of the work you have put into helping us all! I have relied heavily on the documentation and patches you have provided.

I didn't see the patch you referred to, but I had dowloaded the patches to my laptop rather than added as a repo to MaciASL.
So, I added it your GitHub as a repo to MaciASL and was able to find it.
I applied it, and now it compiles correctly!

Now I am going to see if having that patched fixes my brightness issue. If not, I am going to try and track down that IntelBacklight.kext.
I am currently using the APCIBacklight.kext.
 
Haha, I read through that guide a few times, and completely overlooked the IntelBacklight kext portion...

I am going to reapply all of my patches now, and see if that will work.

Thanks!
 
[DSDT/SSDT] syntax err: unexpected PARSEOP_NAMESEG



Marked solved.

I'm currently having this 15293, 6126, syntax error, unexpected PARSEOP_NAMESEG, expecting '(' error, the problem is that the patch that is mentioned here as solution, is for SSDT and I'm working with an DSDT...
 
Status
Not open for further replies.
Back
Top